Inicjalna wersja systemu zarządzania rezerwacjami (RMS)
SPA zbudowane w React 19 + Vite 8 z pełnym zestawem funkcjonalności: autentykacja z 2FA, kreator rezerwacji, panel admina, analityka, GraphQL (Apollo Client + SchemaLink), React Query, Storybook, testy jednostkowe (Vitest + RTL) i e2e (Playwright).
This commit is contained in:
36
src/components/StatusBadge.test.jsx
Normal file
36
src/components/StatusBadge.test.jsx
Normal file
@@ -0,0 +1,36 @@
|
||||
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(<StatusBadge status="confirmed" />);
|
||||
expect(screen.getByText('Confirmed')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders "Pending" label for pending status', () => {
|
||||
render(<StatusBadge status="pending" />);
|
||||
expect(screen.getByText('Pending')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders "Cancelled" label for cancelled status', () => {
|
||||
render(<StatusBadge status="cancelled" />);
|
||||
expect(screen.getByText('Cancelled')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('falls back to raw status string for unknown status', () => {
|
||||
render(<StatusBadge status="unknown-state" />);
|
||||
expect(screen.getByText('unknown-state')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('sets aria-label with status text', () => {
|
||||
render(<StatusBadge status="confirmed" />);
|
||||
expect(screen.getByRole('generic', { name: /status: confirmed/i })).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('applies size modifier class', () => {
|
||||
const { container } = render(<StatusBadge status="pending" size="sm" />);
|
||||
const badge = container.firstChild;
|
||||
expect(badge.className).toMatch(/sm/);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user