diff options
Diffstat (limited to 'vid-webpack-master/cypress/support/elements')
4 files changed, 126 insertions, 0 deletions
diff --git a/vid-webpack-master/cypress/support/elements/element.actions.ts b/vid-webpack-master/cypress/support/elements/element.actions.ts new file mode 100644 index 000000000..2d30aa1b1 --- /dev/null +++ b/vid-webpack-master/cypress/support/elements/element.actions.ts @@ -0,0 +1,49 @@ +import Chainable = Cypress.Chainable; + +declare namespace Cypress { + interface Chainable { + isElementContainsAttr : typeof isElementContainsAttr; + isElementDisabled : typeof isElementDisabled; + isElementEnabled : typeof isElementEnabled; + hasClass : typeof hasClass; + getElementByDataTestsId : typeof getElementByDataTestsId; + } +} + +/************************************************************************* + isElementContainsAttr : check if element with id contains some attribute + *************************************************************************/ +function isElementContainsAttr(id : string, attr: string) : void { + cy.get("[data-tests-id='" + id +"']") + .should('have.attr', attr); +} + +/********************************************************* + isElementDisabled : check if element with id is disabled + *********************************************************/ +function isElementDisabled(id : string) : void { + cy.get( "[data-tests-id='" + id +"']").should('be:disabled'); +} + +function isElementEnabled(id : string) : void { + cy.get( "button[data-tests-id='" + id +"']").should('be:enabled'); +} + +/**************************************************************** + hasClass : check if element with id contains some class name + ****************************************************************/ +function hasClass(id : string, className : string) : void { + cy.get( "[data-tests-id='" + id +"']") + .should('have.class', className); +} + +function getElementByDataTestsId(dataTestsId : string) : Chainable<JQuery<HTMLElement>> { + return cy.get( "[data-tests-id='" + dataTestsId +"']"); +} + + +Cypress.Commands.add('isElementContainsAttr', isElementContainsAttr); +Cypress.Commands.add('isElementDisabled', isElementDisabled); +Cypress.Commands.add('isElementEnabled', isElementEnabled); +Cypress.Commands.add('hasClass', hasClass); +Cypress.Commands.add('getElementByDataTestsId', getElementByDataTestsId); diff --git a/vid-webpack-master/cypress/support/elements/element.input.actions.ts b/vid-webpack-master/cypress/support/elements/element.input.actions.ts new file mode 100644 index 000000000..714daf98a --- /dev/null +++ b/vid-webpack-master/cypress/support/elements/element.input.actions.ts @@ -0,0 +1,46 @@ +declare namespace Cypress { + interface Chainable { + typeToInput : typeof typeToInput; + blurInput : typeof blurInput; + focusInput : typeof focusInput; + shouldInputContainsText: typeof shouldInputContainsText; + } +} + +/********************************** + Type to input with id some text + *********************************/ +function typeToInput(id : string, text : string) : void { + cy.get( "[data-tests-id='" + id +"']") + .type(text, {force: true}); +} + +/******************** + blur input with id + ********************/ +function blurInput(id : string) : void { + cy.get( "[data-tests-id='" + id +"']") + .blur(); +} + +/******************** + focus input with id + ********************/ +function focusInput(id : string) : void { + cy.get( "[data-tests-id='" + id +"']") + .focus(); +} + +/***************************************** + test if input with id contains some text + ****************************************/ +function shouldInputContainsText(id : string, text : string) : void { + cy.get( "[data-tests-id='" + id +"']") + .contains('text') +} + +Cypress.Commands.add('typeToInput', typeToInput); +Cypress.Commands.add('blurInput', blurInput); +Cypress.Commands.add('focusInput', focusInput); +Cypress.Commands.add('shouldInputContainsText', shouldInputContainsText); + diff --git a/vid-webpack-master/cypress/support/elements/element.select.actions.ts b/vid-webpack-master/cypress/support/elements/element.select.actions.ts new file mode 100644 index 000000000..452323d3d --- /dev/null +++ b/vid-webpack-master/cypress/support/elements/element.select.actions.ts @@ -0,0 +1,16 @@ +declare namespace Cypress { + interface Chainable { + selectDropdownOptionByText : typeof selectDropdownOptionByText; + } +} + +/************************************************ + select option with some text with select tag id + ************************************************/ +function selectDropdownOptionByText(selectId : string, optionText : string) : void { + cy.getElementByDataTestsId(selectId) + .select(optionText); +} + +Cypress.Commands.add('selectDropdownOptionByText', selectDropdownOptionByText); + diff --git a/vid-webpack-master/cypress/support/elements/element.table.actions.ts b/vid-webpack-master/cypress/support/elements/element.table.actions.ts new file mode 100644 index 000000000..4994723d7 --- /dev/null +++ b/vid-webpack-master/cypress/support/elements/element.table.actions.ts @@ -0,0 +1,15 @@ +declare namespace Cypress { + interface Chainable { + getTableRowByIndex : typeof getTableRowByIndex; + } +} + +/*************************************** + get table row by table id and index + *************************************/ +function getTableRowByIndex(id : string, index : number) : Chainable<JQuery<HTMLElement>> { + return cy.get('table#' + id + ' tbody tr').eq(index); +} + +Cypress.Commands.add('getTableRowByIndex', getTableRowByIndex); + |