Files
MOHPortal/frontend/src/App.test.js
ReachableCEO 252775faf3
Some checks failed
CI / Backend Tests (push) Failing after 2m41s
CI / Frontend Tests (push) Successful in 2m14s
CI / Build Docker Images (push) Has been skipped
chore: sync infra docs and coverage
2025-10-16 22:41:22 -05:00

56 lines
1.4 KiB
JavaScript

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 }) => <div>{children}</div>,
Routes: ({ children }) => <div>{children}</div>,
Route: ({ children }) => <div>{children}</div>,
Navigate: ({ to }) => <div data-testid="navigate">{to}</div>,
Outlet: () => <div data-testid="outlet">Outlet</div>
}));
// Mock react-query
jest.mock('react-query', () => ({
QueryClient: jest.fn(() => ({})),
QueryClientProvider: ({ children }) => <div>{children}</div>
}));
// Mock react-hot-toast
jest.mock('react-hot-toast', () => ({
Toaster: () => <div data-testid="toaster">Toaster</div>
}));
describe('App', () => {
it('renders without crashing', () => {
render(<App />);
expect(screen.getByTestId('toaster')).toBeInTheDocument();
});
});