import { describe, it, expect } from 'vitest'; import { render, screen } from '@testing-library/react'; import { Label } from '../label'; describe('Label', () => { it('renders label with text', () => { render(); expect(screen.getByText('Name')).toBeInTheDocument(); }); it('applies custom className', () => { render(); expect(screen.getByText('Test')).toHaveClass('custom-label'); }); it('renders as label element', () => { render(); const label = screen.getByTestId('label'); expect(label.tagName).toBe('LABEL'); }); it('associates with input via htmlFor', () => { render( <> ); const label = screen.getByText('Email'); expect(label).toHaveAttribute('for', 'email'); }); it('applies default styling', () => { render(); const label = screen.getByTestId('styled'); expect(label).toHaveClass('text-sm', 'font-medium'); }); it('renders with children elements', () => { render( ); expect(screen.getByText('Required')).toBeInTheDocument(); }); });