[ADF-3681] Fixing skipped tests (#3913)

* [ADF-3681] Fixing skipped tests

* Requested changes
This commit is contained in:
Marouan Bentaleb
2018-10-25 23:15:50 +01:00
committed by Eugenio Romano
parent 021fc4218c
commit 79b1697fa4
7 changed files with 107 additions and 169 deletions

View File

@@ -15,7 +15,6 @@
* limitations under the License.
*/
/* tslint:disable */
import { browser } from 'protractor';
import fs = require('fs');

View File

@@ -55,7 +55,7 @@ describe('Document List - Pagination', function () {
let acsUser = new AcsUserModel();
let newFolderModel = new FolderModel({ 'name': 'newFolder' });
let fileNames = [], nrOfFiles = 20, currentPage = 1, secondSetOfFiles, secondSetNumber = 20;
let fileNames = [], nrOfFiles = 20, currentPage = 1, secondSetOfFiles = [], secondSetNumber = 25;
let folderTwoModel = new FolderModel({ 'name': 'folderTwo' });
let folderThreeModel = new FolderModel({ 'name': 'folderThree' });
@@ -81,7 +81,7 @@ describe('Document List - Pagination', function () {
await uploadActions.createEmptyFiles(this.alfrescoJsApi, fileNames, newFolderUploadedModel.entry.id);
await uploadActions.createEmptyFiles(this.alfrescoJsApi, fileNames, folderThreeUploadedModel.entry.id);
await uploadActions.createEmptyFiles(this.alfrescoJsApi, secondSetOfFiles, folderThreeUploadedModel.entry.id);
loginPage.loginToContentServicesUsingUserModel(acsUser);
@@ -256,7 +256,7 @@ describe('Document List - Pagination', function () {
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
});
xit('[C91320] Pagination should preserve sorting', function () {
it('[C91320] Pagination should preserve sorting', function () {
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.checkAcsContainer();
@@ -265,34 +265,34 @@ describe('Document List - Pagination', function () {
paginationPage.selectItemsPerPage(itemsPerPage.twenty);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
contentServicesPage.getAllRowsNameColumn().then(function (list) {
expect(JSON.stringify(list) === JSON.stringify(fileNames)).toEqual(true);
contentServicesPage.getElementsDisplayed().then(function (list) {
contentServicesPage.checkElementsSortedByNameAsc(list);
});
contentServicesPage.sortByName(false);
contentServicesPage.getAllRowsNameColumn().then(function (list) {
fileNames.reverse();
expect(JSON.stringify(list) === JSON.stringify(fileNames)).toEqual(true);
contentServicesPage.getElementsDisplayed().then(function (list) {
contentServicesPage.checkElementsSortedByNameDesc(list);
});
paginationPage.selectItemsPerPage(itemsPerPage.five);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
contentServicesPage.getAllRowsNameColumn().then(function (list) {
expect(JSON.stringify(list) === JSON.stringify(fileNames.slice(15, 20))).toEqual(true);
contentServicesPage.getElementsDisplayed().then(function (list) {
contentServicesPage.checkElementsSortedByNameDesc(list);
});
paginationPage.clickOnNextPage();
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
contentServicesPage.getAllRowsNameColumn().then(function (list) {
expect(JSON.stringify(list) === JSON.stringify(fileNames.slice(10, 15))).toEqual(true);
contentServicesPage.getElementsDisplayed().then(function (list) {
contentServicesPage.checkElementsSortedByNameDesc(list);
});
paginationPage.selectItemsPerPage(itemsPerPage.ten);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
contentServicesPage.getAllRowsNameColumn().then(function (list) {
expect(JSON.stringify(list) === JSON.stringify(fileNames.slice(10, 20))).toEqual(true);
contentServicesPage.getElementsDisplayed().then(function (list) {
contentServicesPage.checkElementsSortedByNameDesc(list);
});
});
@@ -312,7 +312,7 @@ describe('Document List - Pagination', function () {
contentServicesPage.checkPaginationIsNotDisplayed();
});
xit('[C260071] Items per page when having 25 files', function () {
it('[C260071] Should be able to change pagination when having 25 files', function () {
currentPage = 1;
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(folderThreeModel.name);

View File

@@ -110,6 +110,10 @@ describe('Upload component', () => {
done();
});
beforeEach(() => {
contentServicesPage.goToDocumentList();
});
afterEach(async (done) => {
let nodesPromise = await contentServicesPage.getContentList().getAllNodeIdInList();
@@ -202,7 +206,17 @@ describe('Upload component', () => {
contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
});
xit('[C272792] Should be possible to cancel upload of a big file using dialog icon', () => {
it('[C272792] Should be possible to cancel upload of a big file using row cancel icon', () => {
browser.executeScript(' setTimeout(() => {document.querySelector(\'mat-icon[class*="adf-file-uploading-row__action"]\').click();}, 3000)');
contentServicesPage.uploadFile(largeFile.location);
expect(uploadDialog.getTitleText()).toEqual('Upload canceled');
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.checkContentIsNotDisplayed(largeFile.name);
});
it('[C287790] Should be possible to cancel upload of a big file through the cancel uploads button', () => {
browser.executeScript(' setTimeout(() => {document.querySelector("#adf-upload-dialog-cancel-all").click();' +
'document.querySelector("#adf-upload-dialog-cancel").click(); }, 3000)');
@@ -213,24 +227,12 @@ describe('Upload component', () => {
contentServicesPage.checkContentIsNotDisplayed(largeFile.name);
});
xit('[C260169] Should be possible to cancel upload of a big file through the cancel uploads button', () => {
contentServicesPage.uploadFile(largeFile.location);
expect(uploadDialog.getTitleText()).toEqual('Uploading 0 / 1');
expect(uploadDialog.getConfirmationDialogTitleText()).toEqual('Cancel Upload');
expect(uploadDialog.getConfirmationDialogDescriptionText()).toEqual('Stop uploading and remove files already uploaded.');
uploadDialog.clickOnConfirmationDialogYesButton().fileIsCancelled(largeFile.name);
expect(uploadDialog.getTitleText()).toEqual('Upload canceled');
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.checkContentIsNotDisplayed(largeFile.name);
});
it('[C272793] Should be able to cancel multiple files upload', () => {
browser.executeScript(' setTimeout(() => {document.querySelector("#adf-upload-dialog-cancel-all").click();' +
'document.querySelector("#adf-upload-dialog-cancel").click(); }, 3000)');
xit('[C272793] Should be able to cancel multiple files upload', () => {
uploadToggles.enableMultipleFileUpload();
contentServicesPage.uploadMultipleFile([pngFileModel.location, largeFile.location]);
uploadDialog.cancelUploads();
expect(uploadDialog.getConfirmationDialogTitleText()).toEqual('Cancel Upload');
expect(uploadDialog.getConfirmationDialogDescriptionText()).toEqual('Stop uploading and remove files already uploaded.');
uploadDialog.clickOnConfirmationDialogYesButton().fileIsCancelled(pngFileModel.name).fileIsCancelled(largeFile.name);
expect(uploadDialog.getTitleText()).toEqual('Upload canceled');
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.checkContentIsNotDisplayed(pngFileModel.name).checkContentIsNotDisplayed(largeFile.name);

View File

@@ -1,70 +0,0 @@
/*!
* @license
* Copyright 2016 Alfresco Software, Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { LoginPage } from '../pages/adf/loginPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import TestConfig = require('../test.config');
import AcsUserModel = require('../models/ACS/acsUserModel');
import CONSTANTS = require('../util/constants');
import AlfrescoApi = require('alfresco-js-api-node');
describe('Theming component', () => {
let navigationBarPage = new NavigationBarPage();
let loginPage = new LoginPage();
let acsUser = new AcsUserModel();
beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.adf.url
});
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser);
loginPage.goToLoginPage();
loginPage.waitForElements();
done();
});
xit('Should display "Show password" icon in high contrast when a dark theme is selected', () => {
expect(loginPage.getShowPasswordIconColor()).toEqual(CONSTANTS.THEMING.DEFAULT_PASSWORD_ICON_COLOR);
expect(loginPage.getSignInButtonColor()).toEqual(CONSTANTS.THEMING.DEFAULT_LOGIN_BUTTON_COLOR);
expect(loginPage.getBackgroundColor()).toEqual(CONSTANTS.THEMING.DEFAULT_BACKGROUND_COLOR);
loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBarPage.clickThemeButton();
navigationBarPage.clickOnSpecificThemeButton(CONSTANTS.THEMING.PINK_BLUE_DARK);
navigationBarPage.clickLoginButton();
loginPage.waitForElements();
loginPage.enterUsername(acsUser.email);
loginPage.enterPassword(acsUser.password);
expect(loginPage.getShowPasswordIconColor()).toEqual(CONSTANTS.THEMING.PINK_BLUE_DARK_PASSWORD_ICON_COLOR);
expect(loginPage.getSignInButtonColor()).toEqual(CONSTANTS.THEMING.PINK_BLUE_DARK_LOGIN_BUTTON_COLOR);
expect(loginPage.getBackgroundColor()).toEqual(CONSTANTS.THEMING.PINK_BLUE_DARK_BACKGROUND_COLOR);
});
});

View File

@@ -20,11 +20,10 @@ import ContentList = require('./dialog/contentList');
import CreateFolderDialog = require('./dialog/createFolderDialog');
import TestConfig = require('../../test.config');
import { NavigationBarPage } from './navigationBarPage';
import { by, element, protractor, $$, browser } from 'protractor';
import path = require('path');
import { element, by, protractor, browser } from 'protractor';
export class ContentServicesPage {
contentList = new ContentList();
@@ -35,7 +34,6 @@ export class ContentServicesPage {
currentFolder = element(by.css('div[class*="adf-breadcrumb-item active"] div'));
createFolderButton = element(by.cssContainingText('mat-icon', 'create_new_folder'));
activeBreadcrumb = element(by.css('div[class*="active"]'));
folderID = element.all(by.css('div[class*="settings"] p')).first();
tooltip = by.css('div[class*="--text full-width"] span');
uploadFileButton = element(by.css('input[data-automation-id="upload-single-file"]'));
uploadMultipleFileButton = element(by.css('input[data-automation-id="upload-multiple-files"]'));
@@ -62,6 +60,45 @@ export class ContentServicesPage {
searchInputElement = element(by.css('input[data-automation-id="content-node-selector-search-input"'));
shareNodeButton = element(by.cssContainingText('mat-icon', ' share '));
getElementsDisplayed() {
let deferred = protractor.promise.defer();
let fileNameLocator = by.css("div[id*='document-list-container'] div[class*='adf-datatable-row'] div[title='Display name'] span[class='adf-datatable-cell-value']");
Util.waitUntilElementIsVisible(element.all(fileNameLocator).first());
let initialList = [];
element.all(fileNameLocator).each(function (item) {
item.getText().then(function (text) {
if (text !== '') {
initialList.push(text);
}
});
}).then(function () {
deferred.fulfill(initialList);
});
return deferred.promise;
}
checkElementsSortedByNameAsc(elements) {
browser.controlFlow().execute(async () => {
let numberOfElements = await this.numberOfResultsDisplayed();
for (let i = 0; i < (numberOfElements - 1) ; i++ ) {
expect(JSON.stringify(elements[i]) <= JSON.stringify(elements[i + 1])).toEqual(true);
}
});
return this;
}
checkElementsSortedByNameDesc(elements) {
browser.controlFlow().execute(async () => {
let numberOfElements = await this.numberOfResultsDisplayed();
for (let i = 0; i < (numberOfElements - 1) ; i++ ) {
expect(JSON.stringify(elements[i]) >= JSON.stringify(elements[i + 1])).toEqual(true);
}
});
return this;
}
getContentList() {
return this.contentList;
}
@@ -213,11 +250,6 @@ export class ContentServicesPage {
return this;
}
doubleClickEntireRow(folder) {
this.contentList.doubleClickEntireRow(folder);
return this;
}
clickOnCreateNewFolder() {
Util.waitUntilElementIsVisible(this.createFolderButton);
this.createFolderButton.click();
@@ -248,41 +280,11 @@ export class ContentServicesPage {
return this;
}
checkContentsAreNotDisplayed(content) {
for (let i = 0; i < content.length; i++) {
this.checkContentIsNotDisplayed(content[i]);
}
return this;
}
checkEmptyFolderMessageIsDisplayed() {
this.contentList.checkEmptyFolderMessageIsDisplayed();
return this;
}
navigateToFolderViaBreadcrumbs(folder) {
this.contentList.tableIsLoaded();
let breadcrumb = element(by.css('a[data-automation-id="breadcrumb_' + folder + '"]'));
Util.waitUntilElementIsVisible(breadcrumb);
breadcrumb.click();
return this;
}
getActiveBreadcrumb() {
Util.waitUntilElementIsVisible(this.activeBreadcrumb);
return this.activeBreadcrumb.getAttribute('title');
}
getCurrentFolderID() {
Util.waitUntilElementIsVisible(this.folderID);
return this.folderID.getText();
}
checkIconColumn(file, extension) {
this.contentList.checkIconColumn(file, extension);
return this;
}
uploadFile(fileLocation) {
this.checkUploadButton();
Util.waitUntilElementIsVisible(this.uploadFileButton);
@@ -339,15 +341,6 @@ export class ContentServicesPage {
return this;
}
deleteContents(content) {
for (let i = 0; i < content.length; i++) {
this.deleteContent(content[i]);
this.checkContentIsNotDisplayed(content[i]);
browser.driver.sleep(1000);
}
return this;
}
getErrorMessage() {
Util.waitUntilElementIsVisible(this.errorSnackBar);
let deferred = protractor.promise.defer();
@@ -403,8 +396,7 @@ export class ContentServicesPage {
getDocumentListRowNumber() {
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;
return $$('adf-upload-drag-area adf-document-list .adf-datatable-row').count();
}
checkColumnNameHeader() {

View File

@@ -46,6 +46,23 @@ var ProcessDetailsPage = function () {
var completedTask = element(by.css('div[data-automation-id="completed-tasks"]'));
var taskTitle = element(by.css("h2[class='activiti-task-details__header']"));
this.checkDetailsAreDisplayed = function () {
Util.waitUntilElementIsVisible(processStatusField);
Util.waitUntilElementIsVisible(processEndDateField);
Util.waitUntilElementIsVisible(processCategoryField);
Util.waitUntilElementIsVisible(processBusinessKeyField);
Util.waitUntilElementIsVisible(processCreatedByField);
Util.waitUntilElementIsVisible(processCreatedField);
Util.waitUntilElementIsVisible(processIdField);
Util.waitUntilElementIsVisible(processDescription);
Util.waitUntilElementIsVisible(showDiagramButton);
Util.waitUntilElementIsVisible(activeTask);
Util.waitUntilElementIsVisible(cancelProcessButton);
Util.waitUntilElementIsVisible(commentInput);
Util.waitUntilElementIsVisible(auditLogButton);
return this;
};
this.checkProcessTitleIsDisplayed = function () {
Util.waitUntilElementIsVisible(processTitle);
return processTitle.getText();

View File

@@ -171,31 +171,29 @@ describe('Start Process Component', () => {
startProcessPage.checkStartProcessButtonIsEnabled();
});
xit('[C260449] Should be possible to start a process with start event', () => {
it('[C260449] Should be possible to start a process with start event', () => {
processServicesPage.goToApp(app.title);
appNavigationBarPage.clickProcessButton();
processFiltersPage.clickCreateProcessButton();
processFiltersPage.clickNewProcessDropdown();
startProcessPage.enterProcessName('Test');
startProcessPage.selectFromProcessDropdown(processModelWithSe);
startProcessPage.clickFormStartProcessButton()
.then(() => {
processDetailsPage.getId()
.then(function (result) {
return this.alfrescoJsApi.activiti.processApi.getProcessInstance(result);
})
.then(function (response) {
expect(processDetailsPage.getPROCESS_STATUS()).toEqual(CONSTANTS.PROCESS_STATUS.RUNNING);
expect(processDetailsPage.getEndDate()).toEqual(CONSTANTS.PROCESS_END_DATE);
expect(processDetailsPage.getProcessCategory()).toEqual(CONSTANTS.PROCESS_CATEGORY);
expect(processDetailsPage.getBusinessKey()).toEqual(CONSTANTS.PROCESS_BUSINESS_KEY);
expect(processDetailsPage.getCreatedBy()).toEqual(response.getStartedBy().getEntireName());
expect(processDetailsPage.getCreated()).toEqual(dateFormat(CONSTANTS.PROCESS_DATE_FORMAT));
expect(processDetailsPage.getId()).toEqual(response.getId());
expect(processDetailsPage.getPROCESS_DESCRIPTION()).toEqual(CONSTANTS.PROCESS_DESCRIPTION);
expect(processDetailsPage.checkProcessTitleIsDisplayed()).toEqual(response.getName());
});
startProcessPage.clickFormStartProcessButton();
processDetailsPage.checkDetailsAreDisplayed();
browser.controlFlow().execute(async () => {
let processId = await processDetailsPage.getId();
await this.alfrescoJsApi.activiti.processApi.getProcessInstance(processId).then(function (response) {
expect(processDetailsPage.getProcessStatus()).toEqual(CONSTANTS.PROCESS_STATUS.RUNNING);
expect(processDetailsPage.getEndDate()).toEqual(CONSTANTS.PROCESS_END_DATE);
expect(processDetailsPage.getProcessCategory()).toEqual(CONSTANTS.PROCESS_CATEGORY);
expect(processDetailsPage.getBusinessKey()).toEqual(CONSTANTS.PROCESS_BUSINESS_KEY);
expect(processDetailsPage.getCreatedBy()).toEqual(`${response.startedBy.firstName} ${response.startedBy.lastName}`);
expect(processDetailsPage.getCreated()).toEqual(dateFormat(CONSTANTS.PROCESS_DATE_FORMAT));
expect(processDetailsPage.getId()).toEqual(response.id);
expect(processDetailsPage.getProcessDescription()).toEqual(CONSTANTS.PROCESS_DESCRIPTION);
expect(processDetailsPage.checkProcessTitleIsDisplayed()).toEqual(response.name);
});
});
});
it('[C286503] Should NOT display any process definition when typing a non-existent one', () => {