42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def read_text(relative_path: str) -> str:
|
|
return (ROOT / relative_path).read_text(encoding="utf-8")
|
|
|
|
|
|
def test_map_qa_result_exposes_quality_check_evidence_contract():
|
|
types = read_text("frontend/src/types.ts")
|
|
hook = read_text("frontend/src/hooks/useMapSelectionQa.ts")
|
|
workspace = read_text("frontend/src/components/map/MapWorkspace.tsx")
|
|
app = read_text("frontend/src/App.tsx")
|
|
|
|
assert "quality_check_id?: string" in types
|
|
assert "latestMapSelectionQualityCheckId" in hook
|
|
assert "parsed.quality_check_id" in hook
|
|
assert "setLatestMapSelectionQualityCheckId" in hook
|
|
|
|
assert "onOpenMapSelectionQualityEvidence" in app
|
|
assert "setActiveWorkspace('analysis')" in app
|
|
assert "latestMapSelectionQualityCheckId={latestMapSelectionQualityCheckId}" in app
|
|
assert "onOpenMapSelectionQualityEvidence={openMapSelectionQualityEvidence}" in app
|
|
|
|
assert "Kaartbewijs" in workspace
|
|
assert "Status bewijs" in workspace
|
|
assert "Gemiddelde overlap" in workspace
|
|
assert "Onterecht gevonden" in workspace
|
|
assert "Gemist" in workspace
|
|
assert "Aandachtspunten bij de kwaliteitscontrole" in workspace
|
|
assert "Kaartbewijs openen" in workspace
|
|
|
|
|
|
def test_map_qa_evidence_keeps_backend_contract_unchanged():
|
|
app = read_text("frontend/src/App.tsx")
|
|
api_contracts = read_text("docs/API_CONTRACTS.md")
|
|
|
|
assert "/api/v1/qa/detections-vs-reference" in api_contracts
|
|
assert "qaApi.runQa" not in app
|