Migrate Tenancy interface patterns

This commit is contained in:
2026-08-03 11:42:34 +02:00
parent 2ab89eb809
commit e76fe16870
11 changed files with 453 additions and 92 deletions
@@ -0,0 +1,34 @@
from __future__ import annotations
import unittest
from govoplan_tenancy.backend.manifest import manifest
class TenancyInterfaceDocumentationContractTests(unittest.TestCase):
def test_tenancy_admin_surfaces_remain_declared(self) -> None:
frontend = manifest.frontend
self.assertIsNotNone(frontend)
surfaces = {surface.id for surface in frontend.view_surfaces} # type: ignore[union-attr]
self.assertEqual(
{
"tenancy.admin.system-tenants",
"tenancy.admin.tenant-settings",
},
surfaces,
)
def test_tenancy_topics_publish_stable_help_contexts(self) -> None:
topics = {topic.id: topic for topic in manifest.documentation}
self.assertIn("tenancy.current-context", topics)
self.assertIn("tenancy.lifecycle-and-settings", topics)
self.assertIn("tenancy.reference.admin-fields", topics)
lifecycle_contexts = set(topics["tenancy.lifecycle-and-settings"].metadata["help_contexts"])
self.assertIn("tenancy.admin.system-tenants", lifecycle_contexts)
self.assertIn("tenancy.admin.tenant-settings", lifecycle_contexts)
self.assertIn("tenancy.action.suspend", topics["tenancy.reference.admin-fields"].metadata["help_contexts"])
if __name__ == "__main__":
unittest.main()