from __future__ import annotations from pathlib import Path from tests.frontend_contract import read_feature ROOT = Path(__file__).resolve().parents[2] def test_overview_exposes_end_to_end_workflow_guidance() -> None: overview = read_feature("shell") assert 'aria-label="Voortgang van de werkstroom"' in overview assert 'className="workflow-guidance-panel"' in overview assert 'className="workflow-guidance-steps"' in overview assert "steps.map" in overview assert "Werkruimte en gebied" in overview assert "Databronnen" in overview assert "Kaart" in overview assert "Controle en analyse" in overview assert "Downloads" in overview def test_workflow_guidance_routes_to_existing_workspaces() -> None: app = read_feature("shell") overview = read_feature("shell") assert "target: 'data'" in overview assert "target: 'map'" in overview assert "target: 'analysis'" in overview assert "target: 'exports'" in overview assert "onOpenWorkspace={openWorkflowGuidanceStep}" in app assert "onClick={() => onOpenWorkspace(step.target)}" in overview assert "setActiveWorkspace(target)" in app def test_workflow_guidance_has_responsive_contracts() -> None: css = (ROOT / "frontend" / "src" / "styles" / "app.css").read_text(encoding="utf-8") assert ".workflow-guidance-panel" in css assert ".workflow-guidance-steps" in css assert ".workflow-guidance-step" in css assert ".workflow-guidance-step-active" in css assert ".workflow-step-status" in css assert "grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));" in css def test_workflow_guidance_complete_state_and_map_copy_are_precise() -> None: overview = read_feature("shell") assert "workflowComplete" in overview assert "Klaar om te delen" in overview assert "objecten op de kaart" in overview assert "selectedAreaHasGeometry" in overview assert "Werkgebied ingeladen" in overview def test_workflow_guidance_map_and_export_steps_reuse_dataset_context() -> None: app = read_feature("shell") overview = read_feature("shell") assert "openWorkflowGuidanceStep" in app assert "target === 'map'" in app assert "openDatasetInMap(availableMapDatasets[0])" in app assert "target === 'exports'" in app assert "openDatasetExport(availableMapDatasets[0])" in app assert "onOpenWorkspace={openWorkflowGuidanceStep}" in app assert "onClick={() => onOpenWorkspace(step.target)}" in overview