summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/cypress/support/steps/drawingBoard
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/cypress/support/steps/drawingBoard')
-rw-r--r--vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardComponentInfo.steps.ts22
-rw-r--r--vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts17
-rw-r--r--vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardTree.steps.ts27
-rw-r--r--vid-webpack-master/cypress/support/steps/drawingBoard/general.steps.ts33
4 files changed, 99 insertions, 0 deletions
diff --git a/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardComponentInfo.steps.ts b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardComponentInfo.steps.ts
new file mode 100644
index 000000000..2033f060c
--- /dev/null
+++ b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardComponentInfo.steps.ts
@@ -0,0 +1,22 @@
+declare namespace Cypress {
+ interface Chainable {
+ assertComponentInfoTitleLabelsAndValues: typeof assertComponentInfoTitleLabelsAndValues
+ }
+}
+
+
+
+function assertComponentInfoTitleLabelsAndValues(expectedTitle: string, labelsAndValues: string[][]) : void{
+ cy.getElementByDataTestsId('component-info-section-title').should('have.text', expectedTitle);
+ labelsAndValues.forEach((tuple: string[], index: number, array: string[][]) => {
+ let label = tuple[0];
+ let value = tuple[1];
+ cy.getElementByDataTestsId('model-item-label-' + label).should('have.text', label);
+ cy.getElementByDataTestsId('model-item-value-' + label).should('have.text', value);
+ });
+}
+
+
+
+
+Cypress.Commands.add('assertComponentInfoTitleLabelsAndValues', assertComponentInfoTitleLabelsAndValues);
diff --git a/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts
new file mode 100644
index 000000000..b2b48b268
--- /dev/null
+++ b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts
@@ -0,0 +1,17 @@
+declare namespace Cypress {
+ interface Chainable {
+ drawingBoardPressAddButtonByElementName: typeof drawingBoardPressAddButtonByElementName,
+ drawingBoardNumberOfExistingElementsShouldContains: typeof drawingBoardNumberOfExistingElementsShouldContains
+ }
+}
+
+function drawingBoardPressAddButtonByElementName(elementName : string) : Chainable<any> {
+ return cy.getElementByDataTestsId(elementName + '-add-btn');
+}
+
+function drawingBoardNumberOfExistingElementsShouldContains(expectedElements : number) : void {
+ cy.getElementByDataTestsId('numberButton').contains(expectedElements);
+}
+
+Cypress.Commands.add('drawingBoardPressAddButtonByElementName', drawingBoardPressAddButtonByElementName);
+Cypress.Commands.add('drawingBoardNumberOfExistingElementsShouldContains', drawingBoardNumberOfExistingElementsShouldContains);
diff --git a/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardTree.steps.ts b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardTree.steps.ts
new file mode 100644
index 000000000..0150b44aa
--- /dev/null
+++ b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardTree.steps.ts
@@ -0,0 +1,27 @@
+declare namespace Cypress {
+ interface Chainable {
+ drawingBoardTreeOpenContextMenuByElementDataTestId: typeof drawingBoardTreeOpenContextMenuByElementDataTestId,
+ drawingBoardTreeClickOnContextMenuOptionByName: typeof drawingBoardTreeClickOnContextMenuOptionByName
+ }
+}
+
+function drawingBoardTreeOpenContextMenuByElementDataTestId(dataTestId : string, index ?: number) : Chainable<any> {
+ return cy.getElementByDataTestsId(dataTestId + "-menu-btn").eq(index != null ? index : 0).click({force: true});
+}
+
+function drawingBoardTreeClickOnContextMenuOptionByName(optionName : string) : Chainable<any> {
+ switch (optionName) {
+ case 'Duplicate':
+ return cy.getElementByDataTestsId('context-menu-duplicate').click({force : true});
+ case 'Remove':
+ return cy.getElementByDataTestsId('context-menu-remove').click({force : true});
+ case 'Edit':
+ return cy.getElementByDataTestsId('context-menu-edit').click({force : true});
+ default:
+ return cy.getElementByDataTestsId('context-menu-duplicate').click({force : true});
+ }
+}
+
+
+Cypress.Commands.add('drawingBoardTreeOpenContextMenuByElementDataTestId', drawingBoardTreeOpenContextMenuByElementDataTestId);
+Cypress.Commands.add('drawingBoardTreeClickOnContextMenuOptionByName', drawingBoardTreeClickOnContextMenuOptionByName);
diff --git a/vid-webpack-master/cypress/support/steps/drawingBoard/general.steps.ts b/vid-webpack-master/cypress/support/steps/drawingBoard/general.steps.ts
new file mode 100644
index 000000000..5444971b7
--- /dev/null
+++ b/vid-webpack-master/cypress/support/steps/drawingBoard/general.steps.ts
@@ -0,0 +1,33 @@
+declare namespace Cypress {
+ interface Chainable {
+ updateServiceShouldNotOverrideChild: typeof updateServiceShouldNotOverrideChild
+ openServiceContextMenu: typeof openServiceContextMenu
+ }
+}
+
+function updateServiceShouldNotOverrideChild() : void {
+ cy.getElementByDataTestsId('drawing-board-tree').find('.node-content-wrapper').then((elements)=>{
+ let numberOfExistingElements = elements.length;
+ cy.openServiceContextMenu().then(() =>{
+ cy.getElementByDataTestsId('context-menu-header-edit-item').click({force : true}).then(()=>{
+ cy.genericFormSubmitForm().then(()=>{
+ cy.getElementByDataTestsId('drawing-board-tree').find('.node-content-wrapper').then((afterUpdateServiceElements)=>{
+ chai.expect(numberOfExistingElements).equal(afterUpdateServiceElements.length);
+ });
+ });
+ });
+ });
+ });
+
+}
+
+
+function openServiceContextMenu() : Chainable<any> {
+ return cy.getElementByDataTestsId('openMenuBtn').click({force: true});
+}
+
+
+
+
+Cypress.Commands.add('updateServiceShouldNotOverrideChild', updateServiceShouldNotOverrideChild);
+Cypress.Commands.add('openServiceContextMenu', openServiceContextMenu);