vitest.setup.ts 884 B

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