mirror of
https://github.com/ansible/awx.git
synced 2026-03-27 22:05:07 -02:30
update tests to check for PF Select
This commit is contained in:
@@ -3,19 +3,22 @@ import { mount } from 'enzyme';
|
|||||||
import TagMultiSelect from './TagMultiSelect';
|
import TagMultiSelect from './TagMultiSelect';
|
||||||
|
|
||||||
describe('<TagMultiSelect />', () => {
|
describe('<TagMultiSelect />', () => {
|
||||||
it('should render MultiSelect', () => {
|
it('should render Select', () => {
|
||||||
const wrapper = mount(
|
const wrapper = mount(
|
||||||
<TagMultiSelect value="foo,bar" onChange={jest.fn()} />
|
<TagMultiSelect value="foo,bar" onChange={jest.fn()} />
|
||||||
);
|
);
|
||||||
expect(wrapper.find('MultiSelect').prop('options')).toEqual([
|
wrapper.find('input').simulate('focus');
|
||||||
{ id: 'foo', name: 'foo' },
|
const options = wrapper.find('SelectOption');
|
||||||
{ id: 'bar', name: 'bar' },
|
expect(options).toHaveLength(2);
|
||||||
]);
|
expect(options.at(0).prop('value')).toEqual('foo');
|
||||||
|
expect(options.at(1).prop('value')).toEqual('bar');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not treat empty string as an option', () => {
|
it('should not treat empty string as an option', () => {
|
||||||
const wrapper = mount(<TagMultiSelect value="" onChange={jest.fn()} />);
|
const wrapper = mount(<TagMultiSelect value="" onChange={jest.fn()} />);
|
||||||
expect(wrapper.find('MultiSelect').prop('options')).toEqual([]);
|
wrapper.find('input').simulate('focus');
|
||||||
|
expect(wrapper.find('Select').prop('isExpanded')).toEqual(true);
|
||||||
|
expect(wrapper.find('SelectOption')).toHaveLength(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should trigger onChange', () => {
|
it('should trigger onChange', () => {
|
||||||
@@ -23,13 +26,9 @@ describe('<TagMultiSelect />', () => {
|
|||||||
const wrapper = mount(
|
const wrapper = mount(
|
||||||
<TagMultiSelect value="foo,bar" onChange={onChange} />
|
<TagMultiSelect value="foo,bar" onChange={onChange} />
|
||||||
);
|
);
|
||||||
|
wrapper.find('input').simulate('focus');
|
||||||
|
|
||||||
const select = wrapper.find('MultiSelect');
|
wrapper.find('Select').invoke('onSelect')(null, 'baz');
|
||||||
select.invoke('onChange')([
|
|
||||||
{ name: 'foo' },
|
|
||||||
{ name: 'bar' },
|
|
||||||
{ name: 'baz' },
|
|
||||||
]);
|
|
||||||
expect(onChange).toHaveBeenCalledWith('foo,bar,baz');
|
expect(onChange).toHaveBeenCalledWith('foo,bar,baz');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -19,12 +19,16 @@ describe('<LabelSelect />', () => {
|
|||||||
});
|
});
|
||||||
let wrapper;
|
let wrapper;
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
wrapper = mount(<LabelSelect value={[]} onError={() => {}} />);
|
wrapper = mount(
|
||||||
|
<LabelSelect value={[]} onError={() => {}} onChange={() => {}} />
|
||||||
|
);
|
||||||
});
|
});
|
||||||
wrapper.update();
|
|
||||||
|
|
||||||
expect(LabelsAPI.read).toHaveBeenCalledTimes(1);
|
expect(LabelsAPI.read).toHaveBeenCalledTimes(1);
|
||||||
expect(wrapper.find('MultiSelect').prop('options')).toEqual(options);
|
wrapper.find('input').simulate('focus');
|
||||||
|
const selectOptions = wrapper.find('SelectOption');
|
||||||
|
expect(selectOptions).toHaveLength(2);
|
||||||
|
expect(selectOptions.at(0).prop('value')).toEqual(options[0]);
|
||||||
|
expect(selectOptions.at(1).prop('value')).toEqual(options[1]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should fetch two pages labels if present', async () => {
|
test('should fetch two pages labels if present', async () => {
|
||||||
@@ -36,19 +40,20 @@ describe('<LabelSelect />', () => {
|
|||||||
});
|
});
|
||||||
LabelsAPI.read.mockReturnValueOnce({
|
LabelsAPI.read.mockReturnValueOnce({
|
||||||
data: {
|
data: {
|
||||||
results: options,
|
results: [{ id: 3, name: 'three' }, { id: 4, name: 'four' }],
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
let wrapper;
|
let wrapper;
|
||||||
await act(async () => {
|
await act(async () => {
|
||||||
wrapper = mount(<LabelSelect value={[]} onError={() => {}} />);
|
wrapper = mount(
|
||||||
|
<LabelSelect value={[]} onError={() => {}} onChange={() => {}} />
|
||||||
|
);
|
||||||
});
|
});
|
||||||
wrapper.update();
|
wrapper.update();
|
||||||
|
|
||||||
expect(LabelsAPI.read).toHaveBeenCalledTimes(2);
|
expect(LabelsAPI.read).toHaveBeenCalledTimes(2);
|
||||||
expect(wrapper.find('MultiSelect').prop('options')).toEqual([
|
wrapper.find('input').simulate('focus');
|
||||||
...options,
|
const selectOptions = wrapper.find('SelectOption');
|
||||||
...options,
|
expect(selectOptions).toHaveLength(4);
|
||||||
]);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user