diff --git a/vitest-setup-client.ts b/vitest-setup-client.ts new file mode 100644 index 0000000..3872b7a --- /dev/null +++ b/vitest-setup-client.ts @@ -0,0 +1,36 @@ +/// +/// + +import { vi } from 'vitest'; +import { writable } from 'svelte/store'; + +// Mock $app/navigation +vi.mock('$app/navigation', () => ({ + goto: vi.fn(() => Promise.resolve()), + invalidate: vi.fn(() => Promise.resolve()), + invalidateAll: vi.fn(() => Promise.resolve()), + beforeNavigate: vi.fn(), + afterNavigate: vi.fn() +})); + +// Mock $app/stores +vi.mock('$app/stores', () => ({ + page: writable({ + url: new URL('http://localhost'), + params: {}, + route: { id: null }, + status: 200, + error: null, + data: {}, + form: null + }), + navigating: writable(null), + updated: { check: vi.fn(), subscribe: writable(false).subscribe } +})); + +// Mock $app/environment +vi.mock('$app/environment', () => ({ + browser: true, + dev: true, + building: false +}));