Extract dataset workflow orchestration
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-06-17 02:44:10 +02:00
parent 5d56a73908
commit 361776cbbc
7 changed files with 653 additions and 427 deletions
@@ -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