import * as React from 'react';
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { ToggleGroup } from '../ToggleGroup';
import { ToggleGroupItem } from '../ToggleGroupItem';
const props = {
onChange: jest.fn(),
selected: false
};
describe('ToggleGroup', () => {
test('basic selected', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('basic not selected', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('icon variant', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('isDisabled', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('item passes selection and event to onChange handler', async () => {
const user = userEvent.setup();
render(
);
await user.click(screen.getByRole('button'));
expect(props.onChange).toHaveBeenCalledWith(expect.any(Object), true);
});
test('isCompact', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('should render non-ToggleGroupItem children', () => {
const { asFragment } = render(
{false && }
{'Test 3'}
{undefined}
{null}
);
expect(asFragment()).toMatchSnapshot();
});
});