diff options
Diffstat (limited to 'vid-webpack-master/cypress/support/steps/drawingBoard')
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); |