Files
govoplan-campaign/tests/test_manifest_navigation.py

34 lines
1.2 KiB
Python

from __future__ import annotations
from govoplan_campaign.backend.manifest import (
OPERATOR_QUEUE_REQUIRED_ANY,
OPERATOR_QUEUE_SURFACE_ID,
get_manifest,
)
from govoplan_core.core.registry import manifest_view_surfaces
def test_operator_queue_is_an_integrated_campaign_view() -> None:
manifest = get_manifest()
assert manifest.frontend is not None
assert "/operator" not in {item.path for item in manifest.nav_items}
assert "/operator" not in {item.path for item in manifest.frontend.nav_items}
routes = {route.path: route for route in manifest.frontend.routes}
assert "/operator" not in routes
queue = routes["/campaigns/queue"]
assert queue.component == "OperatorQueuePage"
assert queue.required_all == ("campaigns:campaign:read",)
assert queue.required_any == OPERATOR_QUEUE_REQUIRED_ANY
assert OPERATOR_QUEUE_SURFACE_ID == "campaigns.route.operator"
assert queue.surface_id == OPERATOR_QUEUE_SURFACE_ID
queue_surfaces = [
surface
for surface in manifest_view_surfaces(manifest)
if surface.id == OPERATOR_QUEUE_SURFACE_ID
]
assert len(queue_surfaces) == 1
assert queue_surfaces[0].description == "/campaigns/queue"