/* * Copyright (c) 2015 Nordic Semiconductor ASA * * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause */ import React from 'react'; import { fireEvent, screen } from '@testing-library/react'; import render from '../../test/testrenderer'; import Dropdown from './Dropdown'; const items = [ { label: 'Foo', value: 'foo', }, { label: 'Bar', value: 'Bar', }, ]; describe('Dropdown', () => { it('shows a list of items', () => { render( , ); expect(screen.getAllByText('Foo').length).toBe(2); // default selected + item expect(screen.getByText('Bar')).toBeInTheDocument(); }); it('calls onSelect', () => { const onSelect = jest.fn(); const item = items[1]; render( , ); const dropdownItem = screen.getByText(item.label); fireEvent.click(dropdownItem); expect(onSelect).toHaveBeenCalledWith(item); }); it('selects the correct item', () => { render( , ); expect(screen.getAllByText('Bar').length).toBe(2); }); });