Introduced dynamic workflow properties in VID FE
[vid.git] / vid-app-common / src / main / webapp / app / vid / scripts / modals / new-change-management / new-change-management.controller.test.js
index c4b9406..7f21dda 100644 (file)
@@ -50,7 +50,7 @@ describe('Testing workFlows from SO', () => {
     // when
     return $controller.loadRemoteWorkFlows()
     .then(() => {
-           remoteWorkflows = $controller.remoteWorkflows.map(item => item.name)
+           remoteWorkflows = $controller.remoteWorkflows.map(item => item.name);
            expect(remoteWorkflows).toContain('workflow 1');
            expect(remoteWorkflows).toContain('workflow 2');
         }
@@ -61,10 +61,12 @@ describe('Testing workFlows from SO', () => {
     // given
     let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}});
     let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{"id": "1", "name": "workflow 1"}, {"id": "2", "name": "workflow 2"}]});
+    let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{"parameterDefinitions": []}});
 
     $controller.changeManagement.vnfNames = [{name: 'test1'}, {name: "test2"}];
     $changeManagementService.getWorkflows = () => getWorkflowsStub;
     $changeManagementService.getSOWorkflows = () =>  getSOWorkflowsPromiseStub;
+    $changeManagementService.getSOWorkflowParameter = () =>  getSOWorkflowsParametersPromiseStub;
     // when
     return $controller.loadWorkFlows().then(() => {
       expect($controller.workflows).toContain('workflow 0');
@@ -73,6 +75,29 @@ describe('Testing workFlows from SO', () => {
     });
   });
 
+  test('Verify load workflows will call load workflows parameters from SO', () => {
+    // given
+    let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}});
+    let getSOWorkflowsPromiseStub = Promise.resolve({"data": [{"id": "1", "name": "workflow 0"}]});
+    let getSOWorkflowsParametersPromiseStub = Promise.resolve({"data":{"parameterDefinitions": [
+          {"id": 1, "name": "parameter 1", "required": true, "type": "STRING", "pattern": "[0-9]*"},
+          {"id": 2, "name": "parameter 2", "required": true, "type": "STRING", "pattern": ".*"},
+          {"id": 3, "name": "parameter 3", "required": false, "type": "STRING", "pattern": "[0-9]*"}]}});
+
+    $controller.changeManagement.vnfNames = [{name: 'test1'}, {name: "test2"}];
+    $changeManagementService.getWorkflows = () => getWorkflowsStub;
+    $changeManagementService.getSOWorkflows = () =>  getSOWorkflowsPromiseStub;
+    $changeManagementService.getSOWorkflowParameter = () =>  getSOWorkflowsParametersPromiseStub;
+    // when
+    return $controller.loadWorkFlows()
+    .then(() => {
+      expect($controller.remoteWorkflowsParameters).toEqual(new Map([["workflow 0",
+        [{"id": 1, "name": "parameter 1", "pattern": "[0-9]*", "required": true, "type": "STRING"},
+         {"id": 2, "name": "parameter 2", "pattern": ".*", "required": true, "type": "STRING"},
+         {"id": 3, "name": "parameter 3", "pattern": "[0-9]*", "required": false, "type": "STRING"}]]]));
+    });
+  });
+
   test('Verify broken SO workflows wont change content of local workflows', () => {
     // given
     let getWorkflowsStub = Promise.resolve({"data": {"workflows": ["workflow 0"]}});