[ADF-3333] Test for Viewer - Part 3 (#3927)

* [ADF-3333] Test for Viewer - Part 3

* Fixing failing test

* remove async not necessary

* fix lint
This commit is contained in:
Marouan Bentaleb
2018-11-28 00:22:42 +00:00
committed by Eugenio Romano
parent 94905d1065
commit cc7b9230ee
11 changed files with 338 additions and 125 deletions

View File

@@ -15,6 +15,8 @@
* limitations under the License.
*/
import { element, by, browser } from 'protractor';
var TestConfig = require('../../test.config');
var Util = require('../../util/util');
@@ -133,7 +135,7 @@ var DataTablePage = function (rootElement = element(by.css("adf-datatable"))) {
* @param {String} row number
*/
this.selectRowWithKeyboard = function (rowNumber) {
var row = this.getRowByRowNumber(rowNumber);
let row = this.getRowByRowNumber(rowNumber);
browser.actions().sendKeys(protractor.Key.COMMAND).click(row).perform();
};
@@ -143,7 +145,7 @@ var DataTablePage = function (rootElement = element(by.css("adf-datatable"))) {
* @param {String} selection mode
*/
this.selectSelectionMode = function (selectionMode) {
var selectMode = element(by.cssContainingText("span[class='mat-option-text']", selectionMode));
let selectMode = element(by.cssContainingText("span[class='mat-option-text']", selectionMode));
selectionButton.click();
Util.waitUntilElementIsVisible(selectionDropDown);
selectMode.click();
@@ -155,7 +157,7 @@ var DataTablePage = function (rootElement = element(by.css("adf-datatable"))) {
* @param {String} row number
*/
this.checkRowIsSelected = function (rowNumber) {
var isRowSelected = this.getRowByRowNumber(rowNumber).element(by.xpath("ancestor::div[contains(@class, 'is-selected')]"));
let isRowSelected = this.getRowByRowNumber(rowNumber).element(by.xpath("ancestor::div[contains(@class, 'is-selected')]"));
Util.waitUntilElementIsVisible(isRowSelected);
};
@@ -165,7 +167,7 @@ var DataTablePage = function (rootElement = element(by.css("adf-datatable"))) {
* @param {String} row number
*/
this.checkRowIsNotSelected = function (rowNumber) {
var isRowSelected = this.getRowByRowNumber(rowNumber).element(by.xpath("ancestor::div[contains(@class, 'adf-datatable-row custom-row-style ng-star-inserted is-selected')]"));
let isRowSelected = this.getRowByRowNumber(rowNumber).element(by.xpath("ancestor::div[contains(@class, 'adf-datatable-row custom-row-style ng-star-inserted is-selected')]"));
Util.waitUntilElementIsNotOnPage(isRowSelected);
};
@@ -231,7 +233,7 @@ var DataTablePage = function (rootElement = element(by.css("adf-datatable"))) {
* @param {String} id
*/
this.replaceRows = function (id) {
var rowID = this.getRowByRowNumber(id);
let rowID = this.getRowByRowNumber(id);
Util.waitUntilElementIsVisible(rowID);
replaceRows.click();
Util.waitUntilElementIsNotOnPage(rowID);
@@ -248,13 +250,23 @@ var DataTablePage = function (rootElement = element(by.css("adf-datatable"))) {
};
this.getRowsName = function (content) {
var row = element(by.css("div[data-automation-id*='" + content + "']"));
let row = element(by.css("div[data-automation-id*='" + content + "']"));
Util.waitUntilElementIsPresent(row);
return row;
};
this.doubleClickRow = function (rowName) {
let row = this.getRowByRowName(rowName);
Util.waitUntilElementIsVisible(row);
Util.waitUntilElementIsClickable(row);
row.click();
Util.waitUntilElementIsVisible(row.all(by.css("div[class*='--image'] mat-icon[svgicon*='selected']")).first());
browser.actions().sendKeys(protractor.Key.ENTER).perform();
return this;
};
this.getRowByRowName = function (content) {
var rowByRowName = by.xpath("ancestor::div[contains(@class, 'adf-datatable-row')]");
let rowByRowName = by.xpath("ancestor::div[contains(@class, 'adf-datatable-row')]");
Util.waitUntilElementIsPresent(this.getRowsName(content).element(rowByRowName));
return this.getRowsName(content).element(rowByRowName);
};
@@ -264,7 +276,7 @@ var DataTablePage = function (rootElement = element(by.css("adf-datatable"))) {
};
this.insertFilter = function (filterText) {
var inputFilter = element(by.xpath("//*[@id=\"adf-datatable-filter-input\"]"));
let inputFilter = element(by.xpath("//*[@id=\"adf-datatable-filter-input\"]"));
inputFilter.clear();
return inputFilter.sendKeys(filterText);
};