Files
geointel/backend/tests/test_sprint29_dataset_components.py
T
Codex 1cbb356220
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Extract dataset presentational components
2026-06-17 04:04:20 +02:00

50 lines
1.8 KiB
Python

from __future__ import annotations
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
def test_app_uses_dataset_presentational_components() -> None:
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
assert "from './components/datasets/DatasetPanel'" in app
assert "from './components/datasets/DatasetDetailPanel'" in app
assert "<DatasetPanel" in app
assert "<DatasetDetailPanel" in app
assert "<form onSubmit={uploadDataset}" not in app
assert "<h3>Raster operations</h3>" not in app
assert "<h3>Vector operations</h3>" not in app
def test_dataset_panel_owns_upload_and_list_markup() -> None:
panel = (ROOT / "frontend" / "src" / "components" / "datasets" / "DatasetPanel.tsx").read_text(encoding="utf-8")
assert "Upload dataset" in panel
assert "Refresh metadata" in panel
assert "Select / details" in panel
assert "onLoadDatasetDetails" in panel
assert "onRefreshMetadata" in panel
def test_dataset_detail_panel_composes_raster_and_vector_controls() -> None:
detail_panel = (ROOT / "frontend" / "src" / "components" / "datasets" / "DatasetDetailPanel.tsx").read_text(
encoding="utf-8"
)
raster_controls = (ROOT / "frontend" / "src" / "components" / "datasets" / "RasterControls.tsx").read_text(
encoding="utf-8"
)
vector_controls = (ROOT / "frontend" / "src" / "components" / "datasets" / "VectorControls.tsx").read_text(
encoding="utf-8"
)
assert "<RasterControls" in detail_panel
assert "<VectorControls" in detail_panel
assert "Jobs" in detail_panel
assert "Raster operations" in raster_controls
assert "Compute NDVI" in raster_controls
assert "Generate tiles" in raster_controls
assert "Vector operations" in vector_controls
assert "Run intersect" in vector_controls