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(8, 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()