Files
raceplanner/frontend/jest.setup.ts
T

63 lines
1.2 KiB
TypeScript
Raw Normal View History

2026-04-05 22:16:44 +02:00
import '@testing-library/jest-dom';
// Mock Next.js router
jest.mock('next/navigation', () => ({
useRouter() {
return {
route: '/',
pathname: '/',
query: {},
asPath: '/',
push: jest.fn(),
replace: jest.fn(),
reload: jest.fn(),
back: jest.fn(),
prefetch: jest.fn(),
beforePopState: jest.fn(),
events: {
on: jest.fn(),
off: jest.fn(),
emit: jest.fn(),
},
isFallback: false,
isLocaleDomain: false,
isReady: true,
isPreview: false,
};
},
useSearchParams() {
return {
get: jest.fn(),
getAll: jest.fn(),
has: jest.fn(),
entries: jest.fn(),
keys: jest.fn(),
values: jest.fn(),
forEach: jest.fn(),
};
},
usePathname() {
return '/';
},
}));
// Mock window.matchMedia
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation(query => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
// Clean up after each test
afterEach(() => {
jest.clearAllMocks();
});