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