34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
from __future__ import annotations
|
|
|
|
import unittest
|
|
|
|
from govoplan_reporting.backend.manifest import get_manifest
|
|
|
|
|
|
class ReportingManifestTests(unittest.TestCase):
|
|
def test_manifest_exposes_the_governed_reporting_vertical(self) -> None:
|
|
manifest = get_manifest()
|
|
|
|
self.assertEqual("reporting", manifest.id)
|
|
self.assertEqual("vertical_slice", manifest.architecture.maturity)
|
|
self.assertEqual("@govoplan/reporting-webui", manifest.frontend.package_name)
|
|
self.assertIsNotNone(manifest.route_factory)
|
|
self.assertIsNotNone(manifest.migration_spec)
|
|
self.assertEqual(7, len(manifest.provides_interfaces))
|
|
self.assertEqual(1, len(manifest.search_sources))
|
|
self.assertIn("dataflow", manifest.optional_dependencies)
|
|
self.assertIn("policy", manifest.optional_dependencies)
|
|
self.assertEqual("/reports", manifest.nav_items[0].path)
|
|
self.assertEqual(
|
|
{"/reports", "/reporting"},
|
|
{route.path for route in manifest.frontend.routes},
|
|
)
|
|
self.assertIn(
|
|
"report execution and publication evidence",
|
|
manifest.architecture.owned_concepts,
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|