| declare namespace Cypress { |
| interface Chainable { |
| setReduxState : typeof setReduxState; |
| getReduxState : typeof getReduxState; |
| clearSessionStorage: typeof clearSessionStorage; |
| setTestApiParamToGR: typeof setTestApiParamToGR; |
| setTestApiParamToVNF: typeof setTestApiParamToVNF; |
| buildReduxStateWithServiceRespone: typeof buildReduxStateWithServiceRespone; |
| } |
| } |
| |
| /********************************** |
| Type to input with id some text |
| *********************************/ |
| function setReduxState(state?: string) : void { |
| cy.readFile('cypress/support/jsonBuilders/mocks/jsons/basicRedux.json').then((res) => { |
| cy.window().then((win) => { |
| win.sessionStorage.setItem('reduxState', JSON.stringify(state ? state : res)); |
| }); |
| }); |
| } |
| function getReduxState(): Chainable<any> { |
| return cy.window().then((win) => { |
| let stateRaw = win.sessionStorage.getItem('reduxState'); |
| return JSON.parse(stateRaw ? stateRaw : '{}'); |
| }); |
| } |
| |
| function clearSessionStorage() : void { |
| cy.window().then((win) => { |
| win.sessionStorage.clear(); |
| }); |
| } |
| |
| 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": {}, |
| "vidNotions": res.service.vidNotions |
| } |
| } |
| } |
| })); |
| }); |
| } |
| |
| Cypress.Commands.add('setReduxState', setReduxState); |
| Cypress.Commands.add('getReduxState', getReduxState); |
| Cypress.Commands.add('clearSessionStorage', clearSessionStorage); |
| Cypress.Commands.add('setTestApiParamToGR', setTestApiParamToGR); |
| Cypress.Commands.add('setTestApiParamToVNF',setTestApiParamToVNF); |
| Cypress.Commands.add('buildReduxStateWithServiceRespone', buildReduxStateWithServiceRespone); |