feat(workbench): integrate runtime data and map tooling
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import type { Page } from "@playwright/test";
|
||||
import { mockScadaApi } from "./mock-scada-api";
|
||||
|
||||
// UI-only tests still need the authorized project lookup used by Agent API calls.
|
||||
export async function mockWorkbenchContext(
|
||||
page: Page,
|
||||
runtimeSnapshot?: unknown,
|
||||
projectPresentation?: { metadata: unknown; accessContext: unknown },
|
||||
analysisRuns: Record<string, unknown> = {},
|
||||
analysisHistory: unknown[] = [],
|
||||
options: { runtimeMode?: "auto" | "demo" | "history" | "backend" } = {}
|
||||
) {
|
||||
await mockScadaApi(
|
||||
page,
|
||||
[],
|
||||
runtimeSnapshot,
|
||||
[],
|
||||
projectPresentation,
|
||||
analysisRuns,
|
||||
analysisHistory
|
||||
);
|
||||
await page.route("**/runtime-config.js", (route) =>
|
||||
route.fulfill({
|
||||
contentType: "application/javascript",
|
||||
body: `globalThis.__TJWATER_CONFIG__ = ${JSON.stringify({
|
||||
TJWATER_AUTH_MODE: "disabled",
|
||||
TJWATER_SERVER_API_BASE_URL: "https://tjwater-api.invalid",
|
||||
TJWATER_AGENT_API_BASE_URL: "http://127.0.0.1:8787",
|
||||
TJWATER_MAP_URL: "https://workbench-map.invalid/geoserver",
|
||||
TJWATER_GEOSERVER_WORKSPACE: "tjwater_next",
|
||||
TJWATER_MAPBOX_ACCESS_TOKEN: "",
|
||||
TJWATER_WORKBENCH_RUNTIME_MODE: options.runtimeMode ?? "auto",
|
||||
TJWATER_ENABLE_MSW: "false"
|
||||
})};`
|
||||
})
|
||||
);
|
||||
await page.route("https://workbench-map.invalid/**", (route) => route.fulfill({ status: 204 }));
|
||||
}
|
||||
Reference in New Issue
Block a user