Release govoplan-docs v0.1.23: unify help discovery and batch semantic reads
Module Package Release / publish-packages (push) Successful in 12s
Module Package Release / publish-packages (push) Successful in 12s
This commit is contained in:
@@ -52,6 +52,34 @@ class FakePrincipal:
|
||||
|
||||
|
||||
class DocsContextTests(unittest.TestCase):
|
||||
def test_public_topic_tags_and_areas_are_bounded_and_authorized(self) -> None:
|
||||
registry = PlatformRegistry()
|
||||
registry.register(ModuleManifest(
|
||||
id="services", name="Services", version="1.0.0",
|
||||
nav_items=(NavItem(path="/services", label="Services", required_any=("services:read",)),),
|
||||
))
|
||||
registry.register(ModuleManifest(
|
||||
id="hidden", name="Hidden", version="1.0.0",
|
||||
nav_items=(NavItem(path="/hidden", label="Hidden", required_any=("hidden:read",)),),
|
||||
))
|
||||
registry.register(ModuleManifest(
|
||||
id="forms", name="Forms", version="1.0.0",
|
||||
documentation=(DocumentationTopic(
|
||||
id="forms.service-guidance", title="Service application", summary="Application help",
|
||||
documentation_types=("user", "admin"), related_modules=("services", "hidden", "uninstalled"),
|
||||
metadata={"kind": "reference", "tags": ["Application", "Antrag", None, 12, "x" * 81], "areas": ["services", "hidden"]},
|
||||
),),
|
||||
))
|
||||
user_layers = _classify_documentation(registry, FakePrincipal({"docs:documentation:read", "services:read"}), settings=None, session=None, documentation_type="user", locale="de")
|
||||
topic = next(item for layer in user_layers.values() for item in layer if item["id"] == "forms.service-guidance")
|
||||
self.assertEqual(topic["area_module_ids"], ["forms", "services"])
|
||||
self.assertEqual(topic["metadata"]["tags"], ["Application", "Antrag"])
|
||||
self.assertEqual(topic["related_modules"], [])
|
||||
self.assertNotIn("areas", topic["metadata"])
|
||||
hidden_layers = _classify_documentation(registry, FakePrincipal({"docs:documentation:read"}), settings=None, session=None, documentation_type="user", locale="de")
|
||||
topic = next(item for layer in hidden_layers.values() for item in layer if item["id"] == "forms.service-guidance")
|
||||
self.assertEqual(topic["area_module_ids"], ["forms"])
|
||||
|
||||
def test_structured_topic_metadata_uses_requested_locale(self) -> None:
|
||||
registry = PlatformRegistry()
|
||||
registry.register(
|
||||
|
||||
Reference in New Issue
Block a user