import React from 'react'; import { render, screen } from '@testing-library/react'; import '@testing-library/jest-dom'; import userEvent from '@testing-library/user-event'; import { Menu } from '../Menu'; import { MenuItem } from '../MenuItem'; import { MenuList } from '../MenuList'; import { MenuContent } from '../MenuContent'; describe('Menu', () => { test('should render Menu successfully', () => { const { asFragment } = render(
); expect(asFragment()).toMatchSnapshot(); }); describe('with isPlain', () => { test('should render Menu with plain styles applied', () => { render( ); expect(screen.getByText('content')).toHaveClass('pf-m-plain'); }); }); describe('with isScrollable', () => { test('should render Menu with scrollable styles applied', () => { render( ); expect(screen.getByText('content')).toHaveClass('pf-m-scrollable'); }); }); describe('with isNavFlyout', () => { test('should render Menu with nav flyout styles applied', () => { render( ); expect(screen.getByText('content')).toHaveClass('pf-m-nav'); }); }); describe('with hasCheckbox', () => { test('should render Menu with checkbox items', () => { const { asFragment } = render( ); const checkbox1 = screen.getAllByRole('checkbox')[0]; expect(checkbox1).not.toBeChecked(); expect(screen.getByText("Checkbox 1")).toBeInTheDocument(); }); }); });