import { DropdownItem } from '../../Dropdown'; import { render, screen } from '@testing-library/react'; import React from 'react'; jest.mock('../../Menu'); const dropdownItemChildren =
Dropdown Item children
; test('renders dropdown item', () => { render(
{dropdownItemChildren}
); expect(screen.getByTestId('dropdown-item').children[0]).toBeVisible(); }); test('passes children', () => { render({dropdownItemChildren}); expect(screen.getByText('Dropdown Item children')).toBeVisible(); }); test('passes no class name by default', () => { render({dropdownItemChildren}); expect(screen.getByTestId('menu-item-mock')).not.toHaveClass(); }); test('passes custom class name to MenuItem', () => { render({dropdownItemChildren}); expect(screen.getByTestId('menu-item-mock')).toHaveClass('custom-class'); }); test('passes no description by default', () => { render({dropdownItemChildren}); expect(screen.getByText('description: undefined')).toBeVisible(); }); test('passes custom description to MenuItem', () => { render({dropdownItemChildren}); expect(screen.getByText('description: Test description')).toBeVisible(); }); test('passes no itemId by default', () => { render({dropdownItemChildren}); expect(screen.getByText('itemId: undefined')); }); test('passes itemId to MenuItem', () => { render( {dropdownItemChildren} ); expect(screen.getByText('itemId: dropdown item')); }); test('matches snapshot', () => { const { asFragment } = render( {dropdownItemChildren} ); expect(asFragment()).toMatchSnapshot(); });