Files
geointel/backend/tests/test_sprint110_map_qa_evidence_drilldown.py
T
Codex de9c11327c
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Add map QA evidence drilldown
2026-06-25 02:42:58 +02:00

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 "QA evidence" in workspace
assert "Quality check id" in workspace
assert "Mean IoU" in workspace
assert "False positives" in workspace
assert "False negatives" in workspace
assert "Map selection QA warnings" in workspace
assert "Open QA/QC evidence" 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