diff options
Diffstat (limited to 'public/cypress/support')
-rw-r--r-- | public/cypress/support/commands.ts | 31 | ||||
-rw-r--r-- | public/cypress/support/generalCommands.ts | 50 | ||||
-rw-r--r-- | public/cypress/support/homeCommands.ts | 147 | ||||
-rw-r--r-- | public/cypress/support/index.js | 23 | ||||
-rw-r--r-- | public/cypress/support/ruleEngineCommands.ts | 71 |
5 files changed, 322 insertions, 0 deletions
diff --git a/public/cypress/support/commands.ts b/public/cypress/support/commands.ts new file mode 100644 index 0000000..ee8623c --- /dev/null +++ b/public/cypress/support/commands.ts @@ -0,0 +1,31 @@ +declare namespace Cypress { + interface Chainable { + getTemplateApiError: typeof getTemplateApiError; + } +} + +function getTemplateApiError(): void { + cy.server().route({ + method: 'GET', + url: + Cypress.env('backendUrl') + + '/service/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a', + status: 500, + response: { + requestError: { + policyException: { + messageId: 'POL5000', + text: 'Error: Internal Server Error. Please try again later.', + variables: [], + formattedErrorMessage: + 'Error: Internal Server Error. Please try again later.' + } + }, + notes: 'Error: Requested "123" resource was not found.' + } + }); + cy.homePage(); + cy.get('button[data-tests-id="btn-create-mc"]').click(); +} + +Cypress.Commands.add('getTemplateApiError', getTemplateApiError); diff --git a/public/cypress/support/generalCommands.ts b/public/cypress/support/generalCommands.ts new file mode 100644 index 0000000..fc87acc --- /dev/null +++ b/public/cypress/support/generalCommands.ts @@ -0,0 +1,50 @@ +declare namespace Cypress { + interface Chainable { + httpGetDDLData: typeof httpGetDDLData; + fillNewMcForm: typeof fillNewMcForm; + httpCreateNewMc: typeof httpCreateNewMc; + } +} + +function httpGetDDLData(): void { + cy + .server() + .route({ + method: 'GET', + url: + Cypress.env('backendUrl') + + '/service/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a', + response: 'fixture:serviceDdl' + }) + .as('vfniListApi') + .route({ + method: 'GET', + url: + Cypress.env('backendUrl') + '/getResourcesByMonitoringTemplateCategory', + response: [{ name: 'AviStone1234' }] + }) + .as('templateAPi'); +} + +function fillNewMcForm() { + cy.get('input[data-tests-id="nameMc"]').type('new mc'); + cy.get('textarea[data-tests-id="descMc"]').type('Hello Description'); + cy.get('select[data-tests-id="templateDdl"]').select('AviStone1234'); + cy.get('select[data-tests-id="vfniDdl"]').select('LiavSrv'); +} + +function httpCreateNewMc() { + cy.server(); + cy + .route({ + method: 'POST', + url: Cypress.env('backendUrl') + '/createMC', + response: 'fixture:createMcRes' + }) + .as('newMC'); +} + +// Add cypress commands +Cypress.Commands.add('httpGetDDLData', httpGetDDLData); +Cypress.Commands.add('fillNewMcForm', fillNewMcForm); +Cypress.Commands.add('httpCreateNewMc', httpCreateNewMc); diff --git a/public/cypress/support/homeCommands.ts b/public/cypress/support/homeCommands.ts new file mode 100644 index 0000000..6f3349c --- /dev/null +++ b/public/cypress/support/homeCommands.ts @@ -0,0 +1,147 @@ +declare namespace Cypress { + interface Chainable { + homePage: typeof homePage; + homePageCertified: typeof homePageCertified; + sdcIsOwnerFalse: typeof sdcIsOwnerFalse; + sdcUserNotCheckout: typeof sdcUserNotCheckout; + getMCList: typeof getMCList; + getMCListEmpty: typeof getMCListEmpty; + deleteMonitoringComponent: typeof deleteMonitoringComponent; + deleteMonitoringComponentWithBlueprint: typeof deleteMonitoringComponentWithBlueprint; + submitMonitoringComponent: typeof submitMonitoringComponent; + saveMonitoringComponent: typeof saveMonitoringComponent; + getMC: typeof getMC; + } +} + +// functionality +function sdcIsOwnerFalse(): void { + cy.visit( + 'home?userId=cs0008&userRole=DESIGNER&displayType=context&contextType=SERVICE&uuid=b1645734-b812-4cd7-a0cc-5b5843940ad6&lifecycleState=NOT_CERTIFIED_CHECKOUT&isOwner=false' + ); +} + +function sdcUserNotCheckout(): void { + cy.visit( + 'home?userId=cs0008&userRole=DESIGNER&displayType=context&contextType=SERVICE&uuid=b1645734-b812-4cd7-a0cc-5b5843940ad6&lifecycleState=READY_FOR_CERTIFICATION&isOwner=true' + ); +} + +function homePage(): void { + cy.visit( + 'home?userId=cs0008&userRole=DESIGNER&displayType=context&contextType=SERVICES&uuid=06c7d927-4e2f-47e1-a29d-b6ed229ebc0a&lifecycleState=NOT_CERTIFIED_CHECKOUT&isOwner=true&version=0.1' + ); +} + +function homePageCertified(): void { + cy.visit( + 'home?userId=cs0008&userRole=DESIGNER&displayType=context&contextType=SERVICES&uuid=06c7d927-4e2f-47e1-a29d-b6ed229ebc0a&lifecycleState=CERTIFIED_CHECKOUT&isOwner=true&version=0.1' + ); +} + +function deleteMonitoringComponent(): void { + cy + .server() + .route({ + method: 'DELETE', + url: + Cypress.env('backendUrl') + + '/SERVICES/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a/vfb53dd48360ff4fa2b66e6ceb1961bd9b0/cba37ed8-94e1-406f-b4f5-b5edbc31ac85/deleteVfcmtReference', + response: '{}' + }) + .as('deleteMonitoringComponent'); +} + +function saveMonitoringComponent(): void { + cy + .server() + .route({ + method: 'POST', + url: + Cypress.env('backendUrl') + + '/SERVICES/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a/vfb53dd48360ff4fa2b66e6ceb1961bd9b0/saveComposition/cba37ed8-94e1-406f-b4f5-b5edbc31ac85', + response: '{}' + }) + .as('saveMonitoringComponent'); +} + +function submitMonitoringComponent(): void { + cy + .server() + .route({ + method: 'POST', + url: + Cypress.env('backendUrl') + + '/SERVICES/createBluePrint/cba37ed8-94e1-406f-b4f5-b5edbc31ac85/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a/vfb53dd48360ff4fa2b66e6ceb1961bd9b0/', + response: '{}' + }) + .as('submitMonitoringComponent'); +} + +function deleteMonitoringComponentWithBlueprint(): void { + cy + .server() + .route({ + method: 'DELETE', + url: + Cypress.env('backendUrl') + + '/SERVICES/teSt.__.monitoring---TempLATE.6hnc/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a/dump0/64471437-8feb-40d9-a8b0-9407a81dd5c0/deleteVfcmtReference', + response: '{}' + }) + .as('deleteMonitoringComponentWithBlueprint'); +} + +function getMCList(): void { + cy + .server() + .route({ + method: 'GET', + url: + Cypress.env('backendUrl') + + '/SERVICES/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a/0.1/monitoringComponents', + response: 'fixture:monitoringComponentsMock' + }) + .as('mcList'); +} + +function getMC(): void { + cy + .server() + .route({ + method: 'GET', + url: + Cypress.env('backendUrl') + + '/getMC/cba37ed8-94e1-406f-b4f5-b5edbc31ac85', + response: 'fixture:getMCMock' + }) + .as('getMC'); +} + +function getMCListEmpty(): void { + cy + .server() + .route({ + method: 'GET', + url: + Cypress.env('backendUrl') + + '/SERVICES/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a/0.1/monitoringComponents', + response: '{}' + }) + .as('mcListEmpty'); +} + +// Add cypress commands +Cypress.Commands.add('homePage', homePage); +Cypress.Commands.add('homePageCertified', homePageCertified); +Cypress.Commands.add('sdcIsOwnerFalse', sdcIsOwnerFalse); +Cypress.Commands.add('sdcUserNotCheckout', sdcUserNotCheckout); +Cypress.Commands.add('getMCList', getMCList); +Cypress.Commands.add('getMCListEmpty', getMCListEmpty); +Cypress.Commands.add('deleteMonitoringComponent', deleteMonitoringComponent); +Cypress.Commands.add( + 'deleteMonitoringComponentWithBlueprint', + deleteMonitoringComponentWithBlueprint +); +Cypress.Commands.add('submitMonitoringComponent', submitMonitoringComponent); +Cypress.Commands.add('saveMonitoringComponent', saveMonitoringComponent); +Cypress.Commands.add('getMC', getMC); diff --git a/public/cypress/support/index.js b/public/cypress/support/index.js new file mode 100644 index 0000000..2f70722 --- /dev/null +++ b/public/cypress/support/index.js @@ -0,0 +1,23 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands'; +import './homeCommands'; +import './generalCommands'; +import './ruleEngineCommands'; + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/public/cypress/support/ruleEngineCommands.ts b/public/cypress/support/ruleEngineCommands.ts new file mode 100644 index 0000000..2142e7f --- /dev/null +++ b/public/cypress/support/ruleEngineCommands.ts @@ -0,0 +1,71 @@ +declare namespace Cypress { + interface Chainable { + emptyRuleEngine: typeof emptyRuleEngine; + httpTargetTree: typeof httpTargetTree; + doneSaveRule: typeof doneSaveRule; + httpTransalte: typeof httpTransalte; + } +} + +function emptyRuleEngine(targetFiled) { + cy.server(); + cy + .route({ + method: 'GET', + url: `${Cypress.env( + 'backendUrl' + )}/rule-editor/rule/6d436c07-8006-4335-8c84-d65b4740f8d6/map/n.1517823219961.0/${targetFiled}`, + response: {} + }) + .as('serverRuleList') + .route({ + method: 'GET', + url: Cypress.env('backendUrl') + '/rule-editor/list-events-by-versions', + response: 'fixture:list-events-by-version' + }) + .as('serverEventsAndVersion'); +} + +function httpTargetTree() { + cy.server(); + cy + .route({ + method: 'GET', + url: + Cypress.env('backendUrl') + '/rule-editor/definition/4.1/syslogFields', + response: 'fixture:syslogTargetTree' + }) + .as('targetData'); +} + +function doneSaveRule() { + cy.server(); + cy + .route({ + method: 'POST', + url: + Cypress.env('backendUrl') + + '/rule-editor/rule/6d436c07-8006-4335-8c84-d65b4740f8d6/map/n.1517823219961.0/Type1', + response: 'fixture:doneSaveSimpleCopy' + }) + .as('doneSaveCopyRule'); +} + +function httpTransalte() { + cy.server(); + cy + .route({ + method: 'GET', + url: + Cypress.env('backendUrl') + + '/rule-editor/rule/translate/6d436c07-8006-4335-8c84-d65b4740f8d6/map/n.1517823219961.0/Type1', + response: 'fixture:TranslateSimpleCopy' + }) + .as('TranslateSimpleCopy'); +} + +// Add cypress commands +Cypress.Commands.add('emptyRuleEngine', emptyRuleEngine); +Cypress.Commands.add('httpTargetTree', httpTargetTree); +Cypress.Commands.add('doneSaveRule', doneSaveRule); +Cypress.Commands.add('httpTransalte', httpTransalte); |