vitest.setup.ts30 lines · main
1/// <reference types="@testing-library/jest-dom" />
2
3import '@testing-library/jest-dom/vitest'
4
5import { cleanup } from '@testing-library/react'
6import { afterEach, vi } from 'vitest'
7
8Object.defineProperty(window, 'matchMedia', {
9 writable: true,
10 value: vi.fn().mockImplementation((query) => ({
11 matches: false,
12 media: query,
13 onchange: null,
14 addListener: vi.fn(), // deprecated
15 removeListener: vi.fn(), // deprecated
16 addEventListener: vi.fn(),
17 removeEventListener: vi.fn(),
18 dispatchEvent: vi.fn(),
19 })),
20})
21
22vi.mock('next/navigation', () => require('next-router-mock/navigation'))
23
24// jsdom doesn't implement pointer capture methods
25Element.prototype.setPointerCapture = vi.fn()
26Element.prototype.releasePointerCapture = vi.fn()
27
28afterEach(() => {
29 cleanup()
30})