feat: implement definition-aware forms runtime

This commit is contained in:
2026-08-01 17:48:35 +02:00
parent 396d6b0c90
commit 9dc49fe27b
25 changed files with 4180 additions and 79 deletions
+31 -11
View File
@@ -2,22 +2,42 @@ from __future__ import annotations
import unittest
from govoplan_forms_runtime.backend.manifest import ADMIN_SCOPE, READ_SCOPE, WRITE_SCOPE, get_manifest
from govoplan_forms_runtime.backend.manifest import (
ADMIN_SCOPE,
PARTICIPATE_SCOPE,
READ_SCOPE,
WRITE_SCOPE,
get_manifest,
)
class ManifestSeedTests(unittest.TestCase):
def test_manifest_registers_seed_contract(self) -> None:
class ManifestTests(unittest.TestCase):
def test_manifest_registers_definition_aware_runtime(self) -> None:
manifest = get_manifest()
self.assertEqual(manifest.id, "forms_runtime")
self.assertEqual(manifest.name, "Forms Runtime")
self.assertEqual(manifest.dependencies, ("access",))
self.assertEqual({permission.scope for permission in manifest.permissions}, {READ_SCOPE, WRITE_SCOPE, ADMIN_SCOPE})
self.assertEqual({role.slug for role in manifest.role_templates}, {"forms_runtime_manager", "forms_runtime_viewer"})
self.assertTrue(manifest.documentation)
self.assertIsNone(manifest.route_factory)
self.assertIsNone(manifest.migration_spec)
self.assertIsNone(manifest.frontend)
self.assertEqual(manifest.dependencies, ("access", "forms"))
self.assertEqual(
{permission.scope for permission in manifest.permissions},
{PARTICIPATE_SCOPE, READ_SCOPE, WRITE_SCOPE, ADMIN_SCOPE},
)
participant = next(
item
for item in manifest.role_templates
if item.slug == "forms_runtime_participant"
)
self.assertTrue(participant.default_authenticated)
self.assertIsNotNone(manifest.route_factory)
self.assertIsNotNone(manifest.migration_spec)
self.assertIsNotNone(manifest.frontend)
self.assertIn(
"forms_runtime.service_launcher",
manifest.capability_factories,
)
self.assertEqual(
"@govoplan/forms-runtime-webui",
manifest.frontend.package_name if manifest.frontend else None,
)
if __name__ == "__main__":