aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/cypress/support/elements
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/cypress/support/elements')
-rw-r--r--vid-webpack-master/cypress/support/elements/element.actions.ts49
-rw-r--r--vid-webpack-master/cypress/support/elements/element.input.actions.ts46
-rw-r--r--vid-webpack-master/cypress/support/elements/element.select.actions.ts16
-rw-r--r--vid-webpack-master/cypress/support/elements/element.table.actions.ts15
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);
+