Spaces:
Sleeping
Sleeping
| 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(<Button>Click me</Button>); | |
| expect(screen.getByText('Click me')).toBeInTheDocument(); | |
| }); | |
| it('applies variant classes', () => { | |
| render(<Button variant="primary">Primary</Button>); | |
| const button = screen.getByText('Primary'); | |
| expect(button).toHaveClass('btn-primary'); | |
| }); | |
| it('is disabled when disabled prop is true', () => { | |
| render(<Button disabled>Disabled</Button>); | |
| const button = screen.getByText('Disabled'); | |
| expect(button).toBeDisabled(); | |
| }); | |
| }); | |
| describe('Badge', () => { | |
| it('renders with text', () => { | |
| render(<Badge>Status</Badge>); | |
| expect(screen.getByText('Status')).toBeInTheDocument(); | |
| }); | |
| it('applies success variant classes', () => { | |
| render(<Badge variant="success">Success</Badge>); | |
| const badge = screen.getByText('Success'); | |
| expect(badge).toHaveClass('text-green-400'); | |
| }); | |
| }); | |
| describe('Card', () => { | |
| it('renders card with header and content', () => { | |
| render( | |
| <Card> | |
| <CardHeader title="Test Card" /> | |
| <CardContent>Card content</CardContent> | |
| </Card> | |
| ); | |
| expect(screen.getByText('Test Card')).toBeInTheDocument(); | |
| expect(screen.getByText('Card content')).toBeInTheDocument(); | |
| }); | |
| }); | |
| }); | |