Files
geointel/backend/tests/test_sprint103_ai_lab_run_readiness.py
T
Codex 78a5f0b0b2
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s
Close full operational audit findings
2026-07-17 14:19:02 +02:00

52 lines
1.9 KiB
Python

from __future__ import annotations
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
def test_detection_lab_exposes_run_readiness_contract() -> None:
lab = (ROOT / "frontend" / "src" / "components" / "detection" / "DetectionLab.tsx").read_text(
encoding="utf-8"
)
assert "selectedDetectionModel = detectionModels.find" in lab
assert "detectionRequiresTileManifest = selectedDetectionModelId === 'yolo-configured'" in lab
assert "detectionTileManifestPath.trim().length > 0" in lab
assert "detectionRunReady" in lab
assert 'aria-label="Startklaar voor gebouwdetectie"' in lab
assert "Wat is nog nodig?" in lab
assert "Luchtbeeld" in lab
assert "Analysemodel" in lab
assert "Beeldtegels" in lab
assert "Klaar om te starten" in lab
def test_segmentation_lab_exposes_run_readiness_contract() -> None:
lab = (ROOT / "frontend" / "src" / "components" / "segmentation" / "SegmentationLab.tsx").read_text(
encoding="utf-8"
)
assert "segmentationHasDataset" in lab
assert "segmentationHasTileManifest = segmentationTileManifestPath.trim().length > 0" in lab
assert "segmentationRunReady" in lab
assert "selectedSegmentationModelConfigured" in lab
assert "selectedSegmentationModelLimitation" in lab
assert 'aria-label="Startklaar voor segmentatie"' in lab
assert "Wat is nog nodig?" in lab
assert "Rasterbestand" in lab
assert "Analysemodel" in lab
assert "Beeldtegels" in lab
assert "Klaar om te starten" in lab
def test_ai_lab_run_readiness_css_contract() -> None:
css = (ROOT / "frontend" / "src" / "styles" / "app.css").read_text(encoding="utf-8")
assert ".lab-readiness-panel" in css
assert ".lab-readiness-panel-ready" in css
assert ".lab-readiness-grid" in css
assert ".lab-readiness-item" in css
assert ".lab-readiness-item-ready" in css