forked from grafana/grafana
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDataSourcePicker.test.tsx
34 lines (26 loc) · 1.08 KB
/
DataSourcePicker.test.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { DataSourcePicker } from './DataSourcePicker';
jest.mock('../services/dataSourceSrv');
describe('DataSourcePicker', () => {
describe('onClear', () => {
it('should call onClear when function is passed', async () => {
const onClear = jest.fn();
const select = render(<DataSourcePicker onClear={onClear} />);
const clearButton = select.getByLabelText('select-clear-value');
await userEvent.click(clearButton);
expect(onClear).toHaveBeenCalled();
});
it('should not render clear button when no onClear function is passed', async () => {
const select = render(<DataSourcePicker />);
expect(() => {
select.getByLabelText('select-clear-value');
}).toThrowError();
});
it('should pass disabled prop', async () => {
render(<DataSourcePicker disabled={true} />);
const input = screen.getByLabelText('Select a data source');
expect(input).toHaveProperty('disabled', true);
});
});
});