feat: guide raster building analysis workflow
This commit is contained in:
@@ -28,9 +28,10 @@ def test_cancelled_selection_requests_cannot_restore_stale_results() -> None:
|
||||
assert "if (requestSequence.current !== sequence)" in themes_hook
|
||||
|
||||
|
||||
def test_viewport_status_names_the_active_reference_layer() -> None:
|
||||
def test_viewport_status_uses_end_user_map_language() -> None:
|
||||
hook = read("frontend/src/hooks/useViewportVectorLayer.ts")
|
||||
|
||||
assert "load buildings from PostGIS" not in hook
|
||||
assert "selectedDataset?.reference_layer_name?.trim() || 'features'" in hook
|
||||
assert "to load ${layerLabel} from PostGIS" in hook
|
||||
assert "Zichtbare kaartobjecten laden..." in hook
|
||||
assert "kaartobjecten getoond" in hook
|
||||
assert "PostGIS" not in hook
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
|
||||
|
||||
def read(path: str) -> str:
|
||||
return (ROOT / path).read_text(encoding="utf-8")
|
||||
|
||||
|
||||
def test_guided_detection_reuses_canonical_raster_and_detection_apis() -> None:
|
||||
hook = read("frontend/src/hooks/useDetectionWorkflow.ts")
|
||||
|
||||
assert "prepareAndRunDetection" in hook
|
||||
assert "datasetsApi.rasterTile" in hook
|
||||
assert "datasetsApi.rasterInspect" in hook
|
||||
assert "rasterTileCount" in hook
|
||||
assert "expectedTileCount > maxTiles" in hook
|
||||
assert "tile_size: 512" in hook
|
||||
assert "overlap: 64" in hook
|
||||
assert "detectionApi.getYoloPreflight" in hook
|
||||
assert "await executeDetection(selectedProjectId, datasetId, manifestPath)" in hook
|
||||
assert "await loadDetectionResults(result.analysis_run_id)" in hook
|
||||
assert "model_id: selectedDetectionModelId" in hook
|
||||
assert "model_asset_id: selectedModelAssetId || null" in hook
|
||||
|
||||
|
||||
def test_guided_detection_upload_uses_existing_dataset_persistence_boundary() -> None:
|
||||
hook = read("frontend/src/hooks/useDetectionWorkflow.ts")
|
||||
|
||||
assert "uploadDetectionRaster" in hook
|
||||
assert "datasetsApi.upload" in hook
|
||||
assert "datasetType: 'raster'" in hook
|
||||
assert "datasetRole: 'source'" in hook
|
||||
assert "sourceName: 'manual'" in hook
|
||||
assert "explicit_user_upload" in hook
|
||||
|
||||
|
||||
def test_detection_lab_hides_manifest_plumbing_and_exposes_map_first_result_flow() -> None:
|
||||
lab = read("frontend/src/components/detection/DetectionLab.tsx")
|
||||
app = read("frontend/src/App.tsx")
|
||||
|
||||
assert "Gebouwen zoeken en op kaart tonen" in lab
|
||||
assert 'aria-label="Luchtbeeld toevoegen"' in lab
|
||||
assert 'aria-label="Technische tegelinstellingen"' in lab
|
||||
assert "Worden automatisch voorbereid" in lab
|
||||
assert "Toon op kaart" in lab
|
||||
assert "onPrepareAndRunDetection={runGuidedDetection}" in app
|
||||
assert "setMapContentMode('analysis')" in app
|
||||
assert "setMapLayerVisible(true)" in app
|
||||
assert "setActiveWorkspace('map')" in app
|
||||
|
||||
|
||||
def test_detection_qa_remains_persisted_and_primary_not_parallel() -> None:
|
||||
lab = read("frontend/src/components/detection/DetectionLab.tsx")
|
||||
hook = read("frontend/src/hooks/useDetectionWorkflow.ts")
|
||||
|
||||
assert 'aria-label="Kwaliteitscontrole gebouwdetectie"' in lab
|
||||
assert "als kwaliteitscontrole in de database bewaard" in lab
|
||||
assert "detectionApi.compareWithReference" in hook
|
||||
assert "await loadQualityChecks(selectedProjectId)" in hook
|
||||
@@ -23,7 +23,9 @@ def test_ai_labs_explain_missing_raster_input_before_disabled_runs() -> None:
|
||||
)
|
||||
|
||||
assert "Geen luchtbeeld beschikbaar in deze werkruimte." in detection_lab
|
||||
assert "Voeg onder Bronnen een gegeorefereerde GeoTIFF toe." in detection_lab
|
||||
assert "Voeg hieronder een gegeorefereerde GeoTIFF toe." in detection_lab
|
||||
assert 'aria-label="Luchtbeeld toevoegen"' in detection_lab
|
||||
assert "onUploadRaster" in detection_lab
|
||||
assert "rasterDatasets.length === 0" in detection_lab
|
||||
assert "No raster datasets available for segmentation." in segmentation_lab
|
||||
assert "Upload or select a raster dataset in Data before running segmentation." in segmentation_lab
|
||||
|
||||
Reference in New Issue
Block a user