import React from 'react';
import { screen, render } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { RadioInput } from './';
describe('RadioInput component', () => {
describe('given default props', () => {
it('has an input of type radio as child', async () => {
const onChange = vi.fn();
render(
,
);
expect(screen.getByRole('radio')).not.toBeChecked();
await userEvent.click(screen.getByRole('radio'));
expect(onChange).toHaveBeenCalledTimes(1);
});
});
describe('given `isChecked` props', () => {
describe('when sets to `true`', () => {
it('has a checked input as child', () => {
render();
expect(screen.getByRole('radio')).toBeChecked();
});
});
});
describe('given a `isDisabled` props', () => {
describe('when sets to `true`', () => {
it('has a disabled input as child', () => {
render(
,
);
expect(screen.getByRole('radio')).toBeDisabled();
});
});
});
});