/** * Jest Test Setup */ import '@testing-library/jest-dom' import { vi } from 'vitest' // Mock window.ethereum for Web3 tests Object.defineProperty(window, 'ethereum', { value: { request: vi.fn(), on: vi.fn(), removeListener: vi.fn(), isMetaMask: true, }, writable: true, }) // Mock localStorage const localStorageMock = { getItem: vi.fn(), setItem: vi.fn(), removeItem: vi.fn(), clear: vi.fn(), } global.localStorage = localStorageMock as any // Mock matchMedia Object.defineProperty(window, 'matchMedia', { writable: true, value: vi.fn().mockImplementation((query: string) => ({ matches: false, media: query, onchange: null, addListener: vi.fn(), removeListener: vi.fn(), addEventListener: vi.fn(), removeEventListener: vi.fn(), dispatchEvent: vi.fn(), })), }) // Suppress console errors in tests global.console = { ...console, error: vi.fn(), warn: vi.fn(), }