import { describe, it, expect } from 'vitest';
import { render, screen } from '@testing-library/react';
import { Checkbox } from '../checkbox';
describe('Checkbox', () => {
it('renders checkbox', () => {
render();
expect(screen.getByTestId('checkbox')).toBeInTheDocument();
});
it('applies custom className', () => {
render();
expect(screen.getByTestId('checkbox')).toHaveClass('custom-checkbox');
});
it('renders with checkbox role', () => {
render();
const checkbox = screen.getByTestId('checkbox');
expect(checkbox).toHaveAttribute('role', 'checkbox');
});
it('has unchecked state by default', () => {
render();
const checkbox = screen.getByTestId('checkbox');
expect(checkbox).toHaveAttribute('aria-checked', 'false');
});
it('can be checked', () => {
render();
const checkbox = screen.getByTestId('checkbox');
expect(checkbox).toHaveAttribute('aria-checked', 'true');
});
it('is disabled when disabled prop is true', () => {
render();
const checkbox = screen.getByTestId('checkbox');
expect(checkbox).toBeDisabled();
});
it('has default styling', () => {
render();
const checkbox = screen.getByTestId('checkbox');
expect(checkbox).toHaveClass('peer', 'h-4', 'w-4');
});
});