Merge "change management cypress test"
[vid.git] / vid-webpack-master / cypress / support / application / application.session.actions.ts
1 declare namespace Cypress {
2   interface Chainable {
3     setReduxState : typeof setReduxState;
4     getReduxState : typeof getReduxState;
5     setTestApiParamToGR: typeof setTestApiParamToGR;
6     setTestApiParamToVNF: typeof setTestApiParamToVNF;
7     buildReduxStateWithServiceRespone: typeof buildReduxStateWithServiceRespone;
8   }
9 }
10
11 /**********************************
12  Type to input with id some text
13  *********************************/
14 function setReduxState(state?: string) : void {
15   cy.readFile('cypress/support/jsonBuilders/mocks/jsons/basicRedux.json').then((res) => {
16     cy.window().then((win) => {
17       win.sessionStorage.setItem('reduxState',  JSON.stringify(state ? state : res));
18     });
19   });
20 }
21 function getReduxState(): Chainable<any> {
22   return cy.window().then((win) => {
23     let stateRaw = win.sessionStorage.getItem('reduxState');
24     return JSON.parse(stateRaw ?  stateRaw : '{}');
25   });
26 }
27
28 function setTestApiParamToGR() : void {
29   cy.window().then((win) => {
30     win.sessionStorage.setItem('msoRequestParametersTestApiValue', 'GR_API');
31   });
32 }
33
34 function setTestApiParamToVNF() : void {
35   cy.window().then((win) => {
36     win.sessionStorage.setItem('msoRequestParametersTestApiValue', 'VNF_API');
37   });
38 }
39
40 function updateObject(obj: any, key: string, val: any, value:any) {
41   return JSON.parse(JSON.stringify(obj)
42     .replace(new RegExp(`"${key}":"${val}"`), `"${key}":"${value}"`))
43 }
44
45 function buildReduxStateWithServiceRespone(res: any, serviceId:string, isEcompGeneratedNaming:boolean) :void {
46   res = updateObject(res, "ecomp_generated_naming", !isEcompGeneratedNaming, isEcompGeneratedNaming);
47   cy.window().then((win) => {
48     win.sessionStorage.setItem('reduxState',  JSON.stringify({
49       "global": {
50         "name": null
51       },
52       "service": {
53         "serviceHierarchy": {
54           [serviceId] : res
55         },
56         "serviceInstance": {
57           [serviceId]: {
58             "existingVNFCounterMap": {},
59             "existingVnfGroupCounterMap": {},
60             "existingNetworksCounterMap": {},
61             "vnfs": {},
62             "vnfGroups": {},
63             "isEcompGeneratedNaming": isEcompGeneratedNaming,
64             "existingNames": {},
65             "vidNotions": res.service.vidNotions
66           }
67         }
68       }
69     }));
70   });
71 }
72
73 Cypress.Commands.add('setReduxState', setReduxState);
74 Cypress.Commands.add('getReduxState', getReduxState);
75 Cypress.Commands.add('setTestApiParamToGR', setTestApiParamToGR);
76 Cypress.Commands.add('setTestApiParamToVNF',setTestApiParamToVNF);
77 Cypress.Commands.add('buildReduxStateWithServiceRespone', buildReduxStateWithServiceRespone);