import "@testing-library/jest-dom"; import { vi } from "vitest"; // Mock localStorage const localStorageMock: Record = {}; Object.defineProperty(window, "localStorage", { value: { getItem: (key: string) => localStorageMock[key] || null, setItem: (key: string, value: string) => { localStorageMock[key] = value; }, removeItem: (key: string) => { delete localStorageMock[key]; }, clear: () => { Object.keys(localStorageMock).forEach((key) => delete localStorageMock[key]); }, }, writable: true, }); // Mock matchMedia Object.defineProperty(window, "matchMedia", { writable: true, value: vi.fn().mockImplementation((query: string) => ({ matches: query === "(prefers-color-scheme: dark)" ? true : false, media: query, onchange: null, addEventListener: vi.fn(), removeEventListener: vi.fn(), dispatchEvent: vi.fn(), })), });