blob: c054b264028884a8f0849c202557509d0220247c [file] [log] [blame]
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);