Add tests for Header, Layout, MainContent, and Sidebar components

This commit is contained in:
2025-07-05 17:39:23 +02:00
parent 7742a04d9a
commit 2747f51293
5 changed files with 566 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
import { describe, it, expect, vi } from 'vitest';
import { render } from '../../test/utils';
import Header from './Header';
// Mock the child components
vi.mock('../navigation/UserMenu', () => ({
default: () => <div data-testid="user-menu">User Menu</div>,
}));
vi.mock('../navigation/WorkspaceSwitcher', () => ({
default: () => <div data-testid="workspace-switcher">Workspace Switcher</div>,
}));
vi.mock('../settings/workspace/WorkspaceSettings', () => ({
default: () => <div data-testid="workspace-settings">Workspace Settings</div>,
}));
const TestWrapper = ({ children }: { children: React.ReactNode }) => (
<div>{children}</div>
);
describe('Header', () => {
it('renders the app title', () => {
const { getByText } = render(
<TestWrapper>
<Header />
</TestWrapper>
);
expect(getByText('Lemma')).toBeInTheDocument();
});
it('renders user menu component', () => {
const { getByTestId } = render(
<TestWrapper>
<Header />
</TestWrapper>
);
expect(getByTestId('user-menu')).toBeInTheDocument();
});
it('renders workspace switcher component', () => {
const { getByTestId } = render(
<TestWrapper>
<Header />
</TestWrapper>
);
expect(getByTestId('workspace-switcher')).toBeInTheDocument();
});
it('renders workspace settings component', () => {
const { getByTestId } = render(
<TestWrapper>
<Header />
</TestWrapper>
);
expect(getByTestId('workspace-settings')).toBeInTheDocument();
});
});