from __future__ import annotations import unittest from govoplan_workflow.backend.manifest import get_manifest class WorkflowManifestTests(unittest.TestCase): def test_manifest_is_an_editor_only_engine_client(self) -> None: manifest = get_manifest() self.assertEqual("workflow", manifest.id) self.assertEqual(("workflow_engine",), manifest.dependencies) self.assertEqual( {"workflow.definition_graph", "workflow.definition_catalogue", "workflow.bpmn_interchange"}, {item.name for item in manifest.requires_interfaces}, ) self.assertIn( "workflow.editor", {item.name for item in manifest.provides_interfaces}, ) self.assertEqual((), manifest.permissions) self.assertIsNone(manifest.route_factory) self.assertIsNone(manifest.migration_spec) self.assertEqual({}, manifest.capability_factories) self.assertEqual( "@govoplan/workflow-webui", manifest.frontend.package_name if manifest.frontend else None, ) if __name__ == "__main__": unittest.main()