import { render, screen } from '@testing-library/react'; import Dropdown from './Dropdown'; describe('Dropdown.Item', () => { const onSelectMock = jest.fn< [ { event: React.ChangeEvent; item: { label: string; subtext?: string; value: string; }; }, ], // @ts-expect-error - TS2344 - Type 'undefined' does not satisfy the constraint 'any[]'. undefined >(); test('calls onSelect when Item clicked', () => { render( , ); screen.getByText('Item 4').click(); expect(onSelectMock).toHaveBeenCalled(); }); test('adds badge', () => { render( , ); // eslint-disable-next-line testing-library/prefer-presence-queries -- Please fix the next time this file is touched! expect(screen.queryByText('Beta Badge')).toBeInTheDocument(); }); test('adds avatar', () => { render( , ); expect(screen.getByAltText('Ayesha avatar')).toBeInTheDocument(); }); test('adds selected icon when item is selected', () => { render( , ); expect(screen.getByRole('img', { name: /Selected Item/i })).toBeInTheDocument(); }); });