26 lines
754 B
TypeScript
26 lines
754 B
TypeScript
import { describe, expect, test, vi, beforeEach } from 'vitest';
|
|
|
|
describe('main entry point', () => {
|
|
beforeEach(() => {
|
|
vi.resetModules();
|
|
vi.clearAllMocks();
|
|
document.body.innerHTML = '<div id="root"></div>';
|
|
});
|
|
|
|
test('renders app when root element exists', async () => {
|
|
const render = vi.fn();
|
|
vi.mock('react-dom/client', () => ({ createRoot: () => ({ render }) }));
|
|
|
|
await import('../src/main');
|
|
|
|
expect(render).toHaveBeenCalled();
|
|
});
|
|
|
|
test('throws when root element is missing', async () => {
|
|
document.body.innerHTML = '';
|
|
vi.mock('react-dom/client', () => ({ createRoot: () => ({ render: vi.fn() }) }));
|
|
|
|
await expect(import('../src/main')).rejects.toThrow('Root element not found');
|
|
});
|
|
});
|