import '@testing-library/jest-dom' // Mock next/navigation jest.mock('next/navigation', () => ({ useRouter() { return { push: jest.fn(), replace: jest.fn(), prefetch: jest.fn(), back: jest.fn(), forward: jest.fn(), refresh: jest.fn(), } }, usePathname() { return '' }, useSearchParams() { return new URLSearchParams() }, })) // Mock localStorage const localStorageMock = { getItem: jest.fn(), setItem: jest.fn(), removeItem: jest.fn(), clear: jest.fn(), } global.localStorage = localStorageMock // Mock fetch global.fetch = jest.fn() // Mock socket.io-client jest.mock('socket.io-client', () => ({ io: jest.fn(() => ({ emit: jest.fn(), on: jest.fn(), disconnect: jest.fn(), join: jest.fn(), })), })) // Cleanup after each test afterEach(() => { jest.clearAllMocks() })