Skip to content

Commit 823a8d3

Browse files
committed
Fix CloudObjectStoreContainerForm test
1 parent b5dc2f5 commit 823a8d3

File tree

2 files changed

+32
-53
lines changed

2 files changed

+32
-53
lines changed

app/javascript/spec/cloud-object-store-container-form/__snapshots__/cloud-object-store-container-form.spec.js.snap

Lines changed: 14 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,7 +1428,7 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
14281428
</IsRequired>
14291429
}
14301430
loadOptions={[Function]}
1431-
loadOptionsChangeCounter={1}
1431+
loadOptionsChangeCounter={0}
14321432
loadingMessage="Loading..."
14331433
name="storage_manager_id"
14341434
onBlur={[Function]}
@@ -1439,18 +1439,19 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
14391439
value=""
14401440
>
14411441
<ClearedSelect
1442+
className=""
1443+
closeMenuOnSelect={true}
1444+
hideSelectedOptions={false}
14421445
id="storage_manager_id"
14431446
invalidText=""
14441447
isClearable={false}
1445-
isDisabled={true}
1446-
isFetching={true}
1448+
isFetching={false}
14471449
isSearchable={false}
14481450
labelText={
14491451
<IsRequired>
14501452
Storage Manager
14511453
</IsRequired>
14521454
}
1453-
loadingMessage="Loading..."
14541455
name="storage_manager_id"
14551456
noOptionsMessage={[Function]}
14561457
onBlur={[Function]}
@@ -1462,6 +1463,7 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
14621463
value=""
14631464
>
14641465
<Select
1466+
className=""
14651467
disabled={false}
14661468
helperText=""
14671469
id="storage_manager_id"
@@ -1474,7 +1476,6 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
14741476
</IsRequired>
14751477
}
14761478
light={false}
1477-
loadingMessage="Loading..."
14781479
name="storage_manager_id"
14791480
onBlur={[Function]}
14801481
onChange={[Function]}
@@ -1508,29 +1509,12 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
15081509
<select
15091510
className="bx--select-input"
15101511
id="storage_manager_id"
1511-
loadingMessage="Loading..."
15121512
name="storage_manager_id"
15131513
onBlur={[Function]}
15141514
onChange={[Function]}
15151515
onFocus={[Function]}
15161516
value=""
1517-
>
1518-
<SelectItem
1519-
disabled={false}
1520-
hidden={false}
1521-
text="<Choose>"
1522-
value=""
1523-
>
1524-
<option
1525-
className="bx--select-option"
1526-
disabled={false}
1527-
hidden={false}
1528-
value=""
1529-
>
1530-
&lt;Choose&gt;
1531-
</option>
1532-
</SelectItem>
1533-
</select>
1517+
/>
15341518
<ForwardRef(ChevronDown16)
15351519
className="bx--select__arrow"
15361520
>
@@ -1652,9 +1636,7 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
16521636
"dirtyFieldsSinceLastSubmit": Object {},
16531637
"dirtySinceLastSubmit": false,
16541638
"error": undefined,
1655-
"errors": Object {
1656-
"storage_manager_id": "Required",
1657-
},
1639+
"errors": Object {},
16581640
"form": Object {
16591641
"batch": [Function],
16601642
"blur": [Function],
@@ -1690,28 +1672,22 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
16901672
"subscribe": [Function],
16911673
},
16921674
"hasSubmitErrors": false,
1693-
"hasValidationErrors": true,
1675+
"hasValidationErrors": false,
16941676
"initialValues": Object {},
1695-
"invalid": true,
1696-
"modified": Object {
1697-
"storage_manager_id": false,
1698-
},
1677+
"invalid": false,
1678+
"modified": Object {},
16991679
"modifiedSinceLastSubmit": false,
17001680
"pristine": true,
17011681
"submitError": undefined,
17021682
"submitErrors": undefined,
17031683
"submitFailed": false,
17041684
"submitSucceeded": false,
17051685
"submitting": false,
1706-
"touched": Object {
1707-
"storage_manager_id": false,
1708-
},
1709-
"valid": false,
1686+
"touched": Object {},
1687+
"valid": true,
17101688
"validating": false,
17111689
"values": Object {},
1712-
"visited": Object {
1713-
"storage_manager_id": false,
1714-
},
1690+
"visited": Object {},
17151691
}
17161692
}
17171693
onCancel={[Function]}

app/javascript/spec/cloud-object-store-container-form/cloud-object-store-container-form.spec.js

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import { act } from 'react-dom/test-utils';
23
import toJson from 'enzyme-to-json';
34
import fetchMock from 'fetch-mock';
45
import { mount } from '../helpers/mountForm';
@@ -8,6 +9,9 @@ require('../helpers/miqSparkle.js');
89
require('../helpers/miqAjaxButton.js');
910

1011
describe('Cloud Object Store Container form component', () => {
12+
const attributes = 'attributes=id,name,supports_cloud_object_store_container_create';
13+
const filter = 'filter[]=supports_cloud_object_store_container_create=true';
14+
const url = `/api/providers?expand=resources&${attributes}&${filter}`;
1115
const providerOptions = {
1216
resources: [
1317
{
@@ -23,7 +27,6 @@ describe('Cloud Object Store Container form component', () => {
2327
supports_cloud_object_store_container_create: true,
2428
}],
2529
};
26-
2730
const options = {
2831
method: 'OPTIONS',
2932
backendName: 'API',
@@ -32,18 +35,17 @@ describe('Cloud Object Store Container form component', () => {
3235
body: null,
3336
};
3437

35-
beforeEach(() => {
36-
});
3738
afterEach(() => {
3839
fetchMock.reset();
3940
fetchMock.restore();
4041
});
42+
4143
it('should render add cloud object store container form', () => {
4244
const wrapper = mount(<CloudObjectStoreContainerForm />);
4345
expect(toJson(wrapper)).toMatchSnapshot();
4446
});
4547

46-
it('should add Openstack cloud object store container', async(done) => {
48+
it('should add Openstack cloud object store container', async() => {
4749
const providerDetails = {
4850
type: 'ManageIQ::Providers::Openstack::StorageManager::SwiftManager',
4951
parent_manager: { type: 'ManageIQ::Providers::Openstack::CloudManager' },
@@ -53,23 +55,24 @@ describe('Cloud Object Store Container form component', () => {
5355
ems_id: '6',
5456
cloud_tenant_id: '1',
5557
};
56-
fetchMock.get(
57-
// eslint-disable-next-line max-len
58-
'/api/providers?expand=resources&attributes=id,name,supports_cloud_object_store_container_create&filter[]=supports_cloud_object_store_container_create=true',
59-
providerOptions
60-
);
58+
59+
fetchMock.get(url, providerOptions);
6160
fetchMock.mock('/api/cloud_object_store_containers?ems_id=6', { data: { form_schema: { fields: [] } } }, options);
6261
fetchMock.getOnce('/api/providers/6?attributes=type,parent_manager.type', providerDetails);
63-
fetchMock.postOnce('/api/cloud_object_store_containers/', submitData);
64-
const wrapper = mount(<CloudObjectStoreContainerForm />);
65-
expect(toJson(wrapper)).toMatchSnapshot();
66-
done();
62+
fetchMock.postOnce('/api/cloud_object_store_containers/', { body: submitData, status: 200 });
63+
64+
await act(async() => {
65+
const wrapper = mount(<CloudObjectStoreContainerForm />);
66+
expect(toJson(wrapper)).toMatchSnapshot();
67+
});
68+
69+
fetchMock.restore();
6770
});
6871

6972
it('should add Amazon cloud object store container', async(done) => {
7073
const providerDetails = {
71-
type: 'ManageIQ::Providers::Openstack::StorageManager::SwiftManager',
72-
parent_manager: { type: 'ManageIQ::Providers::Openstack::CloudManager' },
74+
type: 'ManageIQ::Providers::Amazon::StorageManager::S3',
75+
parent_manager: { type: 'ManageIQ::Providers::Amazon::CloudManager' },
7376
};
7477
const submitData = {
7578
name: 'test',

0 commit comments

Comments
 (0)