Extract dataset workflow orchestration
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
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")
|
||||
|
||||
assert "<form onSubmit={uploadDataset}" in app
|
||||
assert "onClick={() => loadDatasetDetails(selectedProjectId ?? '', dataset)}" in app
|
||||
assert "onClick={() => refreshMetadata(dataset.id)}" in app
|
||||
assert "onClick={runRasterInspect}" in app
|
||||
assert "onClick={runRasterPreview}" in app
|
||||
assert "onClick={runRasterStats}" in app
|
||||
assert "onClick={runRasterReproject}" in app
|
||||
assert "onClick={runRasterClip}" in app
|
||||
assert "onClick={runRasterTile}" in app
|
||||
assert "onClick={runRasterNdvi}" in app
|
||||
assert "onClick={runRasterNdwi}" in app
|
||||
assert "onClick={runRasterNdbi}" in app
|
||||
assert "onClick={runVectorClip}" in app
|
||||
assert "onClick={runVectorBuffer}" in app
|
||||
assert "onClick={() => runVectorIntersect(availableVectorTargets)}" in app
|
||||
Reference in New Issue
Block a user