Extract QA and map workbench components
This commit is contained in:
@@ -19,13 +19,16 @@ def test_geomap_exposes_v1_layer_controls_and_feature_inspection_contract() -> N
|
||||
assert "setPaintProperty('dataset-fill', 'fill-opacity', opacity)" in geomap
|
||||
|
||||
|
||||
def test_app_wires_map_workbench_controls_and_property_inspector() -> None:
|
||||
def test_app_wires_map_workbench_component() -> None:
|
||||
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
|
||||
component = (ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx").read_text(encoding="utf-8")
|
||||
|
||||
assert "mapLayerVisible" in app
|
||||
assert "mapLayerOpacity" in app
|
||||
assert "selectedMapFeature" in app
|
||||
assert "Layer visible" in app
|
||||
assert "Layer opacity" in app
|
||||
assert "Feature inspector" in app
|
||||
assert "onFeatureSelect={setSelectedMapFeature}" in app
|
||||
assert "<MapWorkspace" in app
|
||||
assert "onSelectMapFeature={setSelectedMapFeature}" in app
|
||||
assert "Layer visible" in component
|
||||
assert "Layer opacity" in component
|
||||
assert "Feature inspector" in component
|
||||
assert "onFeatureSelect={onSelectMapFeature}" in component
|
||||
|
||||
@@ -47,12 +47,14 @@ def test_frontend_wires_selected_area_map_overlay_contract() -> None:
|
||||
root = __import__("pathlib").Path(__file__).resolve().parents[2]
|
||||
app = (root / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
|
||||
geomap = (root / "frontend" / "src" / "components" / "GeoMap.tsx").read_text(encoding="utf-8")
|
||||
map_workspace = (root / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx").read_text(encoding="utf-8")
|
||||
area_panel = (root / "frontend" / "src" / "components" / "project" / "AreaPanel.tsx").read_text(encoding="utf-8")
|
||||
|
||||
assert "selectedMapAreaId" in app
|
||||
assert "areaFeatureCollection" in app
|
||||
assert "areaData={areaFeatureCollection}" in app
|
||||
assert "Area visible" in app
|
||||
assert "areaFeatureCollection={areaFeatureCollection}" in app
|
||||
assert "areaData={areaFeatureCollection}" in map_workspace
|
||||
assert "Area visible" in map_workspace
|
||||
assert "area-fill" in geomap
|
||||
assert "area-line" in geomap
|
||||
assert "onSelectMapArea" in area_panel
|
||||
|
||||
@@ -41,9 +41,14 @@ def test_quality_workflow_hook_owns_quality_api_calls() -> None:
|
||||
|
||||
def test_app_still_wires_quality_results_and_export_center() -> None:
|
||||
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
|
||||
quality_panel = (
|
||||
ROOT / "frontend" / "src" / "components" / "quality" / "QualityResultsPanel.tsx"
|
||||
).read_text(encoding="utf-8")
|
||||
|
||||
assert "Refresh QA/QC results" in app
|
||||
assert "onClick={() => loadQualityChecks()}" in app
|
||||
assert "<QualityResultsPanel" in app
|
||||
assert "onRefresh={() => loadQualityChecks()}" in app
|
||||
assert "Refresh QA/QC results" in quality_panel
|
||||
assert "onClick={onRefresh}" in quality_panel
|
||||
assert "<ExportCenter" in app
|
||||
assert "onExportDataset={exportSelectedDatasetGeoJson}" in app
|
||||
assert "onExportDetectionRun={exportSelectedDetectionRunGeoJson}" in app
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[2]
|
||||
|
||||
|
||||
def test_app_uses_quality_and_map_presentational_components() -> None:
|
||||
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
|
||||
|
||||
assert "from './components/quality/QualityResultsPanel'" in app
|
||||
assert "from './components/map/MapWorkspace'" in app
|
||||
assert "<QualityResultsPanel" in app
|
||||
assert "<MapWorkspace" in app
|
||||
assert "<h2>QA/QC Results</h2>" not in app
|
||||
assert "<h2>Map workspace</h2>" not in app
|
||||
assert "<GeoMap" not in app
|
||||
|
||||
|
||||
def test_quality_results_panel_owns_persisted_quality_check_markup() -> None:
|
||||
quality_panel = (
|
||||
ROOT / "frontend" / "src" / "components" / "quality" / "QualityResultsPanel.tsx"
|
||||
).read_text(encoding="utf-8")
|
||||
|
||||
assert "QualityCheckRead" in quality_panel
|
||||
assert "Refresh QA/QC results" in quality_panel
|
||||
assert "No persisted QA/QC results yet" in quality_panel
|
||||
assert "check.metrics.map" in quality_panel
|
||||
assert "fetch(" not in quality_panel
|
||||
assert "api" not in quality_panel.lower()
|
||||
|
||||
|
||||
def test_map_workspace_owns_map_controls_and_feature_inspector_markup() -> None:
|
||||
map_workspace = (
|
||||
ROOT / "frontend" / "src" / "components" / "map" / "MapWorkspace.tsx"
|
||||
).read_text(encoding="utf-8")
|
||||
|
||||
assert "GeoMap" in map_workspace
|
||||
assert "Selected area" in map_workspace
|
||||
assert "Area visible" in map_workspace
|
||||
assert "Layer visible" in map_workspace
|
||||
assert "Feature inspector" in map_workspace
|
||||
assert "onFeatureSelect={onSelectMapFeature}" in map_workspace
|
||||
assert "fetch(" not in map_workspace
|
||||
assert "api" not in map_workspace.lower()
|
||||
Reference in New Issue
Block a user