setup.ts 1003 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import '@testing-library/jest-dom';
  2. import { vi } from 'vitest';
  3. // Mock fetch globally
  4. Object.defineProperty(global, 'fetch', {
  5. value: vi.fn(),
  6. writable: true,
  7. });
  8. // Mock window.matchMedia
  9. Object.defineProperty(window, 'matchMedia', {
  10. writable: true,
  11. value: vi.fn().mockImplementation(query => ({
  12. matches: false,
  13. media: query,
  14. onchange: null,
  15. addListener: vi.fn(), // deprecated
  16. removeListener: vi.fn(), // deprecated
  17. addEventListener: vi.fn(),
  18. removeEventListener: vi.fn(),
  19. dispatchEvent: vi.fn(),
  20. })),
  21. });
  22. // Mock IntersectionObserver
  23. Object.defineProperty(window, 'IntersectionObserver', {
  24. writable: true,
  25. value: vi.fn().mockImplementation(() => ({
  26. observe: vi.fn(),
  27. unobserve: vi.fn(),
  28. disconnect: vi.fn(),
  29. })),
  30. });
  31. // Mock ResizeObserver
  32. Object.defineProperty(window, 'ResizeObserver', {
  33. writable: true,
  34. value: vi.fn().mockImplementation(() => ({
  35. observe: vi.fn(),
  36. unobserve: vi.fn(),
  37. disconnect: vi.fn(),
  38. })),
  39. });