aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-ui/test/flows/test.js
diff options
context:
space:
mode:
authorAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
committerAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
commit280f8015d06af1f41a3ef12e8300801c7a5e0d54 (patch)
tree9c1d3978c04cd28068f02073038c936bb49ca9e0 /openecomp-ui/test/flows/test.js
parentfd3821dad11780d33c5373d74c957c442489945e (diff)
[SDC-29] Amdocs OnBoard 1707 initial commit.
Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370 Signed-off-by: AviZi <avi.ziv@amdocs.com>
Diffstat (limited to 'openecomp-ui/test/flows/test.js')
-rw-r--r--openecomp-ui/test/flows/test.js442
1 files changed, 66 insertions, 376 deletions
diff --git a/openecomp-ui/test/flows/test.js b/openecomp-ui/test/flows/test.js
index 4c5ab78640..6e02e54816 100644
--- a/openecomp-ui/test/flows/test.js
+++ b/openecomp-ui/test/flows/test.js
@@ -1,30 +1,36 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
+/*!
* Copyright (C) 2017 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
- *
+ *
+ * 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=========================================================
+ * 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.
*/
-import expect from 'expect';
import deepFreeze from 'deep-freeze';
import mockRest from 'test-utils/MockRest.js';
import store from 'sdc-app/AppStore.js';
import FlowsActions from 'sdc-app/flows/FlowsActions.js';
import {enums} from 'sdc-app/flows/FlowsConstants.js';
+import {
+ FlowCreateFactory,
+ FlowPostRequestFactory,
+ FlowPostResponseFactory,
+ FlowFetchRequestFactory,
+ FlowFetchResponseFactory,
+ FlowDeleteRequestFactory,
+ FlowUpdateRequestFactory } from 'test-utils/factories/flows/FlowsFactories.js';
+
+import {buildFromExistingObject} from 'test-utils/Util.js';
+
const NEW_FLOW = true;
let assertFlowDataAfterCreateFetchAndUpdate = (data) => {
@@ -33,13 +39,13 @@ let assertFlowDataAfterCreateFetchAndUpdate = (data) => {
expect(diagramType).toBe(data.artifactType);
let uniqueId = data.uniqueId || `${data.serviceID}.${data.artifactName}`;
let index = flowList.findIndex(flow => flow.uniqueId === uniqueId);
- expect(index).toNotBe(-1);
+ expect(index).not.toBe(-1);
};
describe('Workflows and Management Flows Module Tests:', function () {
- it('empty artifact should open flow creation modal', done => {
+ it('empty artifact should open flow creation modal', () => {
const artifacts = {};
@@ -51,96 +57,30 @@ describe('Workflows and Management Flows Module Tests:', function () {
participants: [],
serviceID: '1234'
});
- setTimeout(() => {
- let state = store.getState();
- expect(state.flows.isDisplayModal).toBe(true);
- expect(state.flows.isModalInEditMode).toBe(false);
- done();
- }, 50);
+ let state = store.getState();
+ expect(state.flows.isDisplayModal).toBe(true);
+ expect(state.flows.isModalInEditMode).toBe(false);
});
- it('Close flow details editor modal', done => {
+ it('Close flow details editor modal', () => {
deepFreeze(store.getState());
FlowsActions.closeFlowDetailsEditor(store.dispatch);
- setTimeout(() => {
- let state = store.getState();
- expect(state.flows.isDisplayModal).toBe(false);
- expect(state.flows.isModalInEditMode).toBe(false);
- done();
- }, 50);
+ let state = store.getState();
+ expect(state.flows.isDisplayModal).toBe(false);
+ expect(state.flows.isModalInEditMode).toBe(false);
});
- it('Get Flows List from loaded artifact', done => {
+ it('Get Flows List from loaded artifact', () => {
deepFreeze(store.getState());
const artifacts = {
- 'test1': {
- 'uniqueId': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.test1',
- 'artifactType': 'NETWORK_CALL_FLOW',
- 'artifactName': 'test1',
- 'artifactChecksum': 'MzYxZGIyNjlkNjRmMTM4ZWMxM2FjNDUyNDQwMTI3NzM=',
- 'attUidLastUpdater': 'cs0008',
- 'updaterFullName': 'Carlos Santana',
- 'creationDate': 1468164899724,
- 'lastUpdateDate': 1468164899724,
- 'esId': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.test1',
- 'artifactLabel': 'test1',
- 'artifactCreator': 'cs0008',
- 'description': 'www',
- 'mandatory': false,
- 'artifactDisplayName': 'test1',
- 'serviceApi': false,
- 'artifactGroupType': 'INFORMATIONAL',
- 'timeout': 0,
- 'artifactVersion': '1',
- 'artifactUUID': '28d4cb95-bb46-4666-b858-e333671e6444',
- 'payloadUpdateDate': 1468164900232
- },
- 'kukuriku': {
- 'uniqueId': '0280b577-2c7b-426e-b7a2-f0dc16508c37.kukuriku',
+ 'test1': FlowPostResponseFactory.build({artifactName: 'test1'}),
+ 'kukuriku': FlowPostResponseFactory.build({
'artifactType': 'PUPPET',
- 'artifactName': 'fuel.JPG',
- 'artifactChecksum': 'OWEyYTVjMWFiNWQ4ZDIwZDUxYTE3Y2EzZmI3YTYyMjA=',
- 'attUidLastUpdater': 'cs0008',
- 'updaterFullName': 'Carlos Santana',
- 'creationDate': 1467877631512,
- 'lastUpdateDate': 1467877631512,
- 'esId': '0280b577-2c7b-426e-b7a2-f0dc16508c37.kukuriku',
- 'artifactLabel': 'kukuriku',
- 'artifactCreator': 'cs0008',
- 'description': 'asdfasdf',
- 'mandatory': false,
- 'artifactDisplayName': 'kukuriku',
- 'serviceApi': false,
- 'artifactGroupType': 'INFORMATIONAL',
- 'timeout': 0,
- 'artifactVersion': '1',
- 'artifactUUID': 'c1e98336-03f4-4b2a-b6a5-08eca44fe3c4',
- 'payloadUpdateDate': 1467877632722
- },
- 'test3': {
- 'uniqueId': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.test3',
- 'artifactType': 'NETWORK_CALL_FLOW',
- 'artifactName': 'test3',
- 'artifactChecksum': 'ZmJkZGU1M2M2ZWUxZTdmNGU5NTNiNTdiYTAzMmM1YzU=',
- 'attUidLastUpdater': 'cs0008',
- 'updaterFullName': 'Carlos Santana',
- 'creationDate': 1468165068570,
- 'lastUpdateDate': 1468165128827,
- 'esId': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.test3',
- 'artifactLabel': 'test3',
- 'artifactCreator': 'cs0008',
- 'description': '333',
- 'mandatory': false,
- 'artifactDisplayName': 'test3',
- 'serviceApi': false,
- 'artifactGroupType': 'INFORMATIONAL',
- 'timeout': 0,
- 'artifactVersion': '2',
- 'artifactUUID': '0988027c-d19c-43db-8315-2c68fc773775',
- 'payloadUpdateDate': 1468165129335
- }
+ 'artifactName': 'kukuriku',
+ }),
+ 'test3': FlowPostResponseFactory.build({artifactName: 'test3'})
};
const artifactsArray = Object.keys(artifacts).map(artifact => artifact);
@@ -157,41 +97,25 @@ describe('Workflows and Management Flows Module Tests:', function () {
};
FlowsActions.fetchFlowArtifacts(store.dispatch, actionData);
- setTimeout(() => {
- let state = store.getState();
- expect(state.flows.isDisplayModal).toBe(false);
- expect(state.flows.isModalInEditMode).toBe(false);
- expect(state.flows.flowList.length).toEqual(artifactsArray.length);
- expect(state.flows.flowParticipants).toEqual(actionData.participants);
- expect(state.flows.serviceID).toBe(actionData.serviceID);
- expect(state.flows.diagramType).toBe(actionData.diagramType);
- done();
- }, 50);
+ let state = store.getState();
+ expect(state.flows.isDisplayModal).toBe(false);
+ expect(state.flows.isModalInEditMode).toBe(false);
+ expect(state.flows.flowList.length).toEqual(artifactsArray.length);
+ expect(state.flows.flowParticipants).toEqual(actionData.participants);
+ expect(state.flows.serviceID).toBe(actionData.serviceID);
+ expect(state.flows.diagramType).toBe(actionData.diagramType);
});
- it('Add New Flow', done => {
+ it('Add New Flow', () => {
deepFreeze(store.getState());
- const flowCreateData = deepFreeze({
- artifactName: 'zizizi',
- artifactType: 'WORKFLOW',
- description: 'aslkjdfl asfdasdf',
- serviceID: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b',
- });
-
+ const flowCreateData = FlowCreateFactory.build();
+ let expectedDataToBeSentInTheRequest = buildFromExistingObject(FlowPostRequestFactory, flowCreateData);
- let expectedDataToBeSentInTheRequest = {
- artifactGroupType: 'INFORMATIONAL',
- artifactLabel: 'zizizi',
- artifactName: 'zizizi',
- artifactType: 'WORKFLOW',
- description: 'aslkjdfl asfdasdf',
- payloadData: 'eyJWRVJTSU9OIjp7Im1ham9yIjoxLCJtaW5vciI6MH0sImRlc2NyaXB0aW9uIjoiYXNsa2pkZmwgYXNmZGFzZGYifQ=='
- };
- mockRest.addHandler('create', ({data, baseUrl, options}) => {
+ mockRest.addHandler('post', ({data, baseUrl, options}) => {
expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowCreateData.serviceID}/artifacts/`);
expect(data.artifactLabel).toBe(expectedDataToBeSentInTheRequest.artifactLabel);
expect(data.artifactName).toBe(expectedDataToBeSentInTheRequest.artifactName);
@@ -199,299 +123,65 @@ describe('Workflows and Management Flows Module Tests:', function () {
expect(data.description).toBe(expectedDataToBeSentInTheRequest.description);
expect(data.payloadData).toBe(expectedDataToBeSentInTheRequest.payloadData);
expect(options.md5).toBe(true);
- return {
- artifactChecksum: 'NjBmYjc4NGM5MWIwNmNkMDhmMThhMDAwYmQxYjBiZTU=',
- artifactCreator: 'cs0008',
- artifactDisplayName: 'zizizi',
- artifactGroupType: 'INFORMATIONAL',
- artifactLabel: 'zizizi',
- artifactName: 'zizizi',
- artifactType: 'WORKFLOW',
- artifactUUID: '0295a7cc-8c02-4105-9d7e-c30ce67ecd07',
- artifactVersion: '1',
- attUidLastUpdater: 'cs0008',
- creationDate: 1470144601623,
- description: 'aslkjdfl asfdasdf',
- esId: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- lastUpdateDate: 1470144601623,
- mandatory: false,
- payloadUpdateDate: 1470144602131,
- serviceApi: false,
- timeout: 0,
- uniqueId: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- updaterFullName: 'Carlos Santana',
- };
+ return buildFromExistingObject(FlowPostResponseFactory, expectedDataToBeSentInTheRequest);
});
- FlowsActions.createOrUpdateFlow(store.dispatch, {flow: flowCreateData}, NEW_FLOW);
-
- setTimeout(() => {
+ return FlowsActions.createOrUpdateFlow(store.dispatch, {flow: flowCreateData}, NEW_FLOW).then(() => {
assertFlowDataAfterCreateFetchAndUpdate(flowCreateData);
- done();
- }, 50);
+ });
+
+
});
- it('Fetch Flow', done => {
+ it('Fetch Flow', () => {
deepFreeze(store.getState());
- const flowFetchData = {
- artifactName: 'zizizi',
- artifactType: 'WORKFLOW',
- description: 'aslkjdfl asfdasdf',
- serviceID: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b',
- uniqueId: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- participants: []
- };
+ const flowFetchData = FlowFetchRequestFactory.build();
mockRest.addHandler('fetch', ({baseUrl}) => {
//sdc1/feProxy/rest/v1/catalog/services/338d75f0-aec8-4eb4-89c9-8733fcd9bf3b/artifacts/338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi
expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowFetchData.serviceID}/artifacts/${flowFetchData.uniqueId}`);
- return {
- artifactName: 'zizizi',
- base64Contents: 'eyJWRVJTSU9OIjp7Im1ham9yIjoxLCJtaW5vciI6MH0sImRlc2NyaXB0aW9uIjoiYXNsa2pkZmwgYXNmZGFzZGYifQ=='
- };
+ return buildFromExistingObject(FlowFetchResponseFactory, flowFetchData);
});
- FlowsActions.fetchArtifact(store.dispatch, {flow: flowFetchData});
-
- setTimeout(() => {
+ return FlowsActions.fetchArtifact(store.dispatch, {flow: flowFetchData}).then(() => {
assertFlowDataAfterCreateFetchAndUpdate(flowFetchData);
- done();
- }, 50);
+ });
});
- it('Update Existing Flow', done => {
+ it('Update Existing Flow', () => {
deepFreeze(store.getState());
+ const flowUpdateData = FlowUpdateRequestFactory.build();
- const flowUpdateData = {
- 'artifactType': 'WORKFLOW',
- 'participants': [
- {
- 'id': '1',
- 'name': 'Customer'
- },
- {
- 'id': '2',
- 'name': 'CCD'
- },
- {
- 'id': '3',
- 'name': 'Infrastructure'
- },
- {
- 'id': '4',
- 'name': 'MSO'
- },
- {
- 'id': '5',
- 'name': 'SDN-C'
- },
- {
- 'id': '6',
- 'name': 'A&AI'
- },
- {
- 'id': '7',
- 'name': 'APP-C'
- },
- {
- 'id': '8',
- 'name': 'Cloud'
- },
- {
- 'id': '9',
- 'name': 'DCAE'
- },
- {
- 'id': '10',
- 'name': 'ALTS'
- },
- {
- 'id': '11',
- 'name': 'VF'
- }
- ],
- 'serviceID': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b',
- 'artifactDisplayName': 'zizizi',
- 'artifactGroupType': 'INFORMATIONAL',
- 'uniqueId': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- 'artifactName': 'zizizi',
- 'artifactLabel': 'zizizi',
- 'artifactUUID': '0295a7cc-8c02-4105-9d7e-c30ce67ecd07',
- 'artifactVersion': '1',
- 'creationDate': 1470144601623,
- 'lastUpdateDate': 1470144601623,
- 'description': 'aslkjdfl asfdasdf',
- 'mandatory': false,
- 'timeout': 0,
- 'esId': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- 'artifactChecksum': 'NjBmYjc4NGM5MWIwNmNkMDhmMThhMDAwYmQxYjBiZTU=',
- 'heatParameters': [],
- 'sequenceDiagramModel': {
- 'diagram': {
- 'metadata': {
- 'id': '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- 'name': 'zizizi',
- 'ref': 'BLANK'
- },
- 'lifelines': [
- {
- 'id': '1',
- 'name': 'Customer',
- 'index': 1,
- 'x': 175
- },
- {
- 'id': '2',
- 'name': 'CCD',
- 'index': 2,
- 'x': 575
- },
- {
- 'id': '3',
- 'name': 'Infrastructure',
- 'index': 3,
- 'x': 975
- },
- {
- 'id': '4',
- 'name': 'MSO',
- 'index': 4,
- 'x': 1375
- },
- {
- 'id': '5',
- 'name': 'SDN-C',
- 'index': 5,
- 'x': 1775
- },
- {
- 'id': '6',
- 'name': 'A&AI',
- 'index': 6,
- 'x': 2175
- },
- {
- 'id': '7',
- 'name': 'APP-C',
- 'index': 7,
- 'x': 2575
- },
- {
- 'id': '8',
- 'name': 'Cloud',
- 'index': 8,
- 'x': 2975
- },
- {
- 'id': '9',
- 'name': 'DCAE',
- 'index': 9,
- 'x': 3375
- },
- {
- 'id': '10',
- 'name': 'ALTS',
- 'index': 10,
- 'x': 3775
- },
- {
- 'id': '11',
- 'name': 'VF',
- 'index': 11,
- 'x': 4175
- }
- ],
- 'steps': [
- {
- 'message': {
- 'id': '9377-5036-c011-cb95-3a8b-82c6-bbb5-bc84',
- 'name': '[Unnamed Message]',
- 'type': 'request',
- 'from': '1',
- 'to': '2',
- 'index': 1
- }
- },
- {
- 'message': {
- 'id': '64c4-4fd1-b1da-4355-a060-6e48-ee47-c85c',
- 'name': '[Unnamed Message]',
- 'type': 'request',
- 'from': '1',
- 'to': '2',
- 'index': 2
- }
- }
- ]
- }
- }
- };
-
- mockRest.addHandler('create', ({baseUrl}) => {
+ mockRest.addHandler('post', ({baseUrl}) => {
expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowUpdateData.serviceID}/artifacts/${flowUpdateData.uniqueId}`);
- return {
- artifactChecksum: 'MmE5MWJmN2ZlN2FhM2JhMzA0NGQ1ODMyOWFhNWI0NDA=',
- artifactCreator: 'cs0008',
- artifactDisplayName: 'zizizi',
- artifactGroupType: 'INFORMATIONAL',
- artifactLabel: 'zizizi',
- artifactName: 'zizizi',
- artifactType: 'WORKFLOW',
- artifactUUID: '3319335b-969e-4d72-b5a2-409645de6d64',
- artifactVersion: '3',
- attUidLastUpdater: 'cs0008',
- creationDate: 1470144601623,
- description: 'aslkjdfl asfdasdf',
- esId: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- lastUpdateDate: 1470208425904,
- mandatory: false,
- payloadUpdateDate: 1470208426424,
- serviceApi: false,
- timeout: 0,
- uniqueId: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- updaterFullName: 'Carlos Santana'
- };
+ return buildFromExistingObject(FlowPostResponseFactory, flowUpdateData);
});
- FlowsActions.createOrUpdateFlow(store.dispatch, {flow: flowUpdateData}, !NEW_FLOW);
-
- setTimeout(() => {
+ return FlowsActions.createOrUpdateFlow(store.dispatch, {flow: flowUpdateData}, !NEW_FLOW).then(() => {
assertFlowDataAfterCreateFetchAndUpdate(flowUpdateData);
- done();
- }, 50);
+ });
+
});
- it('Delete Flow', done => {
+ it('Delete Flow', () => {
deepFreeze(store.getState());
- const flowDeleteData = deepFreeze({
- artifactName: 'zizizi',
- artifactType: 'WORKFLOW',
- description: 'aslkjdfl asfdasdf',
- serviceID: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b',
- uniqueId: '338d75f0-aec8-4eb4-89c9-8733fcd9bf3b.zizizi',
- participants: []
- });
+ const flowDeleteData = FlowDeleteRequestFactory.build();
mockRest.addHandler('destroy', ({baseUrl}) => {
expect(baseUrl).toBe(`/sdc1/feProxy/rest/v1/catalog/services/${flowDeleteData.serviceID}/artifacts/${flowDeleteData.uniqueId}`);
return {};
});
- FlowsActions.deleteFlow(store.dispatch, {flow: flowDeleteData});
-
- setTimeout(() => {
+ return FlowsActions.deleteFlow(store.dispatch, {flow: flowDeleteData}).then(() => {
let {flowList} = store.getState().flows;
let index = flowList.findIndex(flow => flow.uniqueId === flowDeleteData.uniqueId);
expect(index).toBe(-1);
- done();
- }, 50);
+ });
});
-
});
-