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

This commit is contained in:
2026-08-23 20:19:13 +02:00
parent a2a9e8e814
commit 4f02425a28
6 changed files with 336 additions and 51 deletions
+43 -12
View File
@@ -10,6 +10,14 @@ REPO_ROOT = Path(__file__).resolve().parents[1]
class CalendarInterfaceDocumentationContractTests(unittest.TestCase):
def test_all_static_topics_have_complete_german_content(self) -> None:
for topic in get_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_backend_surfaces_and_hierarchy_remain_declared(self) -> None:
frontend = get_manifest().frontend
self.assertIsNotNone(frontend)
@@ -31,13 +39,21 @@ class CalendarInterfaceDocumentationContractTests(unittest.TestCase):
}
self.assertEqual(expected, set(surfaces))
self.assertEqual("calendar.page", surfaces["calendar.page.sidebar"].parent_id)
self.assertEqual("calendar.page.sidebar", surfaces["calendar.page.agenda"].parent_id)
self.assertEqual(
"calendar.page.sidebar", surfaces["calendar.page.agenda"].parent_id
)
self.assertEqual("calendar.page", surfaces["calendar.page.workspace"].parent_id)
self.assertEqual("calendar.page", surfaces["calendar.event-editor"].parent_id)
self.assertEqual("calendar.page.sidebar", surfaces["calendar.collection-editor"].parent_id)
self.assertEqual("calendar.collection-editor", surfaces["calendar.sync-status"].parent_id)
self.assertEqual(
"calendar.page.sidebar", surfaces["calendar.collection-editor"].parent_id
)
self.assertEqual(
"calendar.collection-editor", surfaces["calendar.sync-status"].parent_id
)
self.assertEqual("calendar.sync-status", surfaces["calendar.outbox"].parent_id)
self.assertEqual("calendar.sync-status", surfaces["calendar.migration"].parent_id)
self.assertEqual(
"calendar.sync-status", surfaces["calendar.migration"].parent_id
)
def test_help_and_consequence_metadata_remain_published(self) -> None:
topics = {topic.id: topic for topic in get_manifest().documentation}
@@ -63,9 +79,9 @@ class CalendarInterfaceDocumentationContractTests(unittest.TestCase):
quick_access = (
REPO_ROOT / "webui/src/features/calendar/CalendarQuickAccess.tsx"
).read_text(encoding="utf-8")
page = (
REPO_ROOT / "webui/src/features/calendar/CalendarPage.tsx"
).read_text(encoding="utf-8")
page = (REPO_ROOT / "webui/src/features/calendar/CalendarPage.tsx").read_text(
encoding="utf-8"
)
self.assertIn("const AGENDA_LIMIT = 7", quick_access)
self.assertIn("launchContext.temporalContext", quick_access)
@@ -75,13 +91,28 @@ class CalendarInterfaceDocumentationContractTests(unittest.TestCase):
self.assertIn('parameters.get("quickAction") !== "create-event"', page)
def test_webui_uses_shared_help_guard_and_confirmation_components(self) -> None:
event_dialog = (REPO_ROOT / "webui/src/features/calendar/CalendarEventDialog.tsx").read_text(encoding="utf-8")
collection_dialog = (REPO_ROOT / "webui/src/features/calendar/CalendarCollectionDialogs.tsx").read_text(encoding="utf-8")
settings_panel = (REPO_ROOT / "webui/src/features/calendar/CalendarSettingsPanel.tsx").read_text(encoding="utf-8")
event_dialog = (
REPO_ROOT / "webui/src/features/calendar/CalendarEventDialog.tsx"
).read_text(encoding="utf-8")
collection_dialog = (
REPO_ROOT / "webui/src/features/calendar/CalendarCollectionDialogs.tsx"
).read_text(encoding="utf-8")
settings_panel = (
REPO_ROOT / "webui/src/features/calendar/CalendarSettingsPanel.tsx"
).read_text(encoding="utf-8")
for component in ("ActionBlockerHint", "ConfirmDialog", "DocumentationHelpLink", "useUnsavedDraftGuard"):
for component in (
"ActionBlockerHint",
"ConfirmDialog",
"DocumentationHelpLink",
"useUnsavedDraftGuard",
):
self.assertIn(component, event_dialog)
for component in ("ActionBlockerHint", "DocumentationHelpLink", "useUnsavedDraftGuard"):
for component in (
"ActionBlockerHint",
"DocumentationHelpLink",
"useUnsavedDraftGuard",
):
self.assertIn(component, collection_dialog)
for component in ("DocumentationHelpLink", "useUnsavedDraftGuard"):
self.assertIn(component, settings_panel)