summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxuegao <xg353y@intl.att.com>2019-10-02 11:18:10 +0200
committerxuegao <xg353y@intl.att.com>2019-10-04 09:42:00 +0200
commit564fdb0c2e601df73813a4e9d080bd1666befce4 (patch)
tree3e5c83ed368ab22e1c39dd38f7f18b681ef04d63
parentedec26efea06ee9a9d1e0f2d29fe4b26e62d8dfb (diff)
Add react ui test
Add react ui test to improve code coverage. Issue-ID: CLAMP-509 Change-Id: Ic9c974a78ee453dddb8f985f3e9c9067f66e95d9 Signed-off-by: xuegao <xg353y@intl.att.com>
-rw-r--r--ui-react/src/components/dialogs/ConfigurationPolicy/ConfigurationPolicyModal.test.js18
-rw-r--r--ui-react/src/components/dialogs/DeployLoop.test.js65
-rw-r--r--ui-react/src/components/dialogs/LoopProperties.test.js47
-rw-r--r--ui-react/src/components/dialogs/OpenLoop/OpenLoopModal.test.js11
-rw-r--r--ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.test.js23
-rw-r--r--ui-react/src/components/dialogs/PerformActions.test.js88
-rw-r--r--ui-react/src/components/dialogs/RefreshStatus.test.js72
-rw-r--r--ui-react/src/components/dialogs/UserInfo.test.js2
8 files changed, 299 insertions, 27 deletions
diff --git a/ui-react/src/components/dialogs/ConfigurationPolicy/ConfigurationPolicyModal.test.js b/ui-react/src/components/dialogs/ConfigurationPolicy/ConfigurationPolicyModal.test.js
index 934fa492d..e0aa8c6b0 100644
--- a/ui-react/src/components/dialogs/ConfigurationPolicy/ConfigurationPolicyModal.test.js
+++ b/ui-react/src/components/dialogs/ConfigurationPolicy/ConfigurationPolicyModal.test.js
@@ -29,13 +29,13 @@ import LoopCache from '../../../api/LoopCache';
describe('Verify DeployLoop', () => {
beforeEach(() => {
fetch.resetMocks();
- fetch.mockImplementation(() => {
- return Promise.resolve({
- ok: true,
- status: 200,
- text: () => "OK"
- });
- });
+ fetch.mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ text: () => "OK"
+ });
+ });
})
const loopCache = new LoopCache({
"name": "LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca",
@@ -59,7 +59,7 @@ describe('Verify DeployLoop', () => {
expect(handleClose).toHaveBeenCalledTimes(1);
expect(component.state('show')).toEqual(false);
- expect(historyMock.push.mock.calls[0]).toEqual([ '/', ]);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
});
it('Test handleSave', async () => {
@@ -74,6 +74,6 @@ describe('Verify DeployLoop', () => {
expect(handleSave).toHaveBeenCalledTimes(1);
expect(component.state('show')).toEqual(false);
expect(component.state('componentName')).toEqual("TCA_h2NMX_v1_0_ResourceInstanceName1_tca");
- expect(historyMock.push.mock.calls[0]).toEqual([ '/', ]);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
});
}); \ No newline at end of file
diff --git a/ui-react/src/components/dialogs/DeployLoop.test.js b/ui-react/src/components/dialogs/DeployLoop.test.js
index bb08baf10..2959ed652 100644
--- a/ui-react/src/components/dialogs/DeployLoop.test.js
+++ b/ui-react/src/components/dialogs/DeployLoop.test.js
@@ -24,6 +24,8 @@ import React from 'react';
import { shallow } from 'enzyme';
import DeployLoop from './DeployLoop';
import LoopCache from '../../api/LoopCache';
+import LoopActionService from '../../api/LoopActionService';
+import LoopService from '../../api/LoopService';
describe('Verify DeployLoop', () => {
const loopCache = new LoopCache({
@@ -43,4 +45,67 @@ describe('Verify DeployLoop', () => {
expect(component).toMatchSnapshot();
});
+
+ it('Test handleClose', () => {
+ const historyMock = { push: jest.fn() };
+ const handleClose = jest.spyOn(DeployLoop.prototype,'handleClose');
+ const component = shallow(<DeployLoop history={historyMock} loopCache={loopCache}/>)
+
+ component.find('[variant="secondary"]').prop('onClick')();
+
+ expect(handleClose).toHaveBeenCalledTimes(1);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ });
+
+ it('Test handleSave successful', async () => {
+ const flushPromises = () => new Promise(setImmediate);
+ const historyMock = { push: jest.fn() };
+ const updateLoopFunction = jest.fn();
+ const handleSave = jest.spyOn(DeployLoop.prototype,'handleSave');
+ LoopService.updateGlobalProperties = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ text: () => "OK"
+ });
+ });
+ LoopActionService.performAction = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => {}
+ });
+ });
+ LoopActionService.refreshStatus = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => {}
+ });
+ });
+ const jsdomAlert = window.alert;
+ window.alert = () => {};
+ const component = shallow(<DeployLoop history={historyMock}
+ loopCache={loopCache} updateLoopFunction={updateLoopFunction} />)
+
+ component.find('[variant="primary"]').prop('onClick')();
+ await flushPromises();
+ component.update();
+
+ expect(handleSave).toHaveBeenCalledTimes(1);
+ expect(component.state('show')).toEqual(false);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ window.alert = jsdomAlert;
+ handleSave.mockClear();
+ });
+
+ it('Onchange event', () => {
+ const event = { target: { name: "location_id", value: "testLocation"} };
+ const component = shallow(<DeployLoop loopCache={loopCache}/>);
+ const forms = component.find('StateManager');
+
+ component.find('[name="location_id"]').simulate('change', event);
+ component.update();
+ expect(component.state('temporaryPropertiesJson').dcaeDeployParameters.location_id).toEqual("testLocation");
+ });
}); \ No newline at end of file
diff --git a/ui-react/src/components/dialogs/LoopProperties.test.js b/ui-react/src/components/dialogs/LoopProperties.test.js
index fadb9099e..9b74fe76a 100644
--- a/ui-react/src/components/dialogs/LoopProperties.test.js
+++ b/ui-react/src/components/dialogs/LoopProperties.test.js
@@ -24,6 +24,7 @@ import React from 'react';
import { shallow } from 'enzyme';
import LoopProperties from './LoopProperties';
import LoopCache from '../../api/LoopCache';
+import LoopService from '../../api/LoopService';
describe('Verify LoopProperties', () => {
const loopCache = new LoopCache({
@@ -58,4 +59,50 @@ describe('Verify LoopProperties', () => {
expect(component).toMatchSnapshot();
});
+
+ it('Test handleClose', () => {
+ const historyMock = { push: jest.fn() };
+ const handleClose = jest.spyOn(LoopProperties.prototype,'handleClose');
+ const component = shallow(<LoopProperties history={historyMock} loopCache={loopCache}/>)
+
+ component.find('[variant="secondary"]').prop('onClick')();
+
+ expect(handleClose).toHaveBeenCalledTimes(1);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ });
+
+ it('Test handleSave successful', async () => {
+ const flushPromises = () => new Promise(setImmediate);
+ const historyMock = { push: jest.fn() };
+ const loadLoopFunction = jest.fn();
+ const handleSave = jest.spyOn(LoopProperties.prototype,'handleSave');
+ LoopService.updateGlobalProperties = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ text: () => "OK"
+ });
+ });
+
+ const component = shallow(<LoopProperties history={historyMock}
+ loopCache={loopCache} loadLoopFunction={loadLoopFunction} />)
+
+ component.find('[variant="primary"]').prop('onClick')();
+ await flushPromises();
+ component.update();
+
+ expect(handleSave).toHaveBeenCalledTimes(1);
+ expect(component.state('show')).toEqual(false);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ });
+
+ it('Onchange event', () => {
+ const event = {target:{name:"dcaeDeployParameters", value:"{\"location_id\": \"testLocation\",\"policy_id\": \"TCA_h2NMX_v1_0_ResourceInstanceName1_tca\"}"}};
+ const component = shallow(<LoopProperties loopCache={loopCache}/>);
+
+ component.find('FormControl').simulate('change', event);
+ component.update();
+
+ expect(component.state('temporaryPropertiesJson').dcaeDeployParameters.location_id).toEqual("testLocation");
+ });
});
diff --git a/ui-react/src/components/dialogs/OpenLoop/OpenLoopModal.test.js b/ui-react/src/components/dialogs/OpenLoop/OpenLoopModal.test.js
index 5153de956..208c947c3 100644
--- a/ui-react/src/components/dialogs/OpenLoop/OpenLoopModal.test.js
+++ b/ui-react/src/components/dialogs/OpenLoop/OpenLoopModal.test.js
@@ -34,9 +34,9 @@ describe('Verify OpenLoopModal', () => {
"LOOP_gmtAS_v1_0_ResourceInstanceName2_tca_2"
]));
})
-
+
it('Test the render method', () => {
-
+
const component = shallow(<OpenLoopModal/>);
expect(component).toMatchSnapshot();
});
@@ -44,7 +44,6 @@ describe('Verify OpenLoopModal', () => {
it('Onchange event', () => {
const event = {value: 'LOOP_gmtAS_v1_0_ResourceInstanceName1_tca_3'};
const component = shallow(<OpenLoopModal/>);
- const forms = component.find('StateManager');
component.find('StateManager').simulate('change', event);
component.update();
@@ -60,7 +59,7 @@ describe('Verify OpenLoopModal', () => {
expect(handleClose).toHaveBeenCalledTimes(1);
expect(component.state('show')).toEqual(false);
- expect(historyMock.push.mock.calls[0]).toEqual([ '/', ]);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
handleClose.mockClear();
});
@@ -75,8 +74,8 @@ describe('Verify OpenLoopModal', () => {
expect(handleOpen).toHaveBeenCalledTimes(1);
expect(component.state('show')).toEqual(false);
- expect(historyMock.push.mock.calls[0]).toEqual([ '/', ]);
-
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+
handleOpen.mockClear();
});
diff --git a/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.test.js b/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.test.js
index da60b6717..9c7da3108 100644
--- a/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.test.js
+++ b/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.test.js
@@ -28,13 +28,13 @@ import LoopCache from '../../../api/LoopCache';
describe('Verify OperationalPolicyModal', () => {
beforeEach(() => {
fetch.resetMocks();
- fetch.mockImplementation(() => {
- return Promise.resolve({
- ok: true,
- status: 200,
- text: () => "OK"
- });
- });
+ fetch.mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ text: () => "OK"
+ });
+ });
})
const loopCache = new LoopCache({
"name": "LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca",
@@ -52,7 +52,7 @@ describe('Verify OperationalPolicyModal', () => {
});
const historyMock = { push: jest.fn() };
const flushPromises = () => new Promise(setImmediate);
-
+
it('Test handleClose', () => {
const handleClose = jest.spyOn(OperationalPolicyModal.prototype,'handleClose');
const component = mount(<OperationalPolicyModal history={historyMock} loopCache={loopCache}/>)
@@ -61,13 +61,14 @@ describe('Verify OperationalPolicyModal', () => {
expect(handleClose).toHaveBeenCalledTimes(1);
expect(component.state('show')).toEqual(false);
- expect(historyMock.push.mock.calls[0]).toEqual([ '/', ]);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
});
it('Test handleSave', async () => {
const loadLoopFunction = jest.fn();
const handleSave = jest.spyOn(OperationalPolicyModal.prototype,'handleSave');
- const component = mount(<OperationalPolicyModal history={historyMock} loopCache={loopCache} loadLoopFunction={loadLoopFunction} />)
+ const component = mount(<OperationalPolicyModal history={historyMock}
+ loopCache={loopCache} loadLoopFunction={loadLoopFunction} />)
component.find('[variant="primary"]').prop('onClick')();
await flushPromises();
@@ -75,6 +76,6 @@ describe('Verify OperationalPolicyModal', () => {
expect(handleSave).toHaveBeenCalledTimes(1);
expect(component.state('show')).toEqual(false);
- expect(historyMock.push.mock.calls[0]).toEqual([ '/', ]);
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
});
}); \ No newline at end of file
diff --git a/ui-react/src/components/dialogs/PerformActions.test.js b/ui-react/src/components/dialogs/PerformActions.test.js
new file mode 100644
index 000000000..56fdcf39b
--- /dev/null
+++ b/ui-react/src/components/dialogs/PerformActions.test.js
@@ -0,0 +1,88 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+import React from 'react';
+import { shallow } from 'enzyme';
+import PerformActions from './PerformActions';
+import LoopCache from '../../api/LoopCache';
+import LoopActionService from '../../api/LoopActionService';
+
+describe('Verify PerformActions', () => {
+
+ const loopCache = new LoopCache({
+ "name": "LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca"
+ });
+
+ it('Test the render method action failed', async () => {
+ const flushPromises = () => new Promise(setImmediate);
+ const historyMock = { push: jest.fn() };
+ const updateLoopFunction = jest.fn();
+
+ LoopActionService.refreshStatus = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => {}
+ });
+ });
+ const jsdomAlert = window.alert;
+ window.alert = () => {};
+ const component = shallow(<PerformActions loopCache={loopCache}
+ loopAction="submit" history={historyMock} updateLoopFunction={updateLoopFunction} />)
+ await flushPromises();
+ component.update();
+
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ window.alert = jsdomAlert;
+ });
+
+ it('Test the render method action successful', async () => {
+ const flushPromises = () => new Promise(setImmediate);
+ const historyMock = { push: jest.fn() };
+ const updateLoopFunction = jest.fn();
+
+ LoopActionService.performAction = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => {}
+ });
+ });
+ LoopActionService.refreshStatus = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => {}
+ });
+ });
+ const jsdomAlert = window.alert;
+ window.alert = () => {};
+ const component = shallow(<PerformActions loopCache={loopCache}
+ loopAction="submit" history={historyMock} updateLoopFunction={updateLoopFunction} />)
+ await flushPromises();
+ component.update();
+
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ window.alert = jsdomAlert;
+ });
+
+});
diff --git a/ui-react/src/components/dialogs/RefreshStatus.test.js b/ui-react/src/components/dialogs/RefreshStatus.test.js
new file mode 100644
index 000000000..cb782ad23
--- /dev/null
+++ b/ui-react/src/components/dialogs/RefreshStatus.test.js
@@ -0,0 +1,72 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP CLAMP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END============================================
+ * ===================================================================
+ *
+ */
+import React from 'react';
+import { shallow } from 'enzyme';
+import RefreshStatus from './RefreshStatus';
+import LoopCache from '../../api/LoopCache';
+import LoopActionService from '../../api/LoopActionService';
+
+describe('Verify RefreshStatus', () => {
+
+ const loopCache = new LoopCache({
+ "name": "LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca"
+ });
+
+ it('Test refresh status failed', async () => {
+ const flushPromises = () => new Promise(setImmediate);
+ const historyMock = { push: jest.fn() };
+
+ const jsdomAlert = window.alert;
+ window.alert = () => {};
+ const component = shallow(<RefreshStatus loopCache={loopCache} history={historyMock} />)
+ await flushPromises();
+ component.update();
+
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ window.alert = jsdomAlert;
+ });
+
+ it('Test refresh status successful', async () => {
+ const flushPromises = () => new Promise(setImmediate);
+ const historyMock = { push: jest.fn() };
+ const updateLoopFunction = jest.fn();
+
+ LoopActionService.refreshStatus = jest.fn().mockImplementation(() => {
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: () => {}
+ });
+ });
+ const jsdomAlert = window.alert;
+ window.alert = () => {};
+ const component = shallow(<RefreshStatus loopCache={loopCache}
+ loopAction="submit" history={historyMock} updateLoopFunction={updateLoopFunction} />)
+ await flushPromises();
+ component.update();
+
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
+ window.alert = jsdomAlert;
+ });
+
+});
diff --git a/ui-react/src/components/dialogs/UserInfo.test.js b/ui-react/src/components/dialogs/UserInfo.test.js
index 186dac832..beddde148 100644
--- a/ui-react/src/components/dialogs/UserInfo.test.js
+++ b/ui-react/src/components/dialogs/UserInfo.test.js
@@ -35,7 +35,7 @@ describe('Verify UserInfo', () => {
json: () => {
return Promise.resolve({
"userName": "test",
- "cldsVersion": "1.0.0",
+ "cldsVersion": "1.0.0"
});
}});
});