docs(scheduling): complete German reference coverage
Module Package Release / publish-packages (push) Successful in 12s

This commit is contained in:
2026-08-23 20:11:47 +02:00
parent 0fd297231b
commit 118fe395b0
6 changed files with 367 additions and 52 deletions
+57 -12
View File
@@ -7,6 +7,19 @@ from govoplan_scheduling.backend.manifest import get_manifest
class SchedulingManifestTests(unittest.TestCase):
def test_all_static_topics_have_complete_german_content(self) -> None:
manifest = get_manifest()
for topic in manifest.documentation:
german = (topic.translations or {}).get("de", {})
self.assertEqual(
{"title", "summary", "body"},
set(german),
topic.id,
)
self.assertTrue(
all(str(value).strip() for value in german.values()), topic.id
)
def test_manifest_contract(self) -> None:
manifest = get_manifest()
@@ -24,7 +37,9 @@ class SchedulingManifestTests(unittest.TestCase):
self.assertIn("auth.principalResolver", manifest.optional_capabilities)
self.assertIn("poll.scheduling", manifest.required_capabilities)
self.assertIn("calendar.scheduling", manifest.optional_capabilities)
self.assertIn("policy.schedulingParticipantPrivacy", manifest.optional_capabilities)
self.assertIn(
"policy.schedulingParticipantPrivacy", manifest.optional_capabilities
)
self.assertIn("access.people_search", manifest.optional_capabilities)
self.assertIn("addresses.people_search", manifest.optional_capabilities)
self.assertIn("evaluation", manifest.optional_dependencies)
@@ -39,15 +54,41 @@ class SchedulingManifestTests(unittest.TestCase):
],
[route.path for route in manifest.frontend.public_routes],
)
self.assertIn("poll.availability_matrix", {interface.name for interface in manifest.requires_interfaces})
self.assertIn("poll.response_collection", {interface.name for interface in manifest.requires_interfaces})
self.assertIn("poll.workflow_context", {interface.name for interface in manifest.requires_interfaces})
self.assertIn("poll.governed_participation", {interface.name for interface in manifest.requires_interfaces})
self.assertIn("notifications.dispatch", {interface.name for interface in manifest.requires_interfaces})
self.assertIn("access.people_search", {interface.name for interface in manifest.requires_interfaces})
self.assertIn("addresses.people_search", {interface.name for interface in manifest.requires_interfaces})
self.assertIn("calendar.scheduling", {interface.name for interface in manifest.requires_interfaces})
required_interfaces = {interface.name: interface for interface in manifest.requires_interfaces}
self.assertIn(
"poll.availability_matrix",
{interface.name for interface in manifest.requires_interfaces},
)
self.assertIn(
"poll.response_collection",
{interface.name for interface in manifest.requires_interfaces},
)
self.assertIn(
"poll.workflow_context",
{interface.name for interface in manifest.requires_interfaces},
)
self.assertIn(
"poll.governed_participation",
{interface.name for interface in manifest.requires_interfaces},
)
self.assertIn(
"notifications.dispatch",
{interface.name for interface in manifest.requires_interfaces},
)
self.assertIn(
"access.people_search",
{interface.name for interface in manifest.requires_interfaces},
)
self.assertIn(
"addresses.people_search",
{interface.name for interface in manifest.requires_interfaces},
)
self.assertIn(
"calendar.scheduling",
{interface.name for interface in manifest.requires_interfaces},
)
required_interfaces = {
interface.name: interface for interface in manifest.requires_interfaces
}
for interface_name in (
"poll.availability_matrix",
"poll.response_collection",
@@ -61,14 +102,18 @@ class SchedulingManifestTests(unittest.TestCase):
self.assertEqual("workflow", workflow.metadata["kind"])
self.assertEqual("/scheduling", workflow.metadata["route"])
self.assertIn("scheduling.request", workflow.metadata["help_contexts"])
self.assertIn("scheduling.public-participation", workflow.metadata["help_contexts"])
self.assertIn(
"scheduling.public-participation", workflow.metadata["help_contexts"]
)
self.assertIn(
"scheduling.calendar-coordination",
documentation["scheduling.calendar-coordination"].metadata["help_contexts"],
)
self.assertIn(
"scheduling.public-self-enrollment",
documentation["scheduling.public-self-enrollment"].metadata["help_contexts"],
documentation["scheduling.public-self-enrollment"].metadata[
"help_contexts"
],
)