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');
});
});