from pathlib import Path ROOT = Path(__file__).resolve().parents[2] def test_dataset_panel_exposes_map_and_export_quick_actions() -> None: panel = (ROOT / "frontend" / "src" / "components" / "datasets" / "DatasetPanel.tsx").read_text( encoding="utf-8" ) assert "selectedDatasetId" in panel assert "dataset-card-active" in panel assert "onOpenDatasetInMap" in panel assert "onOpenDatasetExport" in panel assert "Open in map" in panel assert "Export / QA" in panel assert "disabled={!(dataset.dataset_type === 'vector' || dataset.dataset_type === 'geojson')}" in panel def test_app_wires_dataset_quick_actions_to_existing_workspaces() -> None: app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8") assert "const openDatasetInMap = (dataset: DatasetCreateResponse) => {" in app assert "loadDatasetDetails(selectedProjectId, dataset)" in app assert "setMapLayerVisible(true)" in app assert "setActiveWorkspace('map')" in app assert "const openDatasetExport = (dataset: DatasetCreateResponse) => {" in app assert "setActiveWorkspace('exports')" in app assert "selectedDatasetId={selectedDatasetId}" in app assert "onOpenDatasetInMap={openDatasetInMap}" in app assert "onOpenDatasetExport={openDatasetExport}" in app def test_inspector_exposes_navigation_actions_without_api_calls() -> None: inspector = ( ROOT / "frontend" / "src" / "components" / "inspector" / "WorkbenchInspector.tsx" ).read_text(encoding="utf-8") assert "onOpenDataWorkspace" in inspector assert "onOpenMapWorkspace" in inspector assert "onOpenQualityWorkspace" in inspector assert "onOpenExportsWorkspace" in inspector assert "onOpenAiWorkspace" in inspector assert "Data catalog" in inspector assert "Map layer" in inspector assert "Open QA/QC" in inspector assert "Open exports" in inspector assert "Open AI Labs" in inspector assert "fetch(" not in inspector