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