from __future__ import annotations from pathlib import Path from tests.frontend_contract import read_feature ROOT = Path(__file__).resolve().parents[2] def test_app_uses_export_and_quality_workflow_hooks() -> None: app = read_feature("shell") assert "useExportWorkflow" in app assert "useQualityWorkflow" in app assert "from './hooks/useExportWorkflow'" in app assert "from './hooks/useQualityWorkflow'" in app assert "exportsApi" not in app assert "qaApi" not in app def test_export_workflow_hook_owns_export_api_calls() -> None: hook = read_feature("exports") assert "exportsApi.listProjectExports" in hook assert "exportsApi.exportGeojson" in hook assert "exportsApi.exportProjectMetadata" in hook assert "exportsApi.exportProjectReport" in hook assert "exportsApi.getContent" in hook assert "exportsApi.downloadUrl" in hook assert "resetExportsForProject" in hook def test_quality_workflow_hook_owns_quality_api_calls() -> None: hook = read_feature("quality") assert "qaApi.listQualityChecks" in hook assert "qaApi.runQa" in hook assert "runQaComparison" in hook assert "loadQualityChecks" in hook assert "setQaIouThreshold" in hook def test_app_still_wires_quality_results_and_export_center() -> None: app = read_feature("shell") quality_panel = read_feature("quality") assert " loadQualityChecks()}" in app assert "Kwaliteitsresultaten vernieuwen" in quality_panel assert "onClick={onRefresh}" in quality_panel assert "