| import '@testing-library/jest-dom'; |
| import { cleanup } from '@testing-library/react'; |
| import { afterEach } from 'vitest'; |
| |
| // Cleanup after each test |
| afterEach(() => { |
| cleanup(); |
| }); |
| |
| // Mock window.matchMedia |
| Object.defineProperty(window, 'matchMedia', { |
| writable: true, |
| value: vi.fn().mockImplementation((query) => ({ |
| matches: false, |
| media: query, |
| onchange: null, |
| addListener: vi.fn(), |
| removeListener: vi.fn(), |
| addEventListener: vi.fn(), |
| removeEventListener: vi.fn(), |
| dispatchEvent: vi.fn(), |
| })), |
| }); |
| |
| // Mock IntersectionObserver |
| global.IntersectionObserver = class IntersectionObserver { |
| constructor() {} |
| disconnect() {} |
| observe() {} |
| takeRecords() { |
| return []; |
| } |
| unobserve() {} |
| } as any; |