import { render, screen } from '@testing-library/react'; import { describe, expect, it } from 'vitest'; import { Badge } from '../badge'; describe('Badge (design-system)', () => { it('renders children', () => { render(Hoạt động); expect(screen.getByText('Hoạt động')).toBeInTheDocument(); }); it('renders as a span', () => { render(Test); expect(screen.getByTestId('b').tagName).toBe('SPAN'); }); it('applies default variant classes', () => { render(Default); expect(screen.getByTestId('b')).toHaveClass('bg-muted'); }); it('applies primary variant', () => { render(Primary); expect(screen.getByTestId('b')).toHaveClass('bg-primary/10'); }); it('applies warning variant', () => { render(Warning); expect(screen.getByTestId('b')).toHaveClass('bg-warning/10'); }); it('applies destructive variant', () => { render(Error); expect(screen.getByTestId('b')).toHaveClass('bg-destructive/10'); }); it('applies outline variant', () => { render(Outline); expect(screen.getByTestId('b')).toHaveClass('bg-transparent'); }); it('merges custom className', () => { render(Custom); expect(screen.getByTestId('b')).toHaveClass('custom-class'); }); });