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 op kaart" in panel assert "Downloaden" in panel assert "disabled={!(dataset.dataset_type === 'vector' || dataset.dataset_type === 'geojson')}" in panel def test_data_workspace_keeps_catalog_wide_enough_for_populated_state() -> None: css = (ROOT / "frontend" / "src" / "styles" / "app.css").read_text(encoding="utf-8") assert ".workspace-grid-data {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}" in css assert ".workspace-grid-data > section:nth-child(3)" in css assert "grid-column: 1 / -1" in css assert ".dataset-card .button-row" in css def test_shell_preserves_workspace_width_on_standard_desktop_viewports() -> None: css = (ROOT / "frontend" / "src" / "styles" / "app.css").read_text(encoding="utf-8") app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8") assert "grid-template-columns: 12.5rem minmax(0, 1fr) 21rem" in css assert "@media (max-width: 1360px)" in css assert ".workbench-inspector {\n grid-column: 1 / -1;" in css assert "height: auto;" in css assert "window.scrollTo({ top: 0, left: 0 })" in app assert "}, [activeWorkspace])" in app 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