73 lines
3.1 KiB
Python
73 lines
3.1 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def test_app_uses_dataset_workflow_hook() -> None:
|
|
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
|
|
|
|
assert "useDatasetWorkflow" in app
|
|
assert "from './hooks/useDatasetWorkflow'" in app
|
|
assert "datasetsApi.upload" not in app
|
|
assert "jobsApi" not in app
|
|
assert "datasetsApi.vectorClip" not in app
|
|
assert "datasetsApi.rasterTile" not in app
|
|
|
|
|
|
def test_dataset_workflow_hook_owns_dataset_api_calls() -> None:
|
|
hook = (ROOT / "frontend" / "src" / "hooks" / "useDatasetWorkflow.ts").read_text(encoding="utf-8")
|
|
|
|
assert "datasetsApi.upload" in hook
|
|
assert "datasetsApi.getContent" in hook
|
|
assert "datasetsApi.vectorSummary" in hook
|
|
assert "datasetsApi.vectorClip" in hook
|
|
assert "datasetsApi.vectorBuffer" in hook
|
|
assert "datasetsApi.vectorIntersect" in hook
|
|
assert "datasetsApi.inspectRaster" in hook
|
|
assert "datasetsApi.rasterPreview" in hook
|
|
assert "datasetsApi.rasterStats" in hook
|
|
assert "datasetsApi.rasterReproject" in hook
|
|
assert "datasetsApi.rasterClip" in hook
|
|
assert "datasetsApi.rasterTile" in hook
|
|
assert "datasetsApi.rasterNdvi" in hook
|
|
assert "datasetsApi.rasterNdwi" in hook
|
|
assert "datasetsApi.rasterNdbi" in hook
|
|
assert "datasetsApi.refreshMetadata" in hook
|
|
assert "jobsApi.list" in hook
|
|
|
|
|
|
def test_app_still_wires_dataset_ui_callbacks() -> None:
|
|
app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8")
|
|
dataset_panel = (ROOT / "frontend" / "src" / "components" / "datasets" / "DatasetPanel.tsx").read_text(
|
|
encoding="utf-8"
|
|
)
|
|
detail_panel = (ROOT / "frontend" / "src" / "components" / "datasets" / "DatasetDetailPanel.tsx").read_text(
|
|
encoding="utf-8"
|
|
)
|
|
|
|
assert "<DatasetPanel" in app
|
|
assert "onUploadDataset={uploadDataset}" in app
|
|
assert "onLoadDatasetDetails={loadDatasetDetails}" in app
|
|
assert "onRefreshMetadata={refreshMetadata}" in app
|
|
assert "<DatasetDetailPanel" in app
|
|
assert "onRunRasterInspect={runRasterInspect}" in app
|
|
assert "onRunRasterPreview={runRasterPreview}" in app
|
|
assert "onRunRasterStats={runRasterStats}" in app
|
|
assert "onRunRasterReproject={runRasterReproject}" in app
|
|
assert "onRunRasterClip={runRasterClip}" in app
|
|
assert "onRunRasterTile={runRasterTile}" in app
|
|
assert "onRunRasterNdvi={runRasterNdvi}" in app
|
|
assert "onRunRasterNdwi={runRasterNdwi}" in app
|
|
assert "onRunRasterNdbi={runRasterNdbi}" in app
|
|
assert "onRunVectorClip={runVectorClip}" in app
|
|
assert "onRunVectorBuffer={runVectorBuffer}" in app
|
|
assert "onRunVectorIntersect={() => runVectorIntersect(availableVectorTargets)}" in app
|
|
assert '<form className="dataset-upload-form" onSubmit={onUploadDataset}' in dataset_panel
|
|
assert "onClick={() => onLoadDatasetDetails(selectedProjectId ?? '', dataset)}" in dataset_panel
|
|
assert "onClick={() => onRefreshMetadata(dataset.id)}" in dataset_panel
|
|
assert "onRunRasterInspect={onRunRasterInspect}" in detail_panel
|
|
assert "onRunVectorIntersect={onRunVectorIntersect}" in detail_panel
|