import { describe, it, expect, vi } from 'vitest' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { Header } from './Header' describe('Header', () => { it('renders header with default title', () => { render(
) expect(screen.getByTestId('header-title')).toHaveTextContent('Föräldraledigplannerare') }) it('renders header with custom title', () => { render(
) expect(screen.getByTestId('header-title')).toHaveTextContent('Custom Title') }) it('renders logout button when onLogout provided', () => { const onLogout = vi.fn() render(
) const button = screen.getByTestId('logout-button') expect(button).toBeInTheDocument() }) it('calls onLogout when logout button clicked', async () => { const onLogout = vi.fn() render(
) const button = screen.getByTestId('logout-button') await userEvent.click(button) expect(onLogout).toHaveBeenCalled() }) it('renders workspace selector button when onWorkspaceSelect provided', () => { const onWorkspaceSelect = vi.fn() render(
) expect(screen.getByTestId('workspace-selector')).toBeInTheDocument() }) it('calls onWorkspaceSelect when workspace button clicked', async () => { const onWorkspaceSelect = vi.fn() render(
) const button = screen.getByTestId('workspace-selector') await userEvent.click(button) expect(onWorkspaceSelect).toHaveBeenCalled() }) it('does not render buttons when no handlers provided', () => { render(
) expect(screen.queryByTestId('logout-button')).not.toBeInTheDocument() expect(screen.queryByTestId('workspace-selector')).not.toBeInTheDocument() }) })