[ADF-3336] - added documentlist tests (#3586)

* [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] fixed processButton get

* [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] stabilized core tests

* [ADF-3336] fixing process service integration tests

* [ADF-3336] removed comments and skipped two tests
This commit is contained in:
Vito
2018-07-25 14:43:21 +01:00
committed by Eugenio Romano
parent 0670c93d7b
commit 4b79160162
21 changed files with 933 additions and 263 deletions

View File

@@ -41,6 +41,49 @@ var ContentServicesPage = function () {
var loadMoreButton = element(by.css("button[data-automation-id='adf-infinite-pagination-button']"));
var emptyPagination = element(by.css("adf-pagination[class*='adf-pagination__empty']"));
var dragAndDrop = element(by.css("adf-upload-drag-area div"));
var nameHeader = element(by.css("div[data-automation-id='auto_id_name'] > span"));
var sizeHeader = element(by.css("div[data-automation-id='auto_id_content.sizeInBytes'] > span"));
var createdByHeader = element(by.css("div[data-automation-id='auto_id_createdByUser.displayName'] > span"));
var createdHeader = element(by.css("div[data-automation-id='auto_id_createdAt'] > span"));
var recentFiles = element(by.css(".adf-container-recent"));
var recentFilesExpanded = element(by.css(".adf-container-recent mat-expansion-panel-header.mat-expanded"));
var recentFilesClosed = element(by.css(".adf-container-recent mat-expansion-panel-header"));
var recentFileIcon = element(by.css(".adf-container-recent mat-expansion-panel-header mat-icon"));
var documentListSpinner = element(by.css("mat-progress-spinner"));
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"));
this.checkRecentFileToBeShowed = function () {
Util.waitUntilElementIsVisible(recentFiles);
};
this.expandRecentFiles = function () {
this.checkRecentFileToBeShowed();
this.checkRecentFileToBeClosed();
recentFilesClosed.click();
this.checkRecentFileToBeOpened()
};
this.closeRecentFiles = function() {
this.checkRecentFileToBeShowed();
this.checkRecentFileToBeOpened()
recentFilesExpanded.click();
this.checkRecentFileToBeClosed();
};
this.checkRecentFileToBeClosed = function () {
Util.waitUntilElementIsVisible(recentFilesClosed);
};
this.checkRecentFileToBeOpened = function () {
Util.waitUntilElementIsVisible(recentFilesExpanded);
};
this.getRecentFileIcon = async function () {
await Util.waitUntilElementIsVisible(recentFileIcon);
return recentFileIcon.getText();
};
/**
* Check Document List is displayed
@@ -60,10 +103,14 @@ var ContentServicesPage = function () {
* @method goToDocumentList
* */
this.goToDocumentList = function () {
this.clickOnContentServices();
this.checkAcsContainer();
};
this.clickOnContentServices = function () {
Util.waitUntilElementIsVisible(contentServices);
Util.waitUntilElementIsClickable(contentServices);
contentServices.click();
this.checkAcsContainer();
};
this.navigateToDocumentList = function () {
@@ -137,6 +184,10 @@ var ContentServicesPage = function () {
return deferred.promise;
};
this.checkListIsSortedByNameColumn = async function(sortOrder) {
await contentList.checkListIsOrderedByNameColumn(sortOrder);
};
/**
* Sort by author and check the list is sorted.
*
@@ -219,6 +270,11 @@ var ContentServicesPage = function () {
return this;
};
this.checkElementIsDisplayed = function (elementName) {
let dataElement = element(by.css(`div[data-automation-id="${elementName}"]`));
Util.waitUntilElementIsVisible(dataElement);
};
this.navigateToFolderViaBreadcrumbs = function (folder) {
contentList.tableIsLoaded();
var breadcrumb = element(by.css("a[data-automation-id='breadcrumb_" + folder + "']"));
@@ -304,8 +360,7 @@ var ContentServicesPage = function () {
for (i = 0; i < content.length; i++) {
this.deleteContent(content[i]);
this.checkContentIsNotDisplayed(content[i]);
}
;
};
return this;
};
@@ -329,6 +384,20 @@ var ContentServicesPage = function () {
return this;
};
this.enableCustomPermissionMessage = function () {
var customPermissionMessage = element(by.cssContainingText('.mat-slide-toggle-content', 'Enable custom permission message'));
Util.waitUntilElementIsVisible(customPermissionMessage);
customPermissionMessage.click();
return this;
};
this.enableMediumTimeFormat = function () {
var mediumTimeFormat = element(by.css('#enableMediumTimeFormat'));
Util.waitUntilElementIsVisible(mediumTimeFormat);
mediumTimeFormat.click();
return this;
};
this.clickLoadMoreButton = function () {
Util.waitUntilElementIsVisible(loadMoreButton);
Util.waitUntilElementIsClickable(loadMoreButton);
@@ -340,10 +409,70 @@ var ContentServicesPage = function () {
Util.waitUntilElementIsVisible(emptyPagination);
};
this.getDocumentListRowNumber = function() {
let documentList = element(by.css('adf-upload-drag-area adf-document-list'));
Util.waitUntilElementIsVisible(documentList);
let actualRows = $$('adf-upload-drag-area adf-document-list .adf-datatable-row').count();
return actualRows;
};
this.checkColumnNameHeader = function() {
Util.waitUntilElementIsVisible(nameHeader);
};
this.checkColumnSizeHeader = function() {
Util.waitUntilElementIsVisible(sizeHeader);
};
this.checkColumnCreatedByHeader = function() {
Util.waitUntilElementIsVisible(createdByHeader);
};
this.checkColumnCreatedHeader = function() {
Util.waitUntilElementIsVisible(createdHeader);
};
this.checkDandDIsDisplayed = function () {
Util.waitUntilElementIsVisible(dragAndDrop);
};
this.checkLockIsDislpayedForElement = function(name) {
let lockButton = element(by.css(`div.adf-data-table-cell[filename="${name}"] button`));
Util.waitUntilElementIsVisible(lockButton);
};
this.getColumnValueForRow = function (file, columnName) {
let row = contentList.getRowByRowName(file);
Util.waitUntilElementIsVisible(row);
let rowColumn = row.element(by.css('div[title="'+columnName+'"] span'));
Util.waitUntilElementIsVisible(rowColumn);
return rowColumn.getText();
};
this.getStyleValueForRowText = async function(rowName, styleName) {
let row = element(by.css(`div.adf-data-table-cell[filename="${rowName}"] span.adf-datatable-cell-value[title="${rowName}"]`));
Util.waitUntilElementIsVisible(row);
return row.getCssValue(styleName);
};
this.checkSpinnerIsShowed = function () {
Util.waitUntilElementIsPresent(documentListSpinner);
};
this.checkEmptyFolderTextToBe = function (text) {
Util.waitUntilElementIsVisible(emptyFolder);
expect(emptyFolder.getText()).toContain(text);
};
this.checkEmptyFolderImageUrlToContain = function (url) {
Util.waitUntilElementIsVisible(emptyFolderImage);
expect(emptyFolderImage.getAttribute('src')).toContain(url);
};
this.checkEmptyRecentFileIsDisplayed = function () {
Util.waitUntilElementIsVisible(emptyRecent);
};
};
module.exports = ContentServicesPage;