feat: simplify regional workbench language
This commit is contained in:
@@ -15,19 +15,19 @@ def test_detection_lab_exposes_persisted_threshold_calibration_comparison() -> N
|
||||
|
||||
assert "qualityChecks: QualityCheckRead[]" in source
|
||||
assert "buildCalibrationRows(detectionRuns, qualityChecks)" in source
|
||||
assert "Calibration comparison" in source
|
||||
assert "Compare persisted detection runs by confidence threshold" in source
|
||||
assert "Best F1 candidate" in source
|
||||
assert "Best precision candidate" in source
|
||||
assert "Lowest false-positive pressure" in source
|
||||
assert "Threshold" in source
|
||||
assert "Precision" in source
|
||||
assert "Kalibraties vergelijken" in source
|
||||
assert "Vergelijk bewaarde analyseruns per zekerheidsdrempel" in source
|
||||
assert "Beste F1-score" in source
|
||||
assert "Beste precisie" in source
|
||||
assert "Minste foutieve meldingen" in source
|
||||
assert "Drempel" in source
|
||||
assert "Precisie" in source
|
||||
assert "Recall" in source
|
||||
assert "F1" in source
|
||||
assert "False positives" in source
|
||||
assert "False negatives" in source
|
||||
assert "Promote only after checking evidence across AOIs" in source
|
||||
assert "No calibration comparison available yet" in source
|
||||
assert "Fout positief" in source
|
||||
assert "Fout negatief" in source
|
||||
assert "Keur pas goed nadat meerdere gebieden" in source
|
||||
assert "Nog geen kalibratievergelijking beschikbaar" in source
|
||||
assert "metricValue(check, 'f1')" in source
|
||||
assert "metricValue(check, 'precision')" in source
|
||||
assert "metricValue(check, 'recall')" in source
|
||||
|
||||
@@ -100,8 +100,8 @@ def test_detection_results_table_uses_bounded_local_pagination() -> None:
|
||||
assert "visibleDetectionItems" in lab
|
||||
assert "detectionItems.slice" in lab
|
||||
assert "Detection result pagination" in lab
|
||||
assert "Previous detection results page" in lab
|
||||
assert "Next detection results page" in lab
|
||||
assert "Vorige resultatenpagina" in lab
|
||||
assert "Volgende resultatenpagina" in lab
|
||||
assert "formatSourceTilePath(detection.source_tile_path)" in lab
|
||||
assert 'title={detection.source_tile_path ?? undefined}' in lab
|
||||
assert "pagination-toolbar" in styles
|
||||
|
||||
@@ -274,6 +274,26 @@ def test_temporal_compare_returns_delta_and_canonical_change_payload(monkeypatch
|
||||
assert result.geojson["type"] == "FeatureCollection"
|
||||
|
||||
|
||||
def test_unstable_temporal_identity_returns_clear_end_user_warning() -> None:
|
||||
project_id = uuid4()
|
||||
earlier = temporal_dataset(project_id=project_id, observed_year=2021)
|
||||
later = temporal_dataset(project_id=project_id, observed_year=2025)
|
||||
earlier.source_metadata["identity_stable"] = False
|
||||
later.source_metadata["identity_stable"] = False
|
||||
|
||||
changes, geojson, warnings = TemporalAnalysisService._compare_identity_features(
|
||||
SimpleNamespace(),
|
||||
earlier=earlier,
|
||||
later=later,
|
||||
bbox={"min_x": 5.0, "min_y": 51.1, "max_x": 5.2, "max_y": 51.3},
|
||||
preview_limit=100,
|
||||
)
|
||||
|
||||
assert changes.available is False
|
||||
assert geojson == {"type": "FeatureCollection", "features": []}
|
||||
assert warnings == ["Wijzigingen van individuele objecten kunnen voor deze bron niet betrouwbaar worden gevolgd."]
|
||||
|
||||
|
||||
def test_temporal_frontend_and_official_operator_contracts_exist() -> None:
|
||||
workspace = (ROOT / "frontend/src/components/map/MapWorkspace.tsx").read_text(encoding="utf-8")
|
||||
temporal_api = (ROOT / "frontend/src/services/api/temporal.ts").read_text(encoding="utf-8")
|
||||
|
||||
@@ -131,7 +131,7 @@ def test_kempen_scope_operator_is_packaged_and_exposed_in_map_flow() -> None:
|
||||
assert "Kempen (28 gemeenten)" in workspace
|
||||
assert 'aria-label="Regio"' not in workspace
|
||||
assert 'aria-label="Ingeladen regiobereik"' in workspace
|
||||
assert "Gemeente of volledige regio" in workspace
|
||||
assert "Snel naar een gemeente (optioneel)" in workspace
|
||||
assert "projects={projects}" in app
|
||||
map_props = app.split("<MapWorkspace", maxsplit=1)[1].split("/>", maxsplit=1)[0]
|
||||
assert "onSelectProject={selectProject}" not in map_props
|
||||
|
||||
@@ -17,7 +17,7 @@ def test_regional_workspace_is_automatic_and_map_has_one_scope_selector() -> Non
|
||||
assert regional_check < municipality_check
|
||||
assert 'aria-label="Regio"' not in map_workspace
|
||||
assert 'aria-label="Ingeladen regiobereik"' in map_workspace
|
||||
assert "Gemeente of volledige regio" in map_workspace
|
||||
assert "Snel naar een gemeente (optioneel)" in map_workspace
|
||||
assert 'aria-label="Werkgebied"' in map_workspace
|
||||
|
||||
|
||||
|
||||
@@ -184,11 +184,22 @@ def test_regional_timeseries_operator_is_packaged_and_release_checked() -> None:
|
||||
def test_end_user_dataset_sources_are_human_readable() -> None:
|
||||
display = (ROOT / "frontend/src/lib/datasetDisplay.ts").read_text(encoding="utf-8")
|
||||
workspace = (ROOT / "frontend/src/components/map/MapWorkspace.tsx").read_text(encoding="utf-8")
|
||||
catalog = (ROOT / "frontend/src/components/datasets/DatasetPanel.tsx").read_text(encoding="utf-8")
|
||||
status = (ROOT / "frontend/src/components/WorkbenchStatusStrip.tsx").read_text(encoding="utf-8")
|
||||
detection = (ROOT / "frontend/src/components/detection/DetectionLab.tsx").read_text(encoding="utf-8")
|
||||
exports = (ROOT / "frontend/src/components/exports/ExportCenter.tsx").read_text(encoding="utf-8")
|
||||
|
||||
assert "department_omgeving_land_use: 'Departement Omgeving'" in display
|
||||
assert "statbel: 'Statbel'" in display
|
||||
assert "getDatasetSourceDisplayName(activeThemeDataset)" in workspace
|
||||
assert "dataset ? getDatasetSourceDisplayName(dataset)" in workspace
|
||||
assert "Snel naar een gemeente (optioneel)" in workspace
|
||||
assert "latestDatasetBySeries" in catalog
|
||||
assert "Historische meetmomenten" in catalog
|
||||
assert "getDatasetSourceDisplayName(dataset)" in catalog
|
||||
assert "statusLabel(item.state)" in status
|
||||
assert "Technische modelevaluatie" in detection
|
||||
assert "Nog geen downloads gemaakt." in exports
|
||||
|
||||
|
||||
def test_full_area_fast_path_requires_matching_area_and_clipped_operator_provenance() -> None:
|
||||
|
||||
@@ -17,7 +17,7 @@ def test_frontend_wires_v1_workbench_status_strip() -> None:
|
||||
assert "activeLayerFeatureCount={mapFeatureCount}" in app
|
||||
assert "selectedAreaHasGeometry={Boolean(areaFeatureCollection)}" in app
|
||||
assert "Platformstatus" in component
|
||||
assert "Workbench status:" in component
|
||||
assert "Status werkruimte:" in component
|
||||
assert "Kaartwerkruimte is gebruiksklaar" in component
|
||||
assert "workbench-status-strip" in css
|
||||
assert "status-tile-ready" in css
|
||||
|
||||
@@ -20,7 +20,7 @@ def test_detection_lab_exposes_structured_surfaces() -> None:
|
||||
assert 'className="ai-lab-results-surface"' in lab
|
||||
assert 'aria-label="Detection results"' in lab
|
||||
assert 'className="ai-lab-qa-surface"' in lab
|
||||
assert 'aria-label="Detection QA controls and results"' in lab
|
||||
assert 'aria-label="Kwaliteitscontrole gebouwdetectie"' in lab
|
||||
|
||||
|
||||
def test_segmentation_lab_exposes_structured_surfaces() -> None:
|
||||
@@ -53,7 +53,7 @@ def test_ai_lab_preserves_existing_detection_and_segmentation_controls() -> None
|
||||
assert "onRunQa" in detection
|
||||
assert "detectionTileManifestPath" in detection
|
||||
assert "{detectionItems.length} objecten geladen" in detection
|
||||
assert "Compare detections to reference" in detection
|
||||
assert "Vergelijk met referentielaag" in detection
|
||||
|
||||
assert "onRunSegmentation" in segmentation
|
||||
assert "onLoadResults" in segmentation
|
||||
|
||||
Reference in New Issue
Block a user