test(setup): disable SvelteKit hover prefetch in browser-mode runs
Hover-prefetch fires real fetch requests for route loader chunks; those requests go through the same Playwright route handler that serves mocked modules. An in-flight prefetch landing after iframe teardown can hit the handler with a closed birpc channel, raising an unhandled rejection that exits the run with code 1 even when every individual test was green. Add `src/test-setup.ts` that sets `document.body.dataset.sveltekitPreloadData = 'off'` and wire it via `setupFiles` in both `vite.config.ts` (client project) and `vitest.client-coverage.config.ts` (Istanbul coverage config). Add `src/__meta__/browser-preload-disabled.svelte.test.ts` asserting the setup ran. Zero production impact. Issue #553 secondary trigger. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
8
frontend/src/test-setup.ts
Normal file
8
frontend/src/test-setup.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
// Disable SvelteKit hover-prefetch in browser-mode tests. ADR-012 / #553.
|
||||
//
|
||||
// Hover-prefetch fires real fetch requests for route loader chunks; those
|
||||
// requests go through the same Playwright route handler that serves mocked
|
||||
// modules. An in-flight prefetch landing after iframe teardown can hit the
|
||||
// route handler with a closed birpc channel, raising an unhandled rejection
|
||||
// that exits the run with code 1 even when every individual test was green.
|
||||
document.body.dataset.sveltekitPreloadData = 'off';
|
||||
Reference in New Issue
Block a user