Block unmocked external requests in E2E tests
Surface net for the class of bug we hit in #282 — a POI test silently relied on a live Overpass server for months because its `page.route` mock was targeting a URL the browser no longer hit directly. CI stayed green on coincidence (real OSM data happened to satisfy the "any marker renders" assertion) until upstream behaviour drifted. Add a shared Playwright fixture (e2e/fixtures/test.ts) that installs a catch-all `page.route("**", ...)` before each test. Requests to localhost + known tile CDNs pass through via `route.continue()`; anything else is aborted and accumulated. At test teardown, a non-empty blocked list throws, failing the test with the offending URLs and a pointer to the fixture. All seven e2e *.test.ts files updated to import test/expect (+ types) from ./fixtures/test. Full suite passes with this fixture in place (50/50 at --workers=2; catch-all never fires, meaning no test currently relies on an unallowlisted external service). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
9c9d53d3bd
commit
f94020a93a
8 changed files with 69 additions and 7 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import { test, expect } from "@playwright/test";
|
||||
import { test, expect } from "./fixtures/test";
|
||||
import postgres from "postgres";
|
||||
import { randomUUID } from "node:crypto";
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue