import { fireEvent, render, screen } from '@testing-library/react';
import { Checkbox } from './checkbox';
describe('Checkbox', () => {
it('should render checkbox with label successfully', () => {
render();
expect(screen.getByText('test')).toBeInTheDocument();
});
it('should render a checked checkbox if specified in state', () => {
render();
expect(screen.getByRole('img')).toBeInTheDocument();
});
it('should render an unchecked checkbox if specified in state', () => {
render();
expect(screen.queryByRole('img')).not.toBeInTheDocument();
});
it('should render an indeterminate checkbox if specified in state', () => {
render();
expect(screen.getByTestId('indeterminate-icon')).toBeInTheDocument();
});
it('fires callback on change if provided', () => {
const callback = jest.fn();
render(
);
const checkbox = screen.getByText('onchange');
fireEvent.click(checkbox);
expect(callback).toHaveBeenCalled();
});
});