import React from 'react';
import { MenuToggle } from '../MenuToggle';
import { MenuToggleCheckbox } from '../MenuToggleCheckbox';
import { Badge } from '../../Badge';
import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
import userEvent from '@testing-library/user-event';
import { fireEvent, render, screen } from '@testing-library/react';
describe('menu toggle', () => {
test('renders successfully', () => {
const { asFragment } = render(Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('passes additional classes', () => {
const { asFragment } = render(Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('shows isExpanded', () => {
const { asFragment } = render(Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('shows isDisabled', () => {
const { asFragment } = render(Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('shows isPrimary', () => {
const { asFragment } = render(Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('shows isPlain', () => {
const { asFragment } = render(
);
expect(asFragment()).toMatchSnapshot();
});
test('shows plain text', () => {
const { asFragment } = render(Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('shows icon', () => {
const { asFragment } = render(}>Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('shows badge', () => {
const { asFragment } = render(badge}>Toggle);
expect(asFragment()).toMatchSnapshot();
});
test('split toggle passes onClick', async () => {
const mockClick = jest.fn();
const user = userEvent.setup();
render(
10 selected
]
}}
aria-label="Menu toggle with checkbox split button and text"
/>);
await user.click(screen.getByRole(`button`) as Element);
expect(mockClick).toHaveBeenCalled();
});
});