[ADF-3336] added more tests for Document list component (#3635)

* [ADF-3336] start adding test for documentlist

* [ADF-3336] fixed test for permission message

* [ADF-3336] start adding test custom column type

* [ADF-3336] - added documentlist tests - PART I

* [ADF-3336] removed fdescribe

* [ADF-3336] fixed error on files component

* [ADF-3336] - unified all the diverging tests into one file

* [ADF-3336] fixed label for test

* [ADF-3336] removed fdescribe

* [ADF-3336] added sorting tests and some fix

* [ADF-3336] added other automations

* [ADF-3336] stabilising some flaky tests

* [ADF-3336] added line height check

* [ADF-3336] Test that needs to be fixed

* [ADF-3336] commented failing search tests

* [ADF-3336] removed locator from test and added to page object

* ]
[ADF-3336] rebased after last changes on development

* [ADF - 3336] added more test and actions for the test

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabled disabled tests

* [ADF-3336] reenabling disabled tests

* [ADF-3336] fixing process service integration tests

* [ADF-3336] removed comments and skipped two tests

* [ADF-3336] added thumbnails tests

* [ADF-3336] added tooltip documentlist tests

* [ADF-3336] added tooltip tests

* [ADF-3336] added gallery view tests

* [ADF-3336] removed comment

* [ADF-3336] fixed selectors and check for document list test
This commit is contained in:
Vito
2018-08-02 18:07:42 +01:00
committed by Eugenio Romano
parent ca62616936
commit 05da97d3b9
7 changed files with 738 additions and 568 deletions

View File

@@ -53,6 +53,8 @@ var ContentServicesPage = function () {
var emptyFolder = element(by.css(".adf-empty-folder-this-space-is-empty"));
var emptyFolderImage = element(by.css(".adf-empty-folder-image"));
var emptyRecent = element(by.css(".adf-container-recent .empty-list__title"));
var gridViewButton = element(by.css("button[data-automation-id='document-list-grid-view']"));
var cardViewContainer = element(by.css("div.document-list-container div.adf-data-table-card"));
this.checkRecentFileToBeShowed = function () {
Util.waitUntilElementIsVisible(recentFiles);
@@ -188,6 +190,18 @@ var ContentServicesPage = function () {
await contentList.checkListIsOrderedByNameColumn(sortOrder);
};
this.checkListIsSortedByCreatedColumn = async function(sortOrder) {
await contentList.checkListIsOrderedByCreatedColumn(sortOrder);
};
this.checkListIsSortedByAuthorColumn = async function(sortOrder) {
await contentList.checkListIsOrderedByAuthorColumn(sortOrder);
};
this.checkListIsSortedBySizeColumn = async function(sortOrder) {
await contentList.checkListIsOrderedBySizeColumn(sortOrder);
};
/**
* Sort by author and check the list is sorted.
*
@@ -398,6 +412,13 @@ var ContentServicesPage = function () {
return this;
};
this.enableThumbnails = function () {
var thumbnailSlide = element(by.css('#enableThumbnails'));
Util.waitUntilElementIsVisible(thumbnailSlide);
thumbnailSlide.click();
return this;
};
this.clickLoadMoreButton = function () {
Util.waitUntilElementIsVisible(loadMoreButton);
Util.waitUntilElementIsClickable(loadMoreButton);
@@ -473,6 +494,83 @@ var ContentServicesPage = function () {
Util.waitUntilElementIsVisible(emptyRecent);
};
this.checkIconForRowIsDisplayed = function(fileName) {
let iconRow = element(by.css(`.document-list-container div.adf-data-table-cell[filename="${fileName}"] img`));
Util.waitUntilElementIsVisible(iconRow);
return iconRow;
}
this.getRowIconImageUrl = async function(fileName) {
let iconRow = this.checkIconForRowIsDisplayed(fileName);
return iconRow.getAttribute('src');
}
this.checkGridViewButtonIsVisible = function () {
Util.waitUntilElementIsVisible(gridViewButton);
}
this.clickGridViewButton = function() {
this.checkGridViewButtonIsVisible();
gridViewButton.click();
}
this.checkCardViewContainerIsDisplayed = function () {
Util.waitUntilElementIsVisible(cardViewContainer);
}
this.getCardElementShowedInPage = function() {
this.checkCardViewContainerIsDisplayed();
let actualCards = $$('div.document-list-container div.adf-data-table-card div.cell-value img').count();
return actualCards;
}
this.getDocumentCardIconForElement = function(elementName){
let elementIcon = element(by.css(`.document-list-container div.adf-data-table-cell[filename="${elementName}"] img`));
return elementIcon.getAttribute('src');
}
this.checkDocumentCardPropertyIsShowed = function(elementName, propertyName) {
let elementProperty = element(by.css(`.document-list-container div.adf-data-table-cell[filename="${elementName}"][title="${propertyName}"]`));
Util.waitUntilElementIsVisible(elementProperty);
}
this.getAttributeValueForElement = function(elementName, propertyName) {
let elementSize = element(by.css(`.document-list-container div.adf-data-table-cell[filename="${elementName}"][title="${propertyName}"] span`));
return elementSize.getText();
}
this.checkMenuIsShowedForElementIndex = function(elementIndex) {
let elementMenu = element(by.css(`button[data-automation-id="action_menu_${elementIndex}"]`));
Util.waitUntilElementIsVisible(elementMenu);
}
this.navigateToCardFolder = function(folderName) {
let folderCard = element(by.css(`.document-list-container div.image-table-cell.adf-data-table-cell[filename="${folderName}"]`));
folderCard.click();
let folderSelected = element(by.css(`.adf-datatable-row.is-selected div[filename="${folderName}"].adf-data-table-cell--image`));
Util.waitUntilElementIsVisible(folderSelected);
browser.actions().sendKeys(protractor.Key.ENTER).perform();
}
this.getGridViewSortingDropdown = function() {
let sortingDropdown = element(by.css('mat-select[data-automation-id="grid-view-sorting"]'));
Util.waitUntilElementIsVisible(sortingDropdown);
return sortingDropdown;
}
this.selectGridSortingFromDropdown = function(sortingChosen){
let dropdownSorting = this.getGridViewSortingDropdown();
dropdownSorting.click();
let optionToClick = element(by.css(`mat-option[data-automation-id="grid-view-sorting-${sortingChosen}"]`));
Util.waitUntilElementIsPresent(optionToClick);
optionToClick.click();
}
this.checkRowIsDisplayed = function(rowName){
let row = contentList.getRowByRowName(rowName);
Util.waitUntilElementIsVisible(row);
}
};
module.exports = ContentServicesPage;

View File

@@ -29,6 +29,7 @@ var ContentList = function () {
var nameColumn = by.css("div[id*='document-list-container'] div[class*='adf-datatable-row'] div[class*='--text full-width'] span");
var nameColumnHeader = by.css("div[data-automation-id='auto_id_name']");
var createdByColumn = by.css("div[class*='--text'][title='Created by'] span");
var sizeColumn = by.css("div[id*='document-list-container'] div[class*='adf-datatable-row'] .adf-filesize-cell");
var createdByColumnHeader = by.css("div[data-automation-id*='auto_id_createdByUser']");
var createdColumn = by.css("div[class*='--date'] span");
var createdColumnHeader = by.css("div[data-automation-id*='auto_id_createdAt']");
@@ -184,6 +185,12 @@ var ContentList = function () {
return deferred.promise;
};
this.checkListIsOrderedBySizeColumn = function (sortOrder) {
var deferred = protractor.promise.defer();
deferred.fulfill(this.checkListIsSorted(sortOrder, sizeColumn));
return deferred.promise;
};
/**
* Check the list is sorted by created column.
*