import { DropdownGroup } from '../../Dropdown'; import { render, screen } from '@testing-library/react'; import React from 'react'; jest.mock('../../Menu'); const dropdownGroupChildren =
Dropdown Group children
; test('renders dropdown group', () => { render(
{dropdownGroupChildren}
); expect(screen.getByTestId('dropdown-group').children[0]).toBeVisible(); }); test('passes children', () => { render({dropdownGroupChildren}); expect(screen.getByText('Dropdown Group children')).toBeVisible(); }); test('passes no class name by default', () => { render({dropdownGroupChildren}); expect(screen.getByTestId('menu-group-mock')).not.toHaveClass(); }); test('passes custom class name to MenuGroup', () => { render({dropdownGroupChildren}); expect(screen.getByTestId('menu-group-mock')).toHaveClass('custom-class'); }); test('passes no label by default', () => { render({dropdownGroupChildren}); expect(screen.getByText('label: undefined')).toBeVisible(); }); test('passes custom label to MenuGroup', () => { render({dropdownGroupChildren}); expect(screen.getByText('label: Test label')).toBeVisible(); }); test('passes h1 as labelHeadingLevel to MenuGroup by default', () => { render({dropdownGroupChildren}); expect(screen.getByText('labelHeadingLevel: h1')).toBeVisible(); }); test('passes custom labelHeadingLevel to MenuGroup', () => { render({dropdownGroupChildren}); expect(screen.getByText('labelHeadingLevel: h2')).toBeVisible(); }); test('matches snapshot', () => { const { asFragment } = render( {dropdownGroupChildren} ); expect(asFragment()).toMatchSnapshot(); });