mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-30 05:23:53 +03:00
922985f9ea
* chore(deps): update dependency prettier to v3 * Format --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Nathan Bierema <nbierema@gmail.com>
64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import React from 'react';
|
|
import { render, screen } from '@testing-library/react';
|
|
import userEvent from '@testing-library/user-event';
|
|
import { Select } from '../src';
|
|
import { options } from '../src/Select/options';
|
|
|
|
describe('Select', function () {
|
|
it('renders correctly', () => {
|
|
const { container } = render(
|
|
<Select
|
|
options={options}
|
|
onChange={() => {
|
|
// noop
|
|
}}
|
|
/>,
|
|
);
|
|
expect(container.firstChild).toMatchSnapshot();
|
|
});
|
|
|
|
it('renders with props', () => {
|
|
const { container } = render(
|
|
<Select
|
|
options={options}
|
|
onChange={() => {
|
|
// noop
|
|
}}
|
|
value={options.filter((option) => option.value === 'one')}
|
|
maxMenuHeight={20}
|
|
isClearable
|
|
isDisabled
|
|
isLoading
|
|
isMulti
|
|
isSearchable={false}
|
|
menuPlacement="top"
|
|
/>,
|
|
);
|
|
expect(container.firstChild).toMatchSnapshot();
|
|
});
|
|
|
|
it('should select another option', async () => {
|
|
const onChange = jest.fn();
|
|
const { container } = render(
|
|
<Select options={options} onChange={onChange} />,
|
|
);
|
|
|
|
await userEvent.type(screen.getByRole('combobox'), 'two');
|
|
expect(container.firstChild).toMatchSnapshot();
|
|
await userEvent.type(screen.getByRole('combobox'), '{enter}');
|
|
expect(onChange).toHaveBeenCalled();
|
|
});
|
|
|
|
it("shouldn't find any results", async () => {
|
|
const onChange = jest.fn();
|
|
const { container } = render(
|
|
<Select options={options} onChange={onChange} />,
|
|
);
|
|
|
|
await userEvent.type(screen.getByRole('combobox'), 'text');
|
|
expect(container.firstChild).toMatchSnapshot();
|
|
await userEvent.type(screen.getByRole('combobox'), '{enter}');
|
|
expect(onChange).not.toHaveBeenCalled();
|
|
});
|
|
});
|