import { render, screen } from '@testing-library/react'; import { describe, it, expect } from 'vitest'; import StatusBadge from './StatusBadge'; describe('StatusBadge', () => { it('renders "Confirmed" label for confirmed status', () => { render(); expect(screen.getByText('Confirmed')).toBeInTheDocument(); }); it('renders "Pending" label for pending status', () => { render(); expect(screen.getByText('Pending')).toBeInTheDocument(); }); it('renders "Cancelled" label for cancelled status', () => { render(); expect(screen.getByText('Cancelled')).toBeInTheDocument(); }); it('falls back to raw status string for unknown status', () => { render(); expect(screen.getByText('unknown-state')).toBeInTheDocument(); }); it('sets aria-label with status text', () => { render(); expect(screen.getByRole('generic', { name: /status: confirmed/i })).toBeInTheDocument(); }); it('applies size modifier class', () => { const { container } = render(); const badge = container.firstChild; expect(badge.className).toMatch(/sm/); }); });