from pathlib import Path ROOT = Path(__file__).resolve().parents[2] def test_raster_tile_manifest_is_visible_and_can_handoff_to_detection_lab() -> None: app = (ROOT / "frontend" / "src" / "App.tsx").read_text(encoding="utf-8") hook = (ROOT / "frontend" / "src" / "hooks" / "useDatasetWorkflow.ts").read_text(encoding="utf-8") detail_panel = (ROOT / "frontend" / "src" / "components" / "datasets" / "DatasetDetailPanel.tsx").read_text(encoding="utf-8") raster_controls = (ROOT / "frontend" / "src" / "components" / "datasets" / "RasterControls.tsx").read_text(encoding="utf-8") assert "latestRasterTileManifestPath" in hook assert "extractRasterTileManifestPath" in hook assert "setLatestRasterTileManifestPath(manifestPath)" in hook assert "latestRasterTileManifestPath," in app assert "onUseTileManifestForDetection: useRasterTileManifestForDetection" in app assert "setDetectionTileManifestPath(manifestPath)" in app assert "setSelectedDetectionDatasetId(selectedDataset.id)" in app assert "setSelectedDetectionModelId('yolo-configured')" in app assert "latestRasterTileManifestPath" in detail_panel assert "onUseTileManifestForDetection" in detail_panel assert "Latest tile manifest" in raster_controls assert "Use in Detection Lab" in raster_controls assert "disabled={!latestRasterTileManifestPath}" in raster_controls