35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
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()
|