Initial commit
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
import '@testing-library/jest-dom/vitest';
|
||||
import { cleanup } from '@testing-library/svelte';
|
||||
import { afterEach, beforeAll, vi } from 'vitest';
|
||||
import { navigatingStore, pageStore, resetMockPage, updatedStore } from './src/test/mocks/app-stores';
|
||||
|
||||
vi.mock('$app/stores', () => ({
|
||||
page: { subscribe: pageStore.subscribe },
|
||||
navigating: { subscribe: navigatingStore.subscribe },
|
||||
updated: updatedStore
|
||||
}));
|
||||
|
||||
vi.mock('canvas-confetti', () => ({
|
||||
default: vi.fn()
|
||||
}));
|
||||
|
||||
class MockIntersectionObserver {
|
||||
observe() {}
|
||||
unobserve() {}
|
||||
disconnect() {}
|
||||
}
|
||||
|
||||
class MockResizeObserver {
|
||||
observe() {}
|
||||
unobserve() {}
|
||||
disconnect() {}
|
||||
}
|
||||
|
||||
beforeAll(() => {
|
||||
Object.defineProperty(window, 'matchMedia', {
|
||||
writable: true,
|
||||
value: vi.fn().mockImplementation((query: string) => ({
|
||||
matches: false,
|
||||
media: query,
|
||||
onchange: null,
|
||||
addListener: vi.fn(),
|
||||
removeListener: vi.fn(),
|
||||
addEventListener: vi.fn(),
|
||||
removeEventListener: vi.fn(),
|
||||
dispatchEvent: vi.fn()
|
||||
}))
|
||||
});
|
||||
|
||||
Object.defineProperty(window, 'scrollTo', {
|
||||
writable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
|
||||
Object.defineProperty(window, 'requestAnimationFrame', {
|
||||
writable: true,
|
||||
value: vi.fn(() => 0)
|
||||
});
|
||||
|
||||
Object.defineProperty(window, 'cancelAnimationFrame', {
|
||||
writable: true,
|
||||
value: vi.fn()
|
||||
});
|
||||
|
||||
Object.defineProperty(globalThis, 'IntersectionObserver', {
|
||||
writable: true,
|
||||
value: MockIntersectionObserver
|
||||
});
|
||||
|
||||
Object.defineProperty(globalThis, 'ResizeObserver', {
|
||||
writable: true,
|
||||
value: MockResizeObserver
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
cleanup();
|
||||
resetMockPage();
|
||||
vi.clearAllMocks();
|
||||
document.head.innerHTML = '';
|
||||
});
|
||||
Reference in New Issue
Block a user