import React from 'react'; import { render, screen } from '@testing-library/react'; import App from './App'; jest.mock('axios', () => ({ __esModule: true, default: { get: jest.fn(() => Promise.resolve({ data: {} })), interceptors: { request: { use: jest.fn() }, response: { use: jest.fn() } } }, get: jest.fn(() => Promise.resolve({ data: {} })) }), { virtual: true }); // Mock the AuthContext jest.mock('./contexts/AuthContext', () => ({ useAuth: () => ({ user: null, loading: false, login: jest.fn(), register: jest.fn(), logout: jest.fn(), fetchUser: jest.fn() }), AuthProvider: ({ children }) => children })); // Mock react-router-dom jest.mock('react-router-dom', () => ({ BrowserRouter: ({ children }) =>
{children}
, Routes: ({ children }) =>
{children}
, Route: ({ children }) =>
{children}
, Navigate: ({ to }) =>
{to}
, Outlet: () =>
Outlet
})); // Mock react-query jest.mock('react-query', () => ({ QueryClient: jest.fn(() => ({})), QueryClientProvider: ({ children }) =>
{children}
})); // Mock react-hot-toast jest.mock('react-hot-toast', () => ({ Toaster: () =>
Toaster
})); describe('App', () => { it('renders without crashing', () => { render(); expect(screen.getByTestId('toaster')).toBeInTheDocument(); }); });