Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1428,7 +1428,7 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
</IsRequired>
}
loadOptions={[Function]}
loadOptionsChangeCounter={1}
loadOptionsChangeCounter={0}
loadingMessage="Loading..."
name="storage_manager_id"
onBlur={[Function]}
Expand All @@ -1439,18 +1439,19 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
value=""
>
<ClearedSelect
className=""
closeMenuOnSelect={true}
hideSelectedOptions={false}
id="storage_manager_id"
invalidText=""
isClearable={false}
isDisabled={true}
isFetching={true}
isFetching={false}
isSearchable={false}
labelText={
<IsRequired>
Storage Manager
</IsRequired>
}
loadingMessage="Loading..."
name="storage_manager_id"
noOptionsMessage={[Function]}
onBlur={[Function]}
Expand All @@ -1462,6 +1463,7 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
value=""
>
<Select
className=""
disabled={false}
helperText=""
id="storage_manager_id"
Expand All @@ -1474,7 +1476,6 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
</IsRequired>
}
light={false}
loadingMessage="Loading..."
name="storage_manager_id"
onBlur={[Function]}
onChange={[Function]}
Expand Down Expand Up @@ -1508,29 +1509,12 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
<select
className="bx--select-input"
id="storage_manager_id"
loadingMessage="Loading..."
name="storage_manager_id"
onBlur={[Function]}
onChange={[Function]}
onFocus={[Function]}
value=""
>
<SelectItem
disabled={false}
hidden={false}
text="<Choose>"
value=""
>
<option
className="bx--select-option"
disabled={false}
hidden={false}
value=""
>
&lt;Choose&gt;
</option>
</SelectItem>
</select>
/>
<ForwardRef(ChevronDown16)
className="bx--select__arrow"
>
Expand Down Expand Up @@ -1652,9 +1636,7 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
"dirtyFieldsSinceLastSubmit": Object {},
"dirtySinceLastSubmit": false,
"error": undefined,
"errors": Object {
"storage_manager_id": "Required",
},
"errors": Object {},
"form": Object {
"batch": [Function],
"blur": [Function],
Expand Down Expand Up @@ -1690,28 +1672,22 @@ exports[`Cloud Object Store Container form component should add Openstack cloud
"subscribe": [Function],
},
"hasSubmitErrors": false,
"hasValidationErrors": true,
"hasValidationErrors": false,
"initialValues": Object {},
"invalid": true,
"modified": Object {
"storage_manager_id": false,
},
"invalid": false,
"modified": Object {},
"modifiedSinceLastSubmit": false,
"pristine": true,
"submitError": undefined,
"submitErrors": undefined,
"submitFailed": false,
"submitSucceeded": false,
"submitting": false,
"touched": Object {
"storage_manager_id": false,
},
"valid": false,
"touched": Object {},
"valid": true,
"validating": false,
"values": Object {},
"visited": Object {
"storage_manager_id": false,
},
"visited": Object {},
}
}
onCancel={[Function]}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import React from 'react';
import { act } from 'react-dom/test-utils';
import toJson from 'enzyme-to-json';
import fetchMock from 'fetch-mock';
import { mount } from '../helpers/mountForm';
Expand All @@ -8,6 +9,9 @@ require('../helpers/miqSparkle.js');
require('../helpers/miqAjaxButton.js');

describe('Cloud Object Store Container form component', () => {
const attributes = 'attributes=id,name,supports_cloud_object_store_container_create';
const filter = 'filter[]=supports_cloud_object_store_container_create=true';
const url = `/api/providers?expand=resources&${attributes}&${filter}`;
const providerOptions = {
resources: [
{
Expand All @@ -23,7 +27,6 @@ describe('Cloud Object Store Container form component', () => {
supports_cloud_object_store_container_create: true,
}],
};

const options = {
method: 'OPTIONS',
backendName: 'API',
Expand All @@ -32,18 +35,17 @@ describe('Cloud Object Store Container form component', () => {
body: null,
};

beforeEach(() => {
});
afterEach(() => {
fetchMock.reset();
fetchMock.restore();
});

it('should render add cloud object store container form', () => {
const wrapper = mount(<CloudObjectStoreContainerForm />);
expect(toJson(wrapper)).toMatchSnapshot();
});

it('should add Openstack cloud object store container', async(done) => {
it('should add Openstack cloud object store container', async() => {
const providerDetails = {
type: 'ManageIQ::Providers::Openstack::StorageManager::SwiftManager',
parent_manager: { type: 'ManageIQ::Providers::Openstack::CloudManager' },
Expand All @@ -53,23 +55,24 @@ describe('Cloud Object Store Container form component', () => {
ems_id: '6',
cloud_tenant_id: '1',
};
fetchMock.get(
// eslint-disable-next-line max-len
'/api/providers?expand=resources&attributes=id,name,supports_cloud_object_store_container_create&filter[]=supports_cloud_object_store_container_create=true',
providerOptions
);

fetchMock.get(url, providerOptions);
fetchMock.mock('/api/cloud_object_store_containers?ems_id=6', { data: { form_schema: { fields: [] } } }, options);
fetchMock.getOnce('/api/providers/6?attributes=type,parent_manager.type', providerDetails);
fetchMock.postOnce('/api/cloud_object_store_containers/', submitData);
const wrapper = mount(<CloudObjectStoreContainerForm />);
expect(toJson(wrapper)).toMatchSnapshot();
done();
fetchMock.postOnce('/api/cloud_object_store_containers/', { body: submitData, status: 200 });

await act(async() => {
const wrapper = mount(<CloudObjectStoreContainerForm />);
expect(toJson(wrapper)).toMatchSnapshot();
});

fetchMock.restore();
});

it('should add Amazon cloud object store container', async(done) => {
const providerDetails = {
type: 'ManageIQ::Providers::Openstack::StorageManager::SwiftManager',
parent_manager: { type: 'ManageIQ::Providers::Openstack::CloudManager' },
type: 'ManageIQ::Providers::Amazon::StorageManager::S3',
parent_manager: { type: 'ManageIQ::Providers::Amazon::CloudManager' },
};
const submitData = {
name: 'test',
Expand Down