30 lines
1.4 KiB
Python
30 lines
1.4 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def test_demo_workflow_browser_smoke_script_checks_connected_v1_state() -> None:
|
|
script = (ROOT / "scripts" / "verify_demo_export_workflow.sh").read_text(encoding="utf-8")
|
|
|
|
assert "/api/v1/demo/workflow" in script
|
|
assert "/api/v1/projects/${project_id}/areas" in script
|
|
assert "/api/v1/projects/${project_id}/datasets" in script
|
|
assert "/api/v1/projects/${project_id}/datasets/${candidate_dataset_id}/content" in script
|
|
assert "/api/v1/projects/${project_id}/datasets/${candidate_dataset_id}/vector/summary" in script
|
|
assert "GeoJSON Polygon/MultiPolygon geometry" in script
|
|
assert "Candidate vector summary does not report persisted features" in script
|
|
assert "fixtures/golden/expected_qa_metrics.json" in script
|
|
assert "Seeded QA/QC score does not match the golden F1 baseline" in script
|
|
assert "QA/QC metric {key} drifted" in script
|
|
|
|
|
|
def test_frontend_demo_action_loads_candidate_dataset_details_for_map_layer() -> None:
|
|
demo_hook = (ROOT / "frontend" / "src" / "hooks" / "useDemoWorkflow.ts").read_text(encoding="utf-8")
|
|
|
|
assert "const candidateDataset = projectData?.datasets.find" in demo_hook
|
|
assert "dataset.id === result.candidate_dataset_id" in demo_hook
|
|
assert "await loadDatasetDetails(result.project_id, candidateDataset)" in demo_hook
|