import '@testing-library/jest-dom' import { vi } from 'vitest' // Mock next/navigation vi.mock('next/navigation', () => ({ useRouter: () => ({ push: vi.fn(), replace: vi.fn(), prefetch: vi.fn(), }), usePathname: () => '', useSearchParams: () => new URLSearchParams(), })) // Mock window.matchMedia Object.defineProperty(window, 'matchMedia', { writable: true, value: vi.fn().mockImplementation(query => ({ matches: false, media: query, onchange: null, addListener: vi.fn(), // Deprecated removeListener: vi.fn(), // Deprecated addEventListener: vi.fn(), removeEventListener: vi.fn(), dispatchEvent: vi.fn(), })), }) // Mock @/lib/hooks/use-translation with standard t() function vi.mock('../lib/hooks/use-translation', () => { return { useTranslation: () => ({ t: (key: string) => key, language: 'en-US', setLanguage: vi.fn(), }), } }) // Mock @/lib/hooks/use-auth vi.mock('@/lib/hooks/use-auth', () => ({ useAuth: vi.fn(() => ({ user: { id: '1', email: 'test@example.com' }, logout: vi.fn(), isLoading: false, })), })) // Mock @/lib/stores/sidebar-store vi.mock('@/lib/stores/sidebar-store', () => ({ useSidebarStore: vi.fn(() => ({ isCollapsed: false, toggleCollapse: vi.fn(), })), })) // Mock @/lib/hooks/use-create-dialogs vi.mock('@/lib/hooks/use-create-dialogs', () => ({ useCreateDialogs: vi.fn(() => ({ openSourceDialog: vi.fn(), openNotebookDialog: vi.fn(), openPodcastDialog: vi.fn(), })), }))