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