GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
71 lines
2.9 KiB
Python
71 lines
2.9 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
from tests.frontend_contract import read_feature
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def test_app_uses_dataset_workflow_hook() -> None:
|
|
app = read_feature("shell")
|
|
|
|
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 = read_feature("datasets")
|
|
|
|
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 = read_feature("shell")
|
|
dataset_panel = read_feature("datasets")
|
|
detail_panel = read_feature("datasets")
|
|
|
|
assert "<DatasetPanel" in app
|
|
assert "onUploadDataset={uploadDataset}" in app
|
|
assert "onLoadDatasetDetails={loadDatasetDetails}" in app
|
|
assert "onRefreshMetadata={refreshMetadata}" in app
|
|
assert "<WorkbenchInspector" in app
|
|
assert "datasetDetailProps={{" 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
|