vitest.setup.ts37 lines · main
1/// <reference types="@testing-library/jest-dom" />
2import '@testing-library/jest-dom/vitest'
3
4import { cleanup } from '@testing-library/react'
5import { afterEach, vi } from 'vitest'
6
7Object.defineProperty(window, 'matchMedia', {
8 writable: true,
9 value: vi.fn().mockImplementation((query) => ({
10 matches: false,
11 media: query,
12 onchange: null,
13 addListener: vi.fn(), // deprecated
14 removeListener: vi.fn(), // deprecated
15 addEventListener: vi.fn(),
16 removeEventListener: vi.fn(),
17 dispatchEvent: vi.fn(),
18 })),
19})
20
21// Mock ResizeObserver
22global.ResizeObserver = vi.fn().mockImplementation(function () {
23 return {
24 observe: vi.fn(),
25 unobserve: vi.fn(),
26 disconnect: vi.fn(),
27 }
28})
29
30// Mock scrollIntoView
31Element.prototype.scrollIntoView = vi.fn()
32
33vi.mock('next/navigation', () => require('next-router-mock'))
34
35afterEach(() => {
36 cleanup()
37})