import { describe, it, expect } from 'vitest';
import { render, screen } from '@testing-library/react';
import { Button } from '../components/ui/Button';
import { Badge } from '../components/ui/Badge';
import { Card, CardHeader, CardContent } from '../components/ui/Card';
describe('UI Components', () => {
describe('Button', () => {
it('renders with children', () => {
render();
expect(screen.getByText('Click me')).toBeInTheDocument();
});
it('applies variant classes', () => {
render();
const button = screen.getByText('Primary');
expect(button).toHaveClass('btn-primary');
});
it('is disabled when disabled prop is true', () => {
render();
const button = screen.getByText('Disabled');
expect(button).toBeDisabled();
});
});
describe('Badge', () => {
it('renders with text', () => {
render(Status);
expect(screen.getByText('Status')).toBeInTheDocument();
});
it('applies success variant classes', () => {
render(Success);
const badge = screen.getByText('Success');
expect(badge).toHaveClass('text-green-400');
});
});
describe('Card', () => {
it('renders card with header and content', () => {
render(
Card content
);
expect(screen.getByText('Test Card')).toBeInTheDocument();
expect(screen.getByText('Card content')).toBeInTheDocument();
});
});
});