WIP: test(mocks): migrate vi.mock factories to __mocks__ + test-fixtures (#560) #657
20
frontend/src/__mocks__/$app/navigation.ts
Normal file
20
frontend/src/__mocks__/$app/navigation.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
// Shared mock for SvelteKit's $app/navigation virtual module.
|
||||
// Activated by calling `vi.mock('$app/navigation')` (no factory) in a spec.
|
||||
// Per ADR-012: eliminating per-spec factory bodies removes 36 birpc-race surface
|
||||
// points; the unified mock keeps every nav export available as a vi.fn().
|
||||
//
|
||||
// IMPORTANT: consuming specs MUST call `vi.clearAllMocks()` (or per-mock
|
||||
// `mockClear()`) in `afterEach` — otherwise call counts leak between tests.
|
||||
import { vi } from 'vitest';
|
||||
|
||||
export const goto = vi.fn(async () => {});
|
||||
export const invalidate = vi.fn(async () => {});
|
||||
export const invalidateAll = vi.fn(async () => {});
|
||||
export const beforeNavigate = vi.fn();
|
||||
export const afterNavigate = vi.fn();
|
||||
export const preloadCode = vi.fn(async () => {});
|
||||
export const preloadData = vi.fn(async () => {});
|
||||
export const pushState = vi.fn();
|
||||
export const replaceState = vi.fn();
|
||||
export const disableScrollHandling = vi.fn();
|
||||
export const onNavigate = vi.fn(() => () => {});
|
||||
@@ -6,7 +6,7 @@ import DocumentRow from './DocumentRow.svelte';
|
||||
import { bulkSelectionStore } from '$lib/document/bulkSelection.svelte';
|
||||
import type { components } from '$lib/generated/api';
|
||||
|
||||
vi.mock('$app/navigation', () => ({ goto: vi.fn() }));
|
||||
vi.mock('$app/navigation');
|
||||
|
||||
afterEach(() => {
|
||||
cleanup();
|
||||
|
||||
Reference in New Issue
Block a user