import React from 'react';
import userEvent from '@testing-library/user-event';
import renderWithTheme from '../../../testUtils/renderWithTheme';
import Checkbox from '..';
const CheckboxButtonGroup = Checkbox.ButtonGroup;
const options = [
{ value: 'hr_software', text: 'HR Software' },
{ value: 'digital_payroll', text: 'Digital Payroll', disabled: true },
{ value: 'global_teams', text: 'Global Teams' },
];
describe('rendering', () => {
it('shows all options', () => {
const { getByText } = renderWithTheme(
);
expect(getByText('HR Software')).toBeInTheDocument();
expect(getByText('Digital Payroll')).toBeInTheDocument();
expect(getByText('Global Teams')).toBeInTheDocument();
});
});
describe('interaction', () => {
it('allows multiple choices', () => {
const onChange = jest.fn();
const { getByText } = renderWithTheme(
);
userEvent.click(getByText('HR Software'));
expect(onChange).toHaveBeenCalledTimes(1);
expect(onChange).toHaveBeenCalledWith(['hr_software']);
userEvent.click(getByText('Global Teams'));
expect(onChange).toHaveBeenCalledTimes(2);
expect(onChange).toHaveBeenCalledWith(['global_teams']);
});
});