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(); }); });