Files
geointel/backend/tests/test_sprint103_ai_lab_run_readiness.py
T
Codex b5bcd9b041
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s
feat: simplify regional end user workbench
2026-07-14 21:40:32 +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="Detection run readiness"' 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="Segmentation run readiness"' in lab
assert "Run readiness" in lab
assert "Raster dataset" in lab
assert "Model availability" in lab
assert "Tile manifest" in lab
assert "Ready to submit" 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