summaryrefslogtreecommitdiffstats
path: root/ui-react/src/components/loop_viewer
diff options
context:
space:
mode:
Diffstat (limited to 'ui-react/src/components/loop_viewer')
-rw-r--r--ui-react/src/components/loop_viewer/svg/LoopSvg.js2
-rw-r--r--ui-react/src/components/loop_viewer/svg/LoopSvg.test.js107
-rw-r--r--ui-react/src/components/loop_viewer/svg/__snapshots__/LoopSvg.test.js.snap33
3 files changed, 134 insertions, 8 deletions
diff --git a/ui-react/src/components/loop_viewer/svg/LoopSvg.js b/ui-react/src/components/loop_viewer/svg/LoopSvg.js
index 48f0335fc..06cfd238f 100644
--- a/ui-react/src/components/loop_viewer/svg/LoopSvg.js
+++ b/ui-react/src/components/loop_viewer/svg/LoopSvg.js
@@ -61,7 +61,7 @@ class LoopViewSvg extends React.Component {
return this.state.svgContent !== nextState.svgContent;
}
- componentWillReceiveProps(newProps) {
+ componentWillReceiveProps(newProps) {
if (this.state.loopCache !== newProps.loopCache) {
this.setState({
loopCache: newProps.loopCache,
diff --git a/ui-react/src/components/loop_viewer/svg/LoopSvg.test.js b/ui-react/src/components/loop_viewer/svg/LoopSvg.test.js
index 5a28328c9..635185463 100644
--- a/ui-react/src/components/loop_viewer/svg/LoopSvg.test.js
+++ b/ui-react/src/components/loop_viewer/svg/LoopSvg.test.js
@@ -23,12 +23,111 @@
import React from 'react';
import { shallow } from 'enzyme';
import LoopSvg from './LoopSvg';
+import LoopCache from '../../../api/LoopCache';
+import LoopService from '../../../api/LoopService';
describe('Verify LoopSvg', () => {
+ const loopCache = new LoopCache({
+ "name": "LOOP_Jbv1z_v1_0_ResourceInstanceName1_tca",
+ "microServicePolicies": [{
+ "name": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca",
+ "modelType": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+ "properties": {"domain": "measurementsForVfScaling"},
+ "shared": false,
+ "jsonRepresentation": {"schema": {}}
+ }],
+ "operationalPolicies": [{
+ "name": "OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca",
+ "configurationsJson": {
+ "guard_policies": {},
+ "operational_policy": {
+ "controlLoop": {},
+ "policies": []
+ }
+ }
+ }]
+ });
- it('Test the render method', () => {
- const component = shallow(<LoopSvg />)
+ it('Test the render method no loopName', () => {
+ const localLoopCache = new LoopCache({
+ "microServicePolicies": [{
+ "name": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca",
+ "modelType": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+ "properties": {"domain": "measurementsForVfScaling"},
+ "shared": false,
+ "jsonRepresentation": {"schema": {}}
+ }]
+ });
+ const component = shallow(
+ <LoopSvg.WrappedComponent loopCache={localLoopCache}/>
+ );
- expect(component).toMatchSnapshot();
- });
+ expect(component).toMatchSnapshot();
+ });
+
+ it('Test the render method', () => {
+ const component = shallow(
+ <LoopSvg.WrappedComponent loopCache={loopCache}/>
+ );
+
+ expect(component).toMatchSnapshot();
+ });
+
+ it('Test the render method svg not empty', async () => {
+ const flushPromises = () => new Promise(setImmediate);
+ LoopService.getSvg = jest.fn().mockImplementation(() => {
+ return Promise.resolve("<svg><text test</text></svg>");
+ });
+ const component = shallow(
+ <LoopSvg.WrappedComponent loopCache={loopCache}/>
+ );
+ await flushPromises();
+ expect(component).toMatchSnapshot();
+ });
+
+ it('Test handleSvgClick', () => {
+ const historyMock = { push: jest.fn() };
+
+ const component = shallow(
+ <LoopSvg.WrappedComponent loopCache={loopCache} history={historyMock}/>
+ );
+ let dummyElement = document.createElement('div');
+ dummyElement.setAttribute("data-element-id","TCA_h2NMX_v1_0_ResourceInstanceName1_tca");
+
+ const event = { target: { parentNode: { parentNode:{ parentNode: dummyElement }}}};
+
+ component.simulate('click', event);
+ component.update();
+
+ expect(historyMock.push.mock.calls[0]).toEqual([ '/configurationPolicyModal/TCA_h2NMX_v1_0_ResourceInstanceName1_tca']);
+
+ //click operational policy
+ dummyElement.setAttribute("data-element-id","OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca");
+ const event2 = { target: { parentNode: { parentNode:{ parentNode: dummyElement }}}};
+
+ component.simulate('click', event2);
+ component.update();
+
+ expect(historyMock.push.mock.calls[1]).toEqual([ '/operationalPolicyModal']);
+ });
+
+ it('Test componentWillReceiveProps method', () => {
+ const localLoopCache = new LoopCache({
+ "microServicePolicies": [{
+ "name": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca",
+ "modelType": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+ "properties": {"domain": "measurementsForVfScaling"},
+ "shared": false,
+ "jsonRepresentation": {"schema": {}}
+ }]
+ });
+ const component = shallow(
+ <LoopSvg.WrappedComponent loopCache={localLoopCache}/>
+ );
+
+ expect(component.state('componentModalMapping').size).toEqual(2);
+
+ component.setProps({loopCache: loopCache});
+ expect(component.state('componentModalMapping').size).toEqual(3);
+ });
});
diff --git a/ui-react/src/components/loop_viewer/svg/__snapshots__/LoopSvg.test.js.snap b/ui-react/src/components/loop_viewer/svg/__snapshots__/LoopSvg.test.js.snap
index 23d22256f..cecfb425a 100644
--- a/ui-react/src/components/loop_viewer/svg/__snapshots__/LoopSvg.test.js.snap
+++ b/ui-react/src/components/loop_viewer/svg/__snapshots__/LoopSvg.test.js.snap
@@ -1,7 +1,34 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`Verify LoopSvg Test the render method 1`] = `
-<ContextConsumer>
- <Component />
-</ContextConsumer>
+<styled.div
+ dangerouslySetInnerHTML={
+ Object {
+ "__html": "<svg><text x=\\"20\\" y=\\"40\\">No LOOP (SVG)</text></svg>",
+ }
+ }
+ onClick={[Function]}
+/>
+`;
+
+exports[`Verify LoopSvg Test the render method no loopName 1`] = `
+<styled.div
+ dangerouslySetInnerHTML={
+ Object {
+ "__html": "<svg><text x=\\"20\\" y=\\"40\\">No LOOP (SVG)</text></svg>",
+ }
+ }
+ onClick={[Function]}
+/>
+`;
+
+exports[`Verify LoopSvg Test the render method svg not empty 1`] = `
+<styled.div
+ dangerouslySetInnerHTML={
+ Object {
+ "__html": "<svg><text test</text></svg>",
+ }
+ }
+ onClick={[Function]}
+/>
`;