merge from ecomp a88f0072 - Modern UI

Issue-ID: VID-378
Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6
Signed-off-by: Ittay Stern <ittay.stern@att.com>
diff --git a/vid-webpack-master/cypress/support/application/application.session.actions.ts b/vid-webpack-master/cypress/support/application/application.session.actions.ts
index 490016b..19f6881 100644
--- a/vid-webpack-master/cypress/support/application/application.session.actions.ts
+++ b/vid-webpack-master/cypress/support/application/application.session.actions.ts
@@ -1,6 +1,10 @@
 declare namespace Cypress {
   interface Chainable {
     setReduxState : typeof setReduxState;
+    getReduxState : typeof getReduxState;
+    setTestApiParamToGR: typeof setTestApiParamToGR;
+    setTestApiParamToVNF: typeof setTestApiParamToVNF;
+    buildReduxStateWithServiceRespone: typeof buildReduxStateWithServiceRespone;
   }
 }
 
@@ -14,8 +18,59 @@
     });
   });
 }
+function getReduxState(): Chainable<any> {
+  return cy.window().then((win) => {
+    let stateRaw = win.sessionStorage.getItem('reduxState');
+    return JSON.parse(stateRaw ?  stateRaw : '{}');
+  });
+}
 
+function setTestApiParamToGR() : void {
+  cy.window().then((win) => {
+    win.sessionStorage.setItem('msoRequestParametersTestApiValue', 'GR_API');
+  });
+}
 
+function setTestApiParamToVNF() : void {
+  cy.window().then((win) => {
+    win.sessionStorage.setItem('msoRequestParametersTestApiValue', 'VNF_API');
+  });
+}
+
+function updateObject(obj: any, key: string, val: any, value:any) {
+  return JSON.parse(JSON.stringify(obj)
+    .replace(new RegExp(`"${key}":"${val}"`), `"${key}":"${value}"`))
+}
+
+function buildReduxStateWithServiceRespone(res: any, serviceId:string, isEcompGeneratedNaming:boolean) :void {
+  res = updateObject(res, "ecomp_generated_naming", !isEcompGeneratedNaming, isEcompGeneratedNaming);
+  cy.window().then((win) => {
+    win.sessionStorage.setItem('reduxState',  JSON.stringify({
+      "global": {
+        "name": null
+      },
+      "service": {
+        "serviceHierarchy": {
+          [serviceId] : res
+        },
+        "serviceInstance": {
+          [serviceId]: {
+            "existingVNFCounterMap": {},
+            "existingVnfGroupCounterMap": {},
+            "existingNetworksCounterMap": {},
+            "vnfs": {},
+            "vnfGroups": {},
+            "isEcompGeneratedNaming": isEcompGeneratedNaming,
+            "existingNames": {}
+          }
+        }
+      }
+    }));
+  });
+}
 
 Cypress.Commands.add('setReduxState', setReduxState);
-
+Cypress.Commands.add('getReduxState', getReduxState);
+Cypress.Commands.add('setTestApiParamToGR', setTestApiParamToGR);
+Cypress.Commands.add('setTestApiParamToVNF',setTestApiParamToVNF);
+Cypress.Commands.add('buildReduxStateWithServiceRespone', buildReduxStateWithServiceRespone);