/*
* 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);
});
});