import { render, screen, fireEvent } from '@testing-library/react';
import { Checkbox } from '../checkbox';
describe('Checkbox input', () => {
it('should render without throwing an error', () => {
render();
const checkbox = screen.getByRole('checkbox');
expect(checkbox).toBeTruthy();
});
it('should be checked when clicked', () => {
render();
const checkbox = screen.getByRole('checkbox');
expect(checkbox).not.toBeChecked();
fireEvent.click(checkbox);
expect(checkbox).toBeChecked();
});
it('should be label checked', () => {
render(Checkbox);
const checkbox = screen.getByRole('checkbox', {
name: /checkbox/i
});
expect(checkbox).toBeTruthy();
});
it('should be label classname checked', () => {
const { container } = render(
Checkbox
);
const label = container.querySelector('label');
expect(label).toHaveClass('accent-primary');
});
it('should be error message checked', () => {
const error = {
type: '',
message: 'Error message'
};
render();
const errorMessage = screen.getByText(error.message);
expect(errorMessage).toBeTruthy();
});
});