Files
geointel/backend/tests/test_sprint193_end_user_workbench.py
T
Codex e3d442ad3a
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s
fix: finish end user language sweep
2026-07-14 21:53:56 +02:00

75 lines
3.3 KiB
Python

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_regional_workspace_is_automatic_and_map_has_one_scope_selector() -> None:
project_hook = read("frontend/src/hooks/useProjectWorkspace.ts")
map_workspace = read("frontend/src/components/map/MapWorkspace.tsx")
regional_check = project_hook.index("const regionalProject")
municipality_check = project_hook.index("const municipalityProject")
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 'aria-label="Werkgebied"' in map_workspace
def test_primary_navigation_uses_end_user_language_and_keeps_management_secondary() -> None:
app = read("frontend/src/App.tsx")
for label in ("Kaart", "Bronnen", "Kwaliteit", "Beeldanalyse", "Downloads"):
assert f"label: '{label}'" in app
assert "{ label: 'Beheer', keys: ['overview', 'system'] }" in app
assert 'className="secondary-analysis-disclosure segmentation-disclosure"' in app
def test_technical_projects_and_metadata_are_progressively_disclosed() -> None:
projects = read("frontend/src/components/project/ProjectPanel.tsx")
areas = read("frontend/src/components/project/AreaPanel.tsx")
datasets = read("frontend/src/components/datasets/DatasetPanel.tsx")
dataset_names = read("frontend/src/lib/datasetDisplay.ts")
assert "TECHNICAL_PROJECT_PATTERN" in projects
assert "project.name === LEGACY_MOL_PROJECT_NAME" in projects
assert "alternatieve en technische werkruimtes" in projects
assert "Kempen · volledige regionale werkruimte" in projects
assert "area-catalog-disclosure" in areas
assert "dataset-technical-details" in datasets
assert "getDatasetDisplayName" in datasets
assert "dataset.source_metadata?.layer_type" in dataset_names
assert "regional_boundary: 'Grens vervoerregio Kempen'" in dataset_names
def test_configured_yolo_and_active_asset_are_selected_without_hiding_limitations() -> None:
hook = read("frontend/src/hooks/useDetectionWorkflow.ts")
lab = read("frontend/src/components/detection/DetectionLab.tsx")
assert "useState('yolo-configured')" in hook
assert "useState(0.15)" in hook
assert "asset.active" in hook
assert "getYoloPreflight" in hook
assert 'aria-label="Status gebouwdetectie"' in lab
assert "resultaten blijven controleplichtig" in lab
assert "Modelkalibratie voor beheerders" in lab
def test_visible_ai_and_quality_labels_are_end_user_facing() -> None:
profiles = read("frontend/src/components/detection/detectionProfiles.ts")
quality = read("frontend/src/components/quality/QualityResultsPanel.tsx")
export_preview = read("frontend/src/components/exports/ExportPreview.tsx")
providers = read("frontend/src/components/providers/ProviderPanel.tsx")
assert "Aanbevolen controleprofiel kleine gebouwen" in profiles
assert "Controleer wel extra op onterecht gevonden objecten" in profiles
assert "qualityStatusLabel" in quality
assert "nog niet uitgevoerd" in quality
assert "Nog geen bestand gekozen." in export_preview
assert "providerLayerLabel" in providers