Merge from ecomp 718fd196 - Modern UI

Issue-ID: VID-378

Change-Id: I2736b98426e324ec3aa233b034229ba84d99839f
Signed-off-by: Ittay Stern <ittay.stern@att.com>
diff --git a/vid-webpack-master/cypress/support/elements/element.actions.ts b/vid-webpack-master/cypress/support/elements/element.actions.ts
index 44e8583..6d63e9f 100644
--- a/vid-webpack-master/cypress/support/elements/element.actions.ts
+++ b/vid-webpack-master/cypress/support/elements/element.actions.ts
@@ -8,6 +8,7 @@
     hasClass : typeof hasClass;
     getElementByDataTestsId : typeof getElementByDataTestsId;
     getTagElementContainsText : typeof  getTagElementContainsText;
+    isElementNotContainsAttr : typeof  isElementNotContainsAttr;
   }
 }
 
@@ -18,6 +19,13 @@
   cy.getElementByDataTestsId(id).should('have.attr', attr);
 }
 
+/*************************************************************************
+ isElementContainsAttr : check if element with id not contains some attribute
+ *************************************************************************/
+function isElementNotContainsAttr(id : string, attr: string) : void {
+  cy.getElementByDataTestsId(id).should('not.have.attr', attr);
+}
+
 /*********************************************************
  isElementDisabled : check if element with id is disabled
  *********************************************************/
@@ -54,3 +62,4 @@
 Cypress.Commands.add('hasClass', hasClass);
 Cypress.Commands.add('getElementByDataTestsId', getElementByDataTestsId);
 Cypress.Commands.add('getTagElementContainsText', getTagElementContainsText);
+Cypress.Commands.add('isElementNotContainsAttr', isElementNotContainsAttr);
diff --git a/vid-webpack-master/cypress/support/elements/element.select.actions.ts b/vid-webpack-master/cypress/support/elements/element.select.actions.ts
index 1f8eea0..4df6216 100644
--- a/vid-webpack-master/cypress/support/elements/element.select.actions.ts
+++ b/vid-webpack-master/cypress/support/elements/element.select.actions.ts
@@ -2,6 +2,7 @@
   interface Chainable {
     selectDropdownOptionByText : typeof selectDropdownOptionByText;
     checkIsOptionSelected : typeof checkIsOptionSelected;
+    validateSelectOptions: typeof validateSelectOptions;
   }
 }
 
@@ -21,6 +22,18 @@
     .should('have.value', optionText)
 }
 
+
+/************************************************
+ validate the options of selected drop down
+ ************************************************/
+function validateSelectOptions(rolesCriteria: string, values: string[]){
+  values.forEach((value)=>{
+    selectDropdownOptionByText(rolesCriteria, value);
+    checkIsOptionSelected(rolesCriteria, value);
+  });
+}
+
 Cypress.Commands.add('selectDropdownOptionByText', selectDropdownOptionByText);
 Cypress.Commands.add('checkIsOptionSelected', checkIsOptionSelected);
+Cypress.Commands.add('validateSelectOptions', validateSelectOptions);