from govoplan_campaign.backend.manifest import get_manifest def test_static_documentation_has_complete_german_reference_copy() -> None: for topic in get_manifest().documentation: german = topic.translations.get("de", {}) assert all(german.get(field, "").strip() for field in ("title", "summary", "body")), topic.id def test_module_breadcrumb_and_table_layout_contract_is_bilingual_and_non_mutating() -> None: topic = next(item for item in get_manifest().documentation if item.id == "campaigns.module-navigation-and-table-layout") assert set(topic.documentation_types) == {"user", "admin"} assert topic.layer == "available" for body in (topic.body, topic.translations["de"]["body"]): for route in ("/campaigns/reports", "/campaigns/queue", "/campaigns/{campaign_id}/report", "/operator"): assert route in body assert "Quick Access" in body assert "report privacy suppression" in topic.body assert "without module-local negative margins" in topic.body