[ADF-4089] Refactoring ContentListPage (#4162)

* [ADF-NO-ISSUE] Refactoring ContentListPage

* Applying changes

* [ADF-4089] contentListPage refactoring

* Fixing missing dependencies

* Fixing core and search failing tests

* Fix tooltip document-list tests

* no message
This commit is contained in:
Marouan Bentaleb
2019-03-08 10:49:23 +00:00
committed by Eugenio Romano
parent 88ef01011e
commit 27c6e18a10
93 changed files with 3410 additions and 3841 deletions

View File

@@ -88,7 +88,8 @@ describe('Comment Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBar.clickContentServicesButton();
contentServicesPage.waitForTableBody();
done(); done();
}); });
@@ -195,7 +196,7 @@ describe('Comment Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBar.clickContentServicesButton();
done(); done();
}); });

View File

@@ -20,7 +20,6 @@ import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { CreateFolderDialog } from '../../pages/adf/dialog/createFolderDialog'; import { CreateFolderDialog } from '../../pages/adf/dialog/createFolderDialog';
import { NotificationPage } from '../../pages/adf/notificationPage'; import { NotificationPage } from '../../pages/adf/notificationPage';
import { MetadataViewPage } from '../../pages/adf/metadataViewPage'; import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import TestConfig = require('../../test.config'); import TestConfig = require('../../test.config');
@@ -34,7 +33,6 @@ describe('Create folder directive', function () {
let createFolderDialog = new CreateFolderDialog(); let createFolderDialog = new CreateFolderDialog();
let notificationPage = new NotificationPage(); let notificationPage = new NotificationPage();
let metadataViewPage = new MetadataViewPage(); let metadataViewPage = new MetadataViewPage();
let contentListPage = new ContentListPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
@@ -103,7 +101,7 @@ describe('Create folder directive', function () {
contentServicesPage.createNewFolder(folderName); contentServicesPage.createNewFolder(folderName);
contentServicesPage.checkContentIsDisplayed(folderName); contentServicesPage.checkContentIsDisplayed(folderName);
contentServicesPage.navigateToFolder(folderName); contentServicesPage.doubleClickRow(folderName);
contentServicesPage.createNewFolder(folderName); contentServicesPage.createNewFolder(folderName);
contentServicesPage.checkContentIsDisplayed(folderName); contentServicesPage.checkContentIsDisplayed(folderName);
@@ -122,7 +120,7 @@ describe('Create folder directive', function () {
contentServicesPage.checkContentIsDisplayed(folderName); contentServicesPage.checkContentIsDisplayed(folderName);
contentListPage.metadataContent(folderName); contentServicesPage.metadataContent(folderName);
expect(metadataViewPage.getPropertyText('properties.cm:description')).toEqual('this is the description'); expect(metadataViewPage.getPropertyText('properties.cm:description')).toEqual('this is the description');
}); });

View File

@@ -18,7 +18,6 @@
import { browser } from 'protractor'; import { browser } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import TestConfig = require('../../test.config'); import TestConfig = require('../../test.config');
import resources = require('../../util/resources'); import resources = require('../../util/resources');
@@ -31,7 +30,7 @@ describe('Document List Component - Actions', () => {
let loginPage = new LoginPage(); let loginPage = new LoginPage();
let contentServicesPage = new ContentServicesPage(); let contentServicesPage = new ContentServicesPage();
let contentListPage = new ContentListPage(); let contentListPage = contentServicesPage.getDocumentList();
let uploadedFolder, secondUploadedFolder; let uploadedFolder, secondUploadedFolder;
let uploadActions = new UploadActions(); let uploadActions = new UploadActions();
let acsUser = null; let acsUser = null;
@@ -88,8 +87,8 @@ describe('Document List Component - Actions', () => {
it('[C213257] Should be able to copy a file', () => { it('[C213257] Should be able to copy a file', () => {
browser.driver.sleep(15000); browser.driver.sleep(15000);
contentListPage.rightClickOnRowNamed(pdfUploadedNode.entry.name); contentListPage.rightClickOnRow(pdfUploadedNode.entry.name);
contentListPage.pressContextMenuActionNamed('Copy'); contentServicesPage.pressContextMenuActionNamed('Copy');
contentServicesPage.typeIntoNodeSelectorSearchField(folderName); contentServicesPage.typeIntoNodeSelectorSearchField(folderName);
contentServicesPage.clickContentNodeSelectorResult(folderName); contentServicesPage.clickContentNodeSelectorResult(folderName);
contentServicesPage.clickCopyButton(); contentServicesPage.clickCopyButton();
@@ -99,45 +98,45 @@ describe('Document List Component - Actions', () => {
}); });
it('[C280561] Should be able to delete a file via dropdown menu', () => { it('[C280561] Should be able to delete a file via dropdown menu', () => {
contentListPage.deleteContent(pdfFileModel.name); contentServicesPage.deleteContent(pdfFileModel.name);
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name); contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
pdfUploadedNode = null; pdfUploadedNode = null;
}); });
it('[C280562] Should be able to delete multiple files via dropdown menu', () => { it('[C280562] Should be able to delete multiple files via dropdown menu', () => {
contentListPage.clickRowToSelect(pdfFileModel.name); contentListPage.selectRow(pdfFileModel.name);
contentListPage.clickRowToSelect(testFileModel.name); contentListPage.selectRow(testFileModel.name);
contentListPage.deleteContent(pdfFileModel.name); contentServicesPage.deleteContent(pdfFileModel.name);
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name); contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
contentListPage.checkContentIsDisplayed(testFileModel.name); contentServicesPage.checkContentIsDisplayed(testFileModel.name);
}); });
it('[C280565] Should be able to delete a file using context menu', () => { it('[C280565] Should be able to delete a file using context menu', () => {
contentListPage.rightClickOnRowNamed(pdfFileModel.name); contentListPage.rightClickOnRow(pdfFileModel.name);
contentListPage.pressContextMenuActionNamed('Delete'); contentServicesPage.pressContextMenuActionNamed('Delete');
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name); contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
pdfUploadedNode = null; pdfUploadedNode = null;
}); });
it('[C280566] Should be able to open context menu with right click', () => { it('[C280566] Should be able to open context menu with right click', () => {
contentListPage.rightClickOnRowNamed(pdfFileModel.name); contentListPage.rightClickOnRow(pdfFileModel.name);
contentListPage.checkContextActionIsVisible('Download'); contentServicesPage.checkContextActionIsVisible('Download');
contentListPage.checkContextActionIsVisible('Copy'); contentServicesPage.checkContextActionIsVisible('Copy');
contentListPage.checkContextActionIsVisible('Move'); contentServicesPage.checkContextActionIsVisible('Move');
contentListPage.checkContextActionIsVisible('Delete'); contentServicesPage.checkContextActionIsVisible('Delete');
contentListPage.checkContextActionIsVisible('Info'); contentServicesPage.checkContextActionIsVisible('Info');
contentListPage.checkContextActionIsVisible('Manage versions'); contentServicesPage.checkContextActionIsVisible('Manage versions');
contentListPage.checkContextActionIsVisible('Permission'); contentServicesPage.checkContextActionIsVisible('Permission');
contentListPage.checkContextActionIsVisible('Lock'); contentServicesPage.checkContextActionIsVisible('Lock');
}); });
it('[C280567] Should be able to delete multiple files using context menu', () => { it('[C280567] Should be able to delete multiple files using context menu', () => {
contentListPage.clickRowToSelect(pdfFileModel.name); contentListPage.selectRow(pdfFileModel.name);
contentListPage.clickRowToSelect(testFileModel.name); contentListPage.selectRow(testFileModel.name);
contentListPage.rightClickOnRowNamed(pdfFileModel.name); contentListPage.rightClickOnRow(pdfFileModel.name);
contentListPage.pressContextMenuActionNamed('Delete'); contentServicesPage.pressContextMenuActionNamed('Delete');
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name); contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
contentListPage.checkContentIsDisplayed(testFileModel.name); contentServicesPage.checkContentIsDisplayed(testFileModel.name);
}); });
}); });
@@ -173,25 +172,25 @@ describe('Document List Component - Actions', () => {
}); });
it('[C260123] Should be able to delete a folder using context menu', () => { it('[C260123] Should be able to delete a folder using context menu', () => {
contentListPage.deleteContent(folderName); contentServicesPage.deleteContent(folderName);
contentListPage.checkContentIsNotDisplayed(folderName); contentServicesPage.checkContentIsNotDisplayed(folderName);
uploadedFolder = null; uploadedFolder = null;
}); });
it('[C280568] Should be able to open context menu with right click', () => { it('[C280568] Should be able to open context menu with right click', () => {
contentListPage.rightClickOnRowNamed(folderName); contentListPage.rightClickOnRow(folderName);
contentListPage.checkContextActionIsVisible('Download'); contentServicesPage.checkContextActionIsVisible('Download');
contentListPage.checkContextActionIsVisible('Copy'); contentServicesPage.checkContextActionIsVisible('Copy');
contentListPage.checkContextActionIsVisible('Move'); contentServicesPage.checkContextActionIsVisible('Move');
contentListPage.checkContextActionIsVisible('Delete'); contentServicesPage.checkContextActionIsVisible('Delete');
contentListPage.checkContextActionIsVisible('Info'); contentServicesPage.checkContextActionIsVisible('Info');
contentListPage.checkContextActionIsVisible('Permission'); contentServicesPage.checkContextActionIsVisible('Permission');
}); });
it('[C260138] Should be able to copy a folder', () => { it('[C260138] Should be able to copy a folder', () => {
browser.driver.sleep(15000); browser.driver.sleep(15000);
contentListPage.copyContent(folderName); contentServicesPage.copyContent(folderName);
contentServicesPage.typeIntoNodeSelectorSearchField(secondFolderName); contentServicesPage.typeIntoNodeSelectorSearchField(secondFolderName);
contentServicesPage.clickContentNodeSelectorResult(secondFolderName); contentServicesPage.clickContentNodeSelectorResult(secondFolderName);
contentServicesPage.clickCopyButton(); contentServicesPage.clickCopyButton();

View File

@@ -91,6 +91,8 @@ describe('Document List Component', () => {
afterAll(async (done) => { afterAll(async (done) => {
await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id); await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id);
navBar.openLanguageMenu();
navBar.chooseLanguage('English');
done(); done();
}); });
@@ -178,8 +180,12 @@ describe('Document List Component', () => {
done(); done();
}); });
beforeEach(async (done) => {
await loginPage.loginToContentServicesUsingUserModel(acsUser);
done();
});
it('[C279926] Should only display the user\'s files and folders', () => { it('[C279926] Should only display the user\'s files and folders', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.checkContentIsDisplayed(folderName); contentServicesPage.checkContentIsDisplayed(folderName);
contentServicesPage.checkContentIsDisplayed(pdfFileModel.name); contentServicesPage.checkContentIsDisplayed(pdfFileModel.name);
@@ -188,7 +194,6 @@ describe('Document List Component', () => {
}); });
it('[C279927] Should display default columns', () => { it('[C279927] Should display default columns', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.checkColumnNameHeader(); contentServicesPage.checkColumnNameHeader();
contentServicesPage.checkColumnSizeHeader(); contentServicesPage.checkColumnSizeHeader();
@@ -199,7 +204,6 @@ describe('Document List Component', () => {
it('[C279928] Should be able to display date with timeAgo', async (done) => { it('[C279928] Should be able to display date with timeAgo', async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
timeAgoUploadedNode = await uploadActions.uploadFile(this.alfrescoJsApi, timeAgoFileModel.location, timeAgoFileModel.name, '-my-'); timeAgoUploadedNode = await uploadActions.uploadFile(this.alfrescoJsApi, timeAgoFileModel.location, timeAgoFileModel.name, '-my-');
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
let dateValue = contentServicesPage.getColumnValueForRow(timeAgoFileModel.name, 'Created'); let dateValue = contentServicesPage.getColumnValueForRow(timeAgoFileModel.name, 'Created');
expect(dateValue).toContain('ago'); expect(dateValue).toContain('ago');
@@ -210,7 +214,6 @@ describe('Document List Component', () => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
mediumDateUploadedNode = await uploadActions.uploadFile(this.alfrescoJsApi, mediumFileModel.location, mediumFileModel.name, '-my-'); mediumDateUploadedNode = await uploadActions.uploadFile(this.alfrescoJsApi, mediumFileModel.location, mediumFileModel.name, '-my-');
let createdDate = moment(mediumDateUploadedNode.createdAt).format('ll'); let createdDate = moment(mediumDateUploadedNode.createdAt).format('ll');
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.enableMediumTimeFormat(); contentServicesPage.enableMediumTimeFormat();
let dateValue = contentServicesPage.getColumnValueForRow(mediumFileModel.name, 'Created'); let dateValue = contentServicesPage.getColumnValueForRow(mediumFileModel.name, 'Created');
@@ -240,16 +243,20 @@ describe('Document List Component', () => {
beforeAll(async (done) => { beforeAll(async (done) => {
acsUser = new AcsUserModel(); let user = new AcsUserModel();
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.peopleApi.addPerson(acsUser); await this.alfrescoJsApi.core.peopleApi.addPerson(user);
await this.alfrescoJsApi.login(acsUser.id, acsUser.password); await this.alfrescoJsApi.login(user.id, user.password);
fileANode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileA.location, fakeFileA.name, '-my-'); fileANode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileA.location, fakeFileA.name, '-my-');
fileBNode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileB.location, fakeFileB.name, '-my-'); fileBNode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileB.location, fakeFileB.name, '-my-');
fileCNode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileC.location, fakeFileC.name, '-my-'); fileCNode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileC.location, fakeFileC.name, '-my-');
loginPage.loginToContentServicesUsingUserModel(user);
contentServicesPage.goToDocumentList();
done(); done();
}); });
@@ -268,39 +275,27 @@ describe('Document List Component', () => {
}); });
it('[C260112] Should be able to sort by name (Ascending)', () => { it('[C260112] Should be able to sort by name (Ascending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); expect(contentServicesPage.sortAndCheckListIsOrderedByName('asc')).toBe(true, 'List is not sorted.');
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByName('asc');
}); });
it('[C272770] Should be able to sort by name (Descending)', () => { it('[C272770] Should be able to sort by name (Descending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); expect(contentServicesPage.sortAndCheckListIsOrderedByName('desc')).toBe(true, 'List is not sorted.');
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByName('desc');
}); });
it('[C272771] Should be able to sort by author (Ascending)', () => { it('[C272771] Should be able to sort by author (Ascending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); expect(contentServicesPage.sortAndCheckListIsOrderedByAuthor('asc')).toBe(true, 'List is not sorted.');
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByAuthor('asc');
}); });
it('[C272772] Should be able to sort by author (Descending)', () => { it('[C272772] Should be able to sort by author (Descending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); expect(contentServicesPage.sortAndCheckListIsOrderedByAuthor('desc')).toBe(true, 'List is not sorted.');
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByAuthor('desc');
}); });
it('[C272773] Should be able to sort by date (Ascending)', () => { it('[C272773] Should be able to sort by date (Ascending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); expect(contentServicesPage.sortAndCheckListIsOrderedByCreated('asc')).toBe(true, 'List is not sorted.');
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByCreated('asc');
}); });
it('[C272774] Should be able to sort by date (Descending)', () => { it('[C272774] Should be able to sort by date (Descending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); expect(contentServicesPage.sortAndCheckListIsOrderedByCreated('desc')).toBe(true, 'List is not sorted.');
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByCreated('desc');
}); });
}); });
@@ -323,7 +318,7 @@ describe('Document List Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.createNewFolder(folderName); contentServicesPage.createNewFolder(folderName);
contentServicesPage.navigateToFolder(folderName); contentServicesPage.doubleClickRow(folderName);
contentServicesPage.checkEmptyFolderTextToBe('This folder is empty'); contentServicesPage.checkEmptyFolderTextToBe('This folder is empty');
contentServicesPage.checkEmptyFolderImageUrlToContain('/assets/images/empty_doc_lib.svg'); contentServicesPage.checkEmptyFolderImageUrlToContain('/assets/images/empty_doc_lib.svg');
done(); done();
@@ -344,7 +339,7 @@ describe('Document List Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.checkContentIsDisplayed(uploadedFolder.entry.name); contentServicesPage.checkContentIsDisplayed(uploadedFolder.entry.name);
contentServicesPage.navigateToFolder(uploadedFolder.entry.name); contentServicesPage.doubleClickRow(uploadedFolder.entry.name);
contentServicesPage.uploadFile(testFile.location); contentServicesPage.uploadFile(testFile.location);
contentServicesPage.checkContentIsDisplayed(testFile.name); contentServicesPage.checkContentIsDisplayed(testFile.name);
done(); done();
@@ -645,7 +640,7 @@ describe('Document List Component', () => {
it('[C280130] Should be able to go back to List View', () => { it('[C280130] Should be able to go back to List View', () => {
contentServicesPage.clickGridViewButton(); contentServicesPage.clickGridViewButton();
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.navigateToFolder(folderName); contentServicesPage.doubleClickRow(folderName);
contentServicesPage.checkRowIsDisplayed(pdfFile.name); contentServicesPage.checkRowIsDisplayed(pdfFile.name);
}); });

View File

@@ -28,6 +28,7 @@ import { Util } from '../../util/util';
import AlfrescoApi = require('alfresco-js-api-node'); import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor';
describe('Document List - Pagination', function () { describe('Document List - Pagination', function () {
let pagination = { let pagination = {
@@ -54,10 +55,10 @@ describe('Document List - Pagination', function () {
let navigationBarPage = new NavigationBarPage(); let navigationBarPage = new NavigationBarPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
let newFolderModel = new FolderModel({ 'name': 'newFolder' }); let newFolderModel = new FolderModel({'name': 'newFolder'});
let fileNames = [], nrOfFiles = 20, currentPage = 1, secondSetOfFiles = [], secondSetNumber = 25; let fileNames = [], nrOfFiles = 20, currentPage = 1, secondSetOfFiles = [], secondSetNumber = 25;
let folderTwoModel = new FolderModel({ 'name': 'folderTwo' }); let folderTwoModel = new FolderModel({'name': 'folderTwo'});
let folderThreeModel = new FolderModel({ 'name': 'folderThree' }); let folderThreeModel = new FolderModel({'name': 'folderThree'});
beforeAll(async (done) => { beforeAll(async (done) => {
let uploadActions = new UploadActions(); let uploadActions = new UploadActions();
@@ -90,7 +91,7 @@ describe('Document List - Pagination', function () {
it('[C260062] Should use default pagination settings', function () { it('[C260062] Should use default pagination settings', function () {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name); contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty);
@@ -105,7 +106,7 @@ describe('Document List - Pagination', function () {
it('[C274713] Should be able to set Items per page to 20', function () { it('[C274713] Should be able to set Items per page to 20', function () {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name); contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
paginationPage.selectItemsPerPage(itemsPerPage.twenty); paginationPage.selectItemsPerPage(itemsPerPage.twenty);
@@ -132,7 +133,7 @@ describe('Document List - Pagination', function () {
it('[C260069] Should be able to set Items per page to 5', function () { it('[C260069] Should be able to set Items per page to 5', function () {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name); contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
paginationPage.selectItemsPerPage(itemsPerPage.five); paginationPage.selectItemsPerPage(itemsPerPage.five);
@@ -188,7 +189,7 @@ describe('Document List - Pagination', function () {
it('[C260067] Should be able to set Items per page to 10', function () { it('[C260067] Should be able to set Items per page to 10', function () {
currentPage = 1; currentPage = 1;
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name); contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
paginationPage.selectItemsPerPage(itemsPerPage.ten); paginationPage.selectItemsPerPage(itemsPerPage.ten);
@@ -225,7 +226,7 @@ describe('Document List - Pagination', function () {
it('[C260065] Should be able to set Items per page to 15', function () { it('[C260065] Should be able to set Items per page to 15', function () {
currentPage = 1; currentPage = 1;
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name); contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name);
@@ -258,15 +259,15 @@ describe('Document List - Pagination', function () {
it('[C91320] Pagination should preserve sorting', function () { it('[C91320] Pagination should preserve sorting', function () {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name); contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name);
paginationPage.selectItemsPerPage(itemsPerPage.twenty); paginationPage.selectItemsPerPage(itemsPerPage.twenty);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
contentServicesPage.getElementsDisplayedName().then(function (list) { contentServicesPage.getElementsDisplayedName().then((elements) => {
contentServicesPage.checkElementsSortedAsc(list); contentServicesPage.checkElementsSortedAsc(elements);
}); });
contentServicesPage.sortByName(false); contentServicesPage.sortByName(false);
@@ -302,20 +303,20 @@ describe('Document List - Pagination', function () {
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
contentServicesPage.navigateToFolder(newFolderModel.name); contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name); expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
contentServicesPage.createNewFolder(folderTwoModel.name).checkContentIsDisplayed(folderTwoModel.name); contentServicesPage.createNewFolder(folderTwoModel.name).checkContentIsDisplayed(folderTwoModel.name);
contentServicesPage.navigateToFolder(folderTwoModel.name); contentServicesPage.doubleClickRow(folderTwoModel.name);
contentServicesPage.checkPaginationIsNotDisplayed(); contentServicesPage.checkPaginationIsNotDisplayed();
}); });
it('[C260071] Should be able to change pagination when having 25 files', function () { it('[C260071] Should be able to change pagination when having 25 files', function () {
currentPage = 1; currentPage = 1;
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(folderThreeModel.name); contentServicesPage.doubleClickRow(folderThreeModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(folderThreeModel.name); expect(contentServicesPage.getActiveBreadcrumb()).toEqual(folderThreeModel.name);

View File

@@ -37,9 +37,8 @@ describe('Lock File', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const contentServicesPage = new ContentServicesPage();
const contentList = contentServicesPage.getUploadAreaDocumentList();
const lockFilePage = new LockFilePage(); const lockFilePage = new LockFilePage();
const contentServices = new ContentServicesPage();
let adminUser = new AcsUserModel(); let adminUser = new AcsUserModel();
let managerUser = new AcsUserModel(); let managerUser = new AcsUserModel();
@@ -105,7 +104,9 @@ describe('Lock File', () => {
loginPage.loginToContentServicesUsingUserModel(adminUser); loginPage.loginToContentServicesUsingUserModel(adminUser);
navigationBarPage.openContentServicesFolder(documentLibrary); await navigationBarPage.openContentServicesFolder(documentLibrary);
contentServices.waitForTableBody();
done(); done();
}); });
@@ -129,7 +130,7 @@ describe('Lock File', () => {
}); });
it('[C286604] Should be able to open Lock file option by clicking the lock image', () => { it('[C286604] Should be able to open Lock file option by clicking the lock image', () => {
contentList.lockContent(pngFileModel.name); contentServices.lockContent(pngFileModel.name);
lockFilePage.checkLockFileCheckboxIsDisplayed(); lockFilePage.checkLockFileCheckboxIsDisplayed();
lockFilePage.checkCancelButtonIsDisplayed(); lockFilePage.checkCancelButtonIsDisplayed();
@@ -137,38 +138,38 @@ describe('Lock File', () => {
}); });
it('[C286625] Should be able to click Cancel to cancel lock file operation', () => { it('[C286625] Should be able to click Cancel to cancel lock file operation', () => {
contentList.lockContent(pngFileModel.name); contentServices.lockContent(pngFileModel.name);
lockFilePage.checkLockFileCheckboxIsDisplayed(); lockFilePage.checkLockFileCheckboxIsDisplayed();
lockFilePage.clickCancelButton(); lockFilePage.clickCancelButton();
contentList.checkUnlockedIcon(pngFileModel.name); contentServices.checkUnlockedIcon(pngFileModel.name);
}); });
it('[C286603] Should be able to click on Lock file checkbox and lock a file', () => { it('[C286603] Should be able to click on Lock file checkbox and lock a file', () => {
contentList.lockContent(pngFileToLock.name); contentServices.lockContent(pngFileToLock.name);
lockFilePage.checkLockFileCheckboxIsDisplayed(); lockFilePage.checkLockFileCheckboxIsDisplayed();
lockFilePage.clickLockFileCheckbox(); lockFilePage.clickLockFileCheckbox();
lockFilePage.clickSaveButton(); lockFilePage.clickSaveButton();
contentList.checkLockedIcon(pngFileToLock.name); contentServices.checkLockedIcon(pngFileToLock.name);
}); });
it('[C286618] Should be able to uncheck Lock file checkbox and unlock a file', () => { it('[C286618] Should be able to uncheck Lock file checkbox and unlock a file', () => {
contentList.lockContent(pngFileModel.name); contentServices.lockContent(pngFileModel.name);
lockFilePage.checkLockFileCheckboxIsDisplayed(); lockFilePage.checkLockFileCheckboxIsDisplayed();
lockFilePage.clickLockFileCheckbox(); lockFilePage.clickLockFileCheckbox();
lockFilePage.clickSaveButton(); lockFilePage.clickSaveButton();
contentList.checkLockedIcon(pngFileModel.name); contentServices.checkLockedIcon(pngFileModel.name);
contentList.lockContent(pngFileModel.name); contentServices.lockContent(pngFileModel.name);
lockFilePage.clickLockFileCheckbox(); lockFilePage.clickLockFileCheckbox();
lockFilePage.clickSaveButton(); lockFilePage.clickSaveButton();
contentList.checkUnlockedIcon(pngFileModel.name); contentServices.checkUnlockedIcon(pngFileModel.name);
}); });
}); });
@@ -198,7 +199,7 @@ describe('Lock File', () => {
}); });
it('[C286610] Should not be able to delete a locked file', async () => { it('[C286610] Should not be able to delete a locked file', async () => {
await contentList.lockContent(pngFileModel.name); await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed(); await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox(); await lockFilePage.clickLockFileCheckbox();
@@ -214,7 +215,7 @@ describe('Lock File', () => {
}); });
it('[C286611] Should not be able to rename a locked file', async () => { it('[C286611] Should not be able to rename a locked file', async () => {
await contentList.lockContent(pngFileModel.name); await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed(); await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox(); await lockFilePage.clickLockFileCheckbox();
@@ -230,7 +231,7 @@ describe('Lock File', () => {
}); });
it('[C286612] Should not be able to move a locked file', async () => { it('[C286612] Should not be able to move a locked file', async () => {
await contentList.lockContent(pngFileModel.name); await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed(); await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox(); await lockFilePage.clickLockFileCheckbox();
@@ -245,7 +246,7 @@ describe('Lock File', () => {
}); });
it('[C286613] Should not be able to update a new version on a locked file', async () => { it('[C286613] Should not be able to update a new version on a locked file', async () => {
await contentList.lockContent(pngFileModel.name); await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed(); await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox(); await lockFilePage.clickLockFileCheckbox();
@@ -295,7 +296,7 @@ describe('Lock File', () => {
}); });
it('[C286614] Owner of the locked file should be able to rename if Allow owner to modify is checked', async () => { it('[C286614] Owner of the locked file should be able to rename if Allow owner to modify is checked', async () => {
await contentList.lockContent(pngFileModel.name); await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed(); await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox(); await lockFilePage.clickLockFileCheckbox();
@@ -308,7 +309,7 @@ describe('Lock File', () => {
}); });
it('[C286615] Owner of the locked file should be able to update a new version if Allow owner to modify is checked', async () => { it('[C286615] Owner of the locked file should be able to update a new version if Allow owner to modify is checked', async () => {
await contentList.lockContent(pngFileModel.name); await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed(); await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox(); await lockFilePage.clickLockFileCheckbox();
@@ -321,7 +322,7 @@ describe('Lock File', () => {
}); });
it('[C286616] Owner of the locked file should be able to move if Allow owner to modify is checked', async () => { it('[C286616] Owner of the locked file should be able to move if Allow owner to modify is checked', async () => {
await contentList.lockContent(pngFileModel.name); await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed(); await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox(); await lockFilePage.clickLockFileCheckbox();
@@ -337,15 +338,15 @@ describe('Lock File', () => {
}); });
it('[C286617] Owner of the locked file should be able to delete if Allow owner to modify is checked', () => { it('[C286617] Owner of the locked file should be able to delete if Allow owner to modify is checked', () => {
contentList.lockContent(pngFileToLock.name); contentServices.lockContent(pngFileToLock.name);
lockFilePage.checkLockFileCheckboxIsDisplayed(); lockFilePage.checkLockFileCheckboxIsDisplayed();
lockFilePage.clickLockFileCheckbox(); lockFilePage.clickLockFileCheckbox();
lockFilePage.clickAllowOwnerCheckbox(); lockFilePage.clickAllowOwnerCheckbox();
lockFilePage.clickSaveButton(); lockFilePage.clickSaveButton();
contentList.deleteContentWithRoot(pngFileToBeLocked.entry.name); contentServices.deleteContent(pngFileToBeLocked.entry.name);
contentList.checkContentIsNotDisplayed(pngFileToBeLocked.entry.name); contentServices.checkContentIsNotDisplayed(pngFileToBeLocked.entry.name);
}); });
}); });

View File

@@ -21,12 +21,12 @@ import { ContentServicesPage } from '../pages/adf/contentServicesPage';
import { AcsUserModel } from '../models/ACS/acsUserModel'; import { AcsUserModel } from '../models/ACS/acsUserModel';
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import resources = require('../util/resources'); import resources = require('../util/resources');
import { ContentListPage } from '../pages/adf/dialog/contentListPage';
import AlfrescoApi = require('alfresco-js-api-node'); import AlfrescoApi = require('alfresco-js-api-node');
import { FileModel } from '../models/ACS/fileModel'; import { FileModel } from '../models/ACS/fileModel';
import { UploadActions } from '../actions/ACS/upload.actions'; import { UploadActions } from '../actions/ACS/upload.actions';
import { Util } from '../util/util'; import { Util } from '../util/util';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('Permissions Component', function () { describe('Permissions Component', function () {
@@ -34,9 +34,10 @@ describe('Permissions Component', function () {
let contentServicesPage = new ContentServicesPage(); let contentServicesPage = new ContentServicesPage();
let permissionsPage = new PermissionsPage(); let permissionsPage = new PermissionsPage();
let uploadActions = new UploadActions(); let uploadActions = new UploadActions();
let contentList = new ContentListPage(); let contentList = contentServicesPage.getDocumentList();
let fileOwnerUser, filePermissionUser, file; let fileOwnerUser, filePermissionUser, file;
let publicSite, folderName; let publicSite, folderName;
const navigationBar = new NavigationBarPage();
let fileModel = new FileModel({ let fileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.TXT_0B.file_name, 'name': resources.Files.ADF_DOCUMENTS.TXT_0B.file_name,
@@ -48,7 +49,7 @@ describe('Permissions Component', function () {
displayName: Util.generateRandomString() displayName: Util.generateRandomString()
}; };
let groupId; let group;
let alfrescoJsApi = new AlfrescoApi({ let alfrescoJsApi = new AlfrescoApi({
provider: 'ECM', provider: 'ECM',
hostEcm: TestConfig.adf.url hostEcm: TestConfig.adf.url
@@ -57,71 +58,60 @@ describe('Permissions Component', function () {
fileOwnerUser = new AcsUserModel(); fileOwnerUser = new AcsUserModel();
filePermissionUser = new AcsUserModel(); filePermissionUser = new AcsUserModel();
const duplicateUserPermissionMessage = 'One or more of the permissions you have set is already present : authority -> ' + filePermissionUser.getId() + ' / role -> Contributor'; let duplicateUserPermissionMessage = 'One or more of the permissions you have set is already present : authority -> ' + filePermissionUser.getId() + ' / role -> Contributor';
beforeAll(async (done) => { beforeAll(async (done) => {
await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await alfrescoJsApi.core.peopleApi.addPerson(fileOwnerUser); await alfrescoJsApi.core.peopleApi.addPerson(fileOwnerUser);
await alfrescoJsApi.core.peopleApi.addPerson(filePermissionUser); await alfrescoJsApi.core.peopleApi.addPerson(filePermissionUser);
let group = await alfrescoJsApi.core.groupsApi.createGroup(groupBody);
groupId = group.entry.id; group = await alfrescoJsApi.core.groupsApi.createGroup(groupBody);
browser.driver.sleep(15000); // wait search get the groups browser.driver.sleep(15000); // wait search get the groups
await alfrescoJsApi.login(fileOwnerUser.id, fileOwnerUser.password); await alfrescoJsApi.login(fileOwnerUser.id, fileOwnerUser.password);
let siteName = `PUBLIC_TEST_SITE_${Util.generateRandomString(5)}`;
folderName = `MEESEEKS_${Util.generateRandomString(5)}`; let siteName = Util.generateRandomString(5);
let publicSiteBody = { visibility: 'PUBLIC', title: siteName }; let publicSiteBody = {'title': siteName, 'visibility': 'PUBLIC'};
publicSite = await alfrescoJsApi.core.sitesApi.createSite(publicSiteBody); publicSite = await alfrescoJsApi.core.sitesApi.createSite(publicSiteBody);
folderName = Util.generateRandomString(5);
await uploadActions.createFolder(alfrescoJsApi, folderName, publicSite.entry.guid); await uploadActions.createFolder(alfrescoJsApi, folderName, publicSite.entry.guid);
done(); done();
}); });
afterAll(async (done) => { afterAll(async (done) => {
await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id); await alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
await alfrescoJsApi.core.groupsApi.deleteGroup(groupId); await alfrescoJsApi.core.groupsApi.deleteGroup(group.entry.id);
done(); done();
}); });
describe('Inherit and assigning permissions', function () { describe('Inherit and assigning permissions', function () {
beforeEach(async (done) => { beforeAll(async (done) => {
await alfrescoJsApi.login(fileOwnerUser.id, fileOwnerUser.password); await alfrescoJsApi.login(fileOwnerUser.id, fileOwnerUser.password);
file = await uploadActions.uploadFile(alfrescoJsApi, fileModel.location, fileModel.name, '-my-'); file = await uploadActions.uploadFile(alfrescoJsApi, fileModel.location, fileModel.name, '-my-');
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser); loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
contentServicesPage.goToDocumentList();
contentList.checkContentIsDisplayed(fileModel.name);
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.rightClickOnRowNamed(fileModel.name);
contentList.pressContextMenuActionNamed('Permission');
done(); done();
}); });
afterEach(async (done) => { afterAll(async (done) => {
await uploadActions.deleteFilesOrFolder(alfrescoJsApi, file.entry.id); await uploadActions.deleteFilesOrFolder(alfrescoJsApi, file.entry.id);
done(); done();
}); });
it('[C286272] Should be able to see results when searching for a user', () => { beforeEach(() => {
permissionsPage.checkAddPermissionButtonIsDisplayed(); navigationBar.clickContentServicesButton();
permissionsPage.clickAddPermissionButton(); contentServicesPage.checkContentIsDisplayed(fileModel.name);
permissionsPage.checkAddPermissionDialogIsDisplayed(); contentServicesPage.checkSelectedSiteIsDisplayed('My files');
permissionsPage.checkSearchUserInputIsDisplayed(); contentList.rightClickOnRow(fileModel.name);
permissionsPage.searchUserOrGroup('a'); contentServicesPage.pressContextMenuActionNamed('Permission');
permissionsPage.checkResultListIsDisplayed();
});
it('[C276979] Should be able to give permissions to a group of people', () => {
permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed();
permissionsPage.checkSearchUserInputIsDisplayed();
permissionsPage.searchUserOrGroup('GROUP_' + groupBody.id);
permissionsPage.clickUserOrGroup('GROUP_' + groupBody.id);
permissionsPage.checkUserOrGroupIsAdded('GROUP_' + groupBody.id);
}); });
it('[C268974] Inherit Permission', () => { it('[C268974] Inherit Permission', () => {
@@ -136,6 +126,26 @@ describe('Permissions Component', function () {
expect(permissionsPage.getPermissionInheritedButtonText()).toBe('Permission Inherited'); expect(permissionsPage.getPermissionInheritedButtonText()).toBe('Permission Inherited');
permissionsPage.checkPermissionsDatatableIsDisplayed(); permissionsPage.checkPermissionsDatatableIsDisplayed();
}); });
it('[C286272] Should be able to see results when searching for a user', () => {
permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed();
permissionsPage.checkSearchUserInputIsDisplayed();
permissionsPage.searchUserOrGroup('a');
permissionsPage.checkResultListIsDisplayed();
permissionsPage.clickCloseButton();
});
it('[C276979] Should be able to give permissions to a group of people', () => {
permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed();
permissionsPage.checkSearchUserInputIsDisplayed();
permissionsPage.searchUserOrGroup('GROUP_' + groupBody.id);
permissionsPage.clickUserOrGroup('GROUP_' + groupBody.id);
permissionsPage.checkUserOrGroupIsAdded('GROUP_' + groupBody.id);
});
}); });
describe('Changing and duplicate Permissions', function () { describe('Changing and duplicate Permissions', function () {
@@ -148,10 +158,10 @@ describe('Permissions Component', function () {
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser); loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
contentList.checkContentIsDisplayed(fileModel.name); contentServicesPage.checkContentIsDisplayed(fileModel.name);
contentServicesPage.checkSelectedSiteIsDisplayed('My files'); contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.clickRowMenuActionsButton(fileModel.name); contentList.rightClickOnRow(fileModel.name);
contentList.clickMenuActionNamed('PERMISSION'); contentServicesPage.pressContextMenuActionNamed('Permission');
permissionsPage.checkAddPermissionButtonIsDisplayed(); permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton(); permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed(); permissionsPage.checkAddPermissionDialogIsDisplayed();
@@ -217,10 +227,10 @@ describe('Permissions Component', function () {
beforeEach(async (done) => { beforeEach(async (done) => {
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser); loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
browser.get(TestConfig.adf.url + '/files/' + publicSite.entry.guid); browser.get(TestConfig.adf.url + '/files/' + publicSite.entry.guid);
contentList.checkContentIsDisplayed(folderName); contentServicesPage.checkContentIsDisplayed(folderName);
contentServicesPage.checkSelectedSiteIsDisplayed('My files'); contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.clickRowMenuActionsButton(folderName); contentList.rightClickOnRow(folderName);
contentList.clickMenuActionNamed('PERMISSION'); contentServicesPage.pressContextMenuActionNamed('Permission');
permissionsPage.checkPermissionInheritedButtonIsDisplayed(); permissionsPage.checkPermissionInheritedButtonIsDisplayed();
permissionsPage.checkAddPermissionButtonIsDisplayed(); permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton(); permissionsPage.clickAddPermissionButton();

View File

@@ -35,7 +35,7 @@ describe('Share file', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const contentListPage = contentServicesPage.getUploadAreaDocumentList(); const contentListPage = contentServicesPage.getDocumentList();
const shareDialog = new ShareDialog(); const shareDialog = new ShareDialog();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
@@ -66,6 +66,10 @@ describe('Share file', () => {
nodeId = pngUploadedFile.entry.id; nodeId = pngUploadedFile.entry.id;
loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBarPage.clickContentServicesButton();
done(); done();
}); });
@@ -81,16 +85,21 @@ describe('Share file', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); done();
});
afterEach(async (done) => {
await browser.refresh();
contentServicesPage.waitForTableBody();
done(); done();
}); });
it('[C286549] Should check automatically toggle button in Share dialog', () => { it('[C286549] Should check automatically toggle button in Share dialog', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.shareToggleButtonIsChecked(); shareDialog.shareToggleButtonIsChecked();
@@ -99,6 +108,7 @@ describe('Share file', () => {
}); });
it('[C286544] Should display notification when clicking URL copy button', () => { it('[C286544] Should display notification when clicking URL copy button', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickShareLinkButton(); shareDialog.clickShareLinkButton();
@@ -111,6 +121,7 @@ describe('Share file', () => {
}); });
it('[C286543] Should be possible to close Share dialog', () => { it('[C286543] Should be possible to close Share dialog', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.checkShareLinkIsDisplayed(); shareDialog.checkShareLinkIsDisplayed();
@@ -118,7 +129,16 @@ describe('Share file', () => {
shareDialog.dialogIsClosed(); shareDialog.dialogIsClosed();
}); });
it('[C286578] Should disable today option in expiration day calendar', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickDateTimePickerButton();
shareDialog.calendarTodayDayIsDisabled();
});
it('[C286548] Should be possible to set expiry date for link', async () => { it('[C286548] Should be possible to set expiry date for link', async () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickDateTimePickerButton(); shareDialog.clickDateTimePickerButton();
@@ -137,6 +157,7 @@ describe('Share file', () => {
}); });
it('[C286578] Should disable today option in expiration day calendar', () => { it('[C286578] Should disable today option in expiration day calendar', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickDateTimePickerButton(); shareDialog.clickDateTimePickerButton();
@@ -147,7 +168,7 @@ describe('Share file', () => {
describe('Shared link preview', () => { describe('Shared link preview', () => {
afterEach( (done) => { afterEach( (done) => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
done(); done();
}); });
@@ -155,7 +176,7 @@ describe('Share file', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();
@@ -163,7 +184,7 @@ describe('Share file', () => {
}); });
it('[C286565] Should open file when logged user access shared link', async () => { it('[C286565] Should open file when logged user access shared link', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickShareLinkButton(); shareDialog.clickShareLinkButton();
@@ -174,7 +195,7 @@ describe('Share file', () => {
}); });
it('[C287803] Should the URL be kept the same when opening the share dialog multiple times', async () => { it('[C287803] Should the URL be kept the same when opening the share dialog multiple times', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickShareLinkButton(); shareDialog.clickShareLinkButton();
@@ -192,7 +213,7 @@ describe('Share file', () => {
}); });
it('[C286539] Should open file when non-logged user access shared link', async () => { it('[C286539] Should open file when non-logged user access shared link', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.checkShareLinkIsDisplayed(); shareDialog.checkShareLinkIsDisplayed();

View File

@@ -20,7 +20,6 @@ import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { ErrorPage } from '../../pages/adf/errorPage'; import { ErrorPage } from '../../pages/adf/errorPage';
import { ShareDialog } from '../../pages/adf/dialog/shareDialog'; import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -35,8 +34,8 @@ describe('Unshare file', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const contentListPage = contentServicesPage.getUploadAreaDocumentList(); const contentListPage = contentServicesPage.getDocumentList();
let navBar = new NavigationBarPage(); const navBar = new NavigationBarPage();
const errorPage = new ErrorPage(); const errorPage = new ErrorPage();
const shareDialog = new ShareDialog(); const shareDialog = new ShareDialog();
const siteName = `PRIVATE-TEST-SITE-${Util.generateRandomString(5)}`; const siteName = `PRIVATE-TEST-SITE-${Util.generateRandomString(5)}`;
@@ -102,7 +101,8 @@ describe('Unshare file', () => {
nodeId = pngUploadedFile.entry.id; nodeId = pngUploadedFile.entry.id;
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navBar.clickContentServicesButton();
contentServicesPage.waitForTableBody();
done(); done();
}); });
@@ -118,7 +118,7 @@ describe('Unshare file', () => {
}); });
it('[C286550] Should display unshare confirmation dialog', () => { it('[C286550] Should display unshare confirmation dialog', () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickUnShareFile(); shareDialog.clickUnShareFile();
@@ -126,7 +126,7 @@ describe('Unshare file', () => {
}); });
it('[C286551] Should be able to cancel unshare action', () => { it('[C286551] Should be able to cancel unshare action', () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickUnShareFile(); shareDialog.clickUnShareFile();
@@ -136,7 +136,7 @@ describe('Unshare file', () => {
}); });
it('[C286552] Should be able to confirm unshare action', async () => { it('[C286552] Should be able to confirm unshare action', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickUnShareFile(); shareDialog.clickUnShareFile();
@@ -146,7 +146,7 @@ describe('Unshare file', () => {
}); });
it('[C280556] Should redirect to 404 when trying to access an unshared file', async () => { it('[C280556] Should redirect to 404 when trying to access an unshared file', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name); contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
let sharedLink = await shareDialog.getShareLink(); let sharedLink = await shareDialog.getShareLink();
@@ -168,8 +168,8 @@ describe('Unshare file', () => {
it('[C286555] Should NOT be able to unshare file without permission', () => { it('[C286555] Should NOT be able to unshare file without permission', () => {
navBar.goToSite(testSite); navBar.goToSite(testSite);
contentListPage.navigateToFolder('documentLibrary'); contentListPage.doubleClickRow('documentLibrary');
contentListPage.clickRowToSelect(nodeBody.name); contentListPage.selectRow(nodeBody.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.shareToggleButtonIsChecked(); shareDialog.shareToggleButtonIsChecked();

View File

@@ -81,14 +81,12 @@ describe('Upload component', () => {
}); });
afterEach(async (done) => { afterEach(async (done) => {
let nodesPromise = await contentServicesPage.getContentList().getAllNodeIdInList(); let nodesPromise = await contentServicesPage.getElementsDisplayedId();
nodesPromise.forEach(async (currentNodePromise) => { nodesPromise.forEach(async (currentNode) => {
await currentNodePromise.then(async (currentNode) => { if (currentNode && currentNode !== 'Node id') {
if (currentNode && currentNode !== 'Node id') { await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, currentNode);
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, currentNode); }
}
});
}); });
done(); done();

View File

@@ -107,92 +107,221 @@ describe('Upload component', () => {
contentServicesPage.goToDocumentList(); contentServicesPage.goToDocumentList();
}); });
afterEach(async (done) => { describe('', () => {
let nodesPromise = await contentServicesPage.getContentList().getAllNodeIdInList();
nodesPromise.forEach(async (currentNodePromise) => { beforeEach(() => {
await currentNodePromise.then(async (currentNode) => { contentServicesPage.goToDocumentList();
if (currentNode && currentNode !== 'Node id') { });
afterEach(async (done) => {
contentServicesPage.getElementsDisplayedId().then((nodeList) => {
nodeList.forEach(async (currentNode) => {
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, currentNode); await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, currentNode);
} });
}); });
done();
}); });
done(); it('[C272788] Should display upload button', () => {
}); expect(contentServicesPage.getSingleFileButtonTooltip()).toEqual('Custom tooltip');
it('[C272788] Should display upload button', () => { contentServicesPage
expect(contentServicesPage.getSingleFileButtonTooltip()).toEqual('Custom tooltip'); .checkUploadButton()
.checkContentIsDisplayed(firstPdfFileModel.name);
contentServicesPage
.checkUploadButton()
.checkContentIsDisplayed(firstPdfFileModel.name);
});
it('[C260173] Should be able to upload folder when enabled', () => {
uploadToggles.enableFolderUpload();
contentServicesPage.uploadFolder(folderOne.location);
uploadDialog.checkUploadCompleted().then(() => {
contentServicesPage.checkContentIsDisplayed(folderOne.name);
}); });
expect(contentServicesPage.getFolderButtonTooltip()).toEqual('Custom tooltip');
uploadDialog.fileIsUploaded(uploadedFileInFolder.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.doubleClickRow(folderOne.name).checkContentIsDisplayed(uploadedFileInFolder.name);
contentServicesPage.goToDocumentList();
uploadToggles.disableFolderUpload();
});
it('[C272789] Should be able to upload PDF file', () => { it('[C260173] Should be able to upload folder when enabled', () => {
contentServicesPage uploadToggles.enableFolderUpload();
.uploadFile(pdfFileModel.location) contentServicesPage.uploadFolder(folderOne.location);
.checkContentIsDisplayed(pdfFileModel.name); uploadDialog.checkUploadCompleted().then(() => {
contentServicesPage.checkContentIsDisplayed(folderOne.name);
});
expect(contentServicesPage.getFolderButtonTooltip()).toEqual('Custom tooltip');
uploadDialog.fileIsUploaded(uploadedFileInFolder.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.doubleClickRow(folderOne.name).checkContentIsDisplayed(uploadedFileInFolder.name);
contentServicesPage.goToDocumentList();
uploadToggles.disableFolderUpload();
});
uploadDialog.fileIsUploaded(pdfFileModel.name); it('[C272789] Should be able to upload PDF file', () => {
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed(); uploadDialog.fileIsUploaded(pdfFileModel.name);
});
it('[C272790] Should be able to upload text file', () => { uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage });
.uploadFile(docxFileModel.location)
.checkContentIsDisplayed(docxFileModel.name);
uploadDialog.fileIsUploaded(docxFileModel.name); it('[C272790] Should be able to upload text file', () => {
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed(); contentServicesPage
}); .uploadFile(docxFileModel.location)
.checkContentIsDisplayed(docxFileModel.name);
it('[C260141] Should be possible to upload PNG file', () => { uploadDialog.fileIsUploaded(docxFileModel.name);
contentServicesPage uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
.uploadFile(pngFileModel.location) });
.checkContentIsDisplayed(pngFileModel.name);
uploadDialog.fileIsUploaded(pngFileModel.name); it('[C260141] Should be possible to upload PNG file', () => {
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed(); contentServicesPage
}); .uploadFile(pngFileModel.location)
.checkContentIsDisplayed(pngFileModel.name);
it('[C260143] Should be possible to maximize/minimize the upload dialog', () => { uploadDialog.fileIsUploaded(pngFileModel.name);
contentServicesPage uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
.uploadFile(docxFileModel.location) });
.checkContentIsDisplayed(docxFileModel.name);
uploadDialog.fileIsUploaded(docxFileModel.name).checkCloseButtonIsDisplayed(); it('[C260143] Should be possible to maximize/minimize the upload dialog', () => {
expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1'); contentServicesPage
expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1'); .uploadFile(docxFileModel.location)
uploadDialog.minimizeUploadDialog().dialogIsMinimized(); .checkContentIsDisplayed(docxFileModel.name);
expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1');
expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1');
uploadDialog.maximizeUploadDialog().dialogIsDisplayed().fileIsUploaded(docxFileModel.name);
expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1');
expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1');
uploadDialog.checkCloseButtonIsDisplayed().clickOnCloseButton().dialogIsNotDisplayed();
});
it('[C272794] Should display tooltip for uploading files', () => { uploadDialog.fileIsUploaded(docxFileModel.name).checkCloseButtonIsDisplayed();
uploadToggles.enableMultipleFileUpload(); expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1');
browser.driver.sleep(1000); expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1');
expect(contentServicesPage.getMultipleFileButtonTooltip()).toEqual('Custom tooltip'); uploadDialog.minimizeUploadDialog().dialogIsMinimized();
uploadToggles.disableMultipleFileUpload(); expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1');
expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1');
uploadDialog.maximizeUploadDialog().dialogIsDisplayed().fileIsUploaded(docxFileModel.name);
expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1');
expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1');
uploadDialog.checkCloseButtonIsDisplayed().clickOnCloseButton().dialogIsNotDisplayed();
});
it('[C272794] Should display tooltip for uploading files', () => {
uploadToggles.enableMultipleFileUpload();
browser.driver.sleep(1000);
expect(contentServicesPage.getMultipleFileButtonTooltip()).toEqual('Custom tooltip');
uploadToggles.disableMultipleFileUpload();
});
it('[C279920] Should rename a file uploaded twice', () => {
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.name);
pdfFileModel.setVersion('1');
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.getVersionName());
uploadDialog
.clickOnCloseButton()
.dialogIsNotDisplayed();
pdfFileModel.setVersion('');
});
it('[C260172] Should be possible to enable versioning', () => {
uploadToggles.enableVersioning();
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.name);
pdfFileModel.setVersion('1');
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.name);
uploadDialog
.fileIsUploaded(pdfFileModel.name);
uploadDialog
.clickOnCloseButton()
.dialogIsNotDisplayed();
contentServicesPage
.checkContentIsNotDisplayed(pdfFileModel.getVersionName());
pdfFileModel.setVersion('');
uploadToggles.disableVersioning();
});
it('[C260174] Should be possible to set a max size', () => {
contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer();
uploadToggles.enableMaxSize();
uploadToggles.addMaxSize('400');
contentServicesPage.uploadFile(fileWithSpecificSize.location);
uploadDialog.fileIsUploaded(fileWithSpecificSize.name).clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.deleteContent(fileWithSpecificSize.name);
contentServicesPage.checkContentIsNotDisplayed(fileWithSpecificSize.name);
uploadToggles.addMaxSize('399');
contentServicesPage.uploadFile(fileWithSpecificSize.location);
// expect(contentServicesPage.getErrorMessage()).toEqual('File ' + fileWithSpecificSize.name + ' is larger than the allowed file size');
contentServicesPage.checkContentIsNotDisplayed(fileWithSpecificSize.name);
uploadDialog.fileIsNotDisplayedInDialog(fileWithSpecificSize.name);
contentServicesPage.uploadFile(emptyFile.location).checkContentIsDisplayed(emptyFile.name);
uploadDialog.fileIsUploaded(emptyFile.name).clickOnCloseButton().dialogIsNotDisplayed();
uploadToggles.disableMaxSize();
});
it('[C272796] Should be possible to set max size to 0', () => {
contentServicesPage.goToDocumentList();
uploadToggles.enableMaxSize();
uploadToggles.addMaxSize('0');
contentServicesPage.uploadFile(fileWithSpecificSize.location);
// expect(contentServicesPage.getErrorMessage()).toEqual('File ' + fileWithSpecificSize.name + ' is larger than the allowed file size');
uploadDialog.fileIsNotDisplayedInDialog(fileWithSpecificSize.name);
contentServicesPage.uploadFile(emptyFile.location).checkContentIsDisplayed(emptyFile.name);
uploadDialog.fileIsUploaded(emptyFile.name).clickOnCloseButton().dialogIsNotDisplayed();
uploadToggles.disableMaxSize();
});
it('[C272797] Should be possible to set max size to 1', () => {
uploadToggles.enableMaxSize();
browser.driver.sleep(1000);
uploadToggles.addMaxSize('1');
uploadToggles.disableMaxSize();
contentServicesPage.uploadFile(fileWithSpecificSize.location);
uploadDialog.fileIsUploaded(fileWithSpecificSize.name).clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.checkContentIsDisplayed(fileWithSpecificSize.name);
});
it('[C91318] Should Enable/Disable upload button when change the disable property', () => {
uploadToggles.clickCheckboxDisableUpload();
expect(contentServicesPage.uploadButtonIsEnabled()).toBeFalsy();
uploadToggles.clickCheckboxDisableUpload();
expect(contentServicesPage.uploadButtonIsEnabled()).toBeTruthy();
});
it('[C279882] Should be possible Upload a folder in a folder', () => {
uploadToggles.enableFolderUpload();
browser.driver.sleep(1000);
contentServicesPage.uploadFolder(folderOne.location);
uploadDialog.checkUploadCompleted().then(() => {
contentServicesPage.checkContentIsDisplayed(folderOne.name);
});
uploadDialog.fileIsUploaded(uploadedFileInFolder.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.doubleClickRow(folderOne.name).checkContentIsDisplayed(uploadedFileInFolder.name);
uploadToggles.enableFolderUpload();
browser.driver.sleep(1000);
contentServicesPage.uploadFolder(folderTwo.location);
uploadDialog.checkUploadCompleted().then(() => {
contentServicesPage.checkContentIsDisplayed(folderTwo.name);
});
uploadDialog.fileIsUploaded(uploadedFileInFolderTwo.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.doubleClickRow(folderTwo.name).checkContentIsDisplayed(uploadedFileInFolderTwo.name);
uploadToggles.disableFolderUpload();
});
}); });
it('[C260171] Should upload only the extension filter allowed when Enable extension filter is enabled', () => { it('[C260171] Should upload only the extension filter allowed when Enable extension filter is enabled', () => {
@@ -227,130 +356,6 @@ describe('Upload component', () => {
uploadToggles.disableExtensionFilter(); uploadToggles.disableExtensionFilter();
}); });
it('[C279920] Should rename a file uploaded twice', () => {
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.name);
pdfFileModel.setVersion('1');
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.getVersionName());
uploadDialog
.clickOnCloseButton()
.dialogIsNotDisplayed();
pdfFileModel.setVersion('');
});
it('[C260172] Should be possible to enable versioning', () => {
uploadToggles.enableVersioning();
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.name);
pdfFileModel.setVersion('1');
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.name);
uploadDialog
.fileIsUploaded(pdfFileModel.name);
uploadDialog
.clickOnCloseButton()
.dialogIsNotDisplayed();
contentServicesPage
.checkContentIsNotDisplayed(pdfFileModel.getVersionName());
pdfFileModel.setVersion('');
uploadToggles.disableVersioning();
});
it('[C260174] Should be possible to set a max size', () => {
contentServicesPage.goToDocumentList();
contentServicesPage.checkAcsContainer();
uploadToggles.enableMaxSize();
uploadToggles.addMaxSize('400');
contentServicesPage.uploadFile(fileWithSpecificSize.location);
uploadDialog.fileIsUploaded(fileWithSpecificSize.name).clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.deleteContent(fileWithSpecificSize.name).checkContentIsNotDisplayed(fileWithSpecificSize.name);
uploadToggles.addMaxSize('399');
contentServicesPage.uploadFile(fileWithSpecificSize.location);
// expect(contentServicesPage.getErrorMessage()).toEqual('File ' + fileWithSpecificSize.name + ' is larger than the allowed file size');
contentServicesPage.checkContentIsNotDisplayed(fileWithSpecificSize.name);
uploadDialog.fileIsNotDisplayedInDialog(fileWithSpecificSize.name);
contentServicesPage.uploadFile(emptyFile.location).checkContentIsDisplayed(emptyFile.name);
uploadDialog.fileIsUploaded(emptyFile.name).clickOnCloseButton().dialogIsNotDisplayed();
uploadToggles.disableMaxSize();
});
it('[C272796] Should be possible to set max size to 0', () => {
contentServicesPage.goToDocumentList();
uploadToggles.enableMaxSize();
uploadToggles.addMaxSize('0');
contentServicesPage.uploadFile(fileWithSpecificSize.location);
// expect(contentServicesPage.getErrorMessage()).toEqual('File ' + fileWithSpecificSize.name + ' is larger than the allowed file size');
uploadDialog.fileIsNotDisplayedInDialog(fileWithSpecificSize.name);
contentServicesPage.uploadFile(emptyFile.location).checkContentIsDisplayed(emptyFile.name);
uploadDialog.fileIsUploaded(emptyFile.name).clickOnCloseButton().dialogIsNotDisplayed();
uploadToggles.disableMaxSize();
});
it('[C272797] Should be possible to set max size to 1', () => {
uploadToggles.enableMaxSize();
browser.driver.sleep(1000);
uploadToggles.addMaxSize('1');
uploadToggles.disableMaxSize();
contentServicesPage.uploadFile(fileWithSpecificSize.location);
uploadDialog.fileIsUploaded(fileWithSpecificSize.name).clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.checkContentIsDisplayed(fileWithSpecificSize.name);
});
it('[C91318] Should Enable/Disable upload button when change the disable property', () => {
uploadToggles.clickCheckboxDisableUpload();
expect(contentServicesPage.uploadButtonIsEnabled()).toBeFalsy();
uploadToggles.clickCheckboxDisableUpload();
expect(contentServicesPage.uploadButtonIsEnabled()).toBeTruthy();
});
it('[C279882] Should be possible Upload a folder in a folder', () => {
uploadToggles.enableFolderUpload();
browser.driver.sleep(1000);
contentServicesPage.uploadFolder(folderOne.location);
uploadDialog.checkUploadCompleted().then(() => {
contentServicesPage.checkContentIsDisplayed(folderOne.name);
});
uploadDialog.fileIsUploaded(uploadedFileInFolder.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.doubleClickRow(folderOne.name).checkContentIsDisplayed(uploadedFileInFolder.name);
uploadToggles.enableFolderUpload();
browser.driver.sleep(1000);
contentServicesPage.uploadFolder(folderTwo.location);
uploadDialog.checkUploadCompleted().then(() => {
contentServicesPage.checkContentIsDisplayed(folderTwo.name);
});
uploadDialog.fileIsUploaded(uploadedFileInFolderTwo.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
contentServicesPage.doubleClickRow(folderTwo.name).checkContentIsDisplayed(uploadedFileInFolderTwo.name);
uploadToggles.disableFolderUpload();
});
it('[C291921] Should display tooltip for uploading files on a not found location', async () => { it('[C291921] Should display tooltip for uploading files on a not found location', async () => {
let folderName = Util.generateRandomString(8); let folderName = Util.generateRandomString(8);

View File

@@ -19,7 +19,6 @@ import { by, element } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage'; import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -32,13 +31,14 @@ import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import path = require('path'); import path = require('path');
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Version component actions', () => { describe('Version component actions', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const contentListPage = new ContentListPage();
const versionManagePage = new VersionManagePage(); const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
@@ -75,8 +75,9 @@ describe('Version component actions', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentListPage.versionManagerContent(txtFileModel.name); contentServicesPage.waitForTableBody();
contentServicesPage.versionManagerContent(txtFileModel.name);
done(); done();
}); });

View File

@@ -18,11 +18,11 @@
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage'; import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { UploadDialog } from '../../pages/adf/dialog/uploadDialog'; import { UploadDialog } from '../../pages/adf/dialog/uploadDialog';
import { NotificationPage } from '../../pages/adf/notificationPage'; import { NotificationPage } from '../../pages/adf/notificationPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { FileModel } from '../../models/ACS/fileModel'; import { FileModel } from '../../models/ACS/fileModel';
@@ -40,11 +40,11 @@ import CONSTANTS = require('../../util/constants');
describe('Version component permissions', () => { describe('Version component permissions', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentListPage = new ContentListPage();
const versionManagePage = new VersionManagePage(); const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const uploadDialog = new UploadDialog(); const uploadDialog = new UploadDialog();
const notificationPage = new NotificationPage(); const notificationPage = new NotificationPage();
const contentServices = new ContentServicesPage();
let site; let site;
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
@@ -158,7 +158,7 @@ describe('Version component permissions', () => {
}); });
it('[C277200] should a user with Manager permission be able to upload a new version for a file with different creator', () => { it('[C277200] should a user with Manager permission be able to upload a new version for a file with different creator', () => {
contentListPage.versionManagerContent(differentCreatorFile.name); contentServices.versionManagerContent(differentCreatorFile.name);
versionManagePage.showNewVersionButton.click(); versionManagePage.showNewVersionButton.click();
@@ -179,7 +179,7 @@ describe('Version component permissions', () => {
}); });
it('[C277204] Should a user with Manager permission not be able to upload a new version for a locked file', () => { it('[C277204] Should a user with Manager permission not be able to upload a new version for a locked file', () => {
contentListPage.versionManagerContent(lockFileModel.name); contentServices.versionManagerContent(lockFileModel.name);
versionManagePage.showNewVersionButton.click(); versionManagePage.showNewVersionButton.click();
@@ -193,7 +193,7 @@ describe('Version component permissions', () => {
}); });
it('[C277196] Should a user with Manager permission be able to upload a new version for the created file', () => { it('[C277196] Should a user with Manager permission be able to upload a new version for the created file', () => {
contentListPage.versionManagerContent(sameCreatorFile.name); contentServices.versionManagerContent(sameCreatorFile.name);
versionManagePage.showNewVersionButton.click(); versionManagePage.showNewVersionButton.click();
@@ -225,13 +225,13 @@ describe('Version component permissions', () => {
}); });
it('[C277197] Should a user with Consumer permission not be able to upload a new version for a file with different creator', () => { it('[C277197] Should a user with Consumer permission not be able to upload a new version for a file with different creator', () => {
contentListPage.versionManagerContent(differentCreatorFile.name); contentServices.versionManagerContent(differentCreatorFile.name);
notificationPage.checkNotifyContains(`You don't have access to do this`); notificationPage.checkNotifyContains(`You don't have access to do this`);
}); });
it('[C277201] Should a user with Consumer permission not be able to upload a new version for a locked file', () => { it('[C277201] Should a user with Consumer permission not be able to upload a new version for a locked file', () => {
contentListPage.versionManagerContent(lockFileModel.name); contentServices.versionManagerContent(lockFileModel.name);
notificationPage.checkNotifyContains(`You don't have access to do this`); notificationPage.checkNotifyContains(`You don't have access to do this`);
}); });
@@ -265,7 +265,7 @@ describe('Version component permissions', () => {
}); });
it('[C277177] Should a user with Contributor permission be able to upload a new version for the created file', () => { it('[C277177] Should a user with Contributor permission be able to upload a new version for the created file', () => {
contentListPage.versionManagerContent(sameCreatorFile.name); contentServices.versionManagerContent(sameCreatorFile.name);
versionManagePage.showNewVersionButton.click(); versionManagePage.showNewVersionButton.click();
@@ -286,13 +286,13 @@ describe('Version component permissions', () => {
}); });
it('[C277198] Should a user with Contributor permission not be able to upload a new version for a file with different creator', () => { it('[C277198] Should a user with Contributor permission not be able to upload a new version for a file with different creator', () => {
contentListPage.versionManagerContent(differentCreatorFile.name); contentServices.versionManagerContent(differentCreatorFile.name);
notificationPage.checkNotifyContains(`You don't have access to do this`); notificationPage.checkNotifyContains(`You don't have access to do this`);
}); });
it('[C277202] Should a user with Contributor permission not be able to upload a new version for a locked file', () => { it('[C277202] Should a user with Contributor permission not be able to upload a new version for a locked file', () => {
contentListPage.versionManagerContent(lockFileModel.name); contentServices.versionManagerContent(lockFileModel.name);
notificationPage.checkNotifyContains(`You don't have access to do this`); notificationPage.checkNotifyContains(`You don't have access to do this`);
}); });
@@ -325,7 +325,7 @@ describe('Version component permissions', () => {
}); });
it('[C277195] Should a user with Collaborator permission be able to upload a new version for the created file', () => { it('[C277195] Should a user with Collaborator permission be able to upload a new version for the created file', () => {
contentListPage.versionManagerContent(sameCreatorFile.name); contentServices.versionManagerContent(sameCreatorFile.name);
versionManagePage.showNewVersionButton.click(); versionManagePage.showNewVersionButton.click();
@@ -346,7 +346,7 @@ describe('Version component permissions', () => {
}); });
it('[C277203] Should a user with Collaborator permission not be able to upload a new version for a locked file', () => { it('[C277203] Should a user with Collaborator permission not be able to upload a new version for a locked file', () => {
contentListPage.versionManagerContent(lockFileModel.name); contentServices.versionManagerContent(lockFileModel.name);
versionManagePage.showNewVersionButton.click(); versionManagePage.showNewVersionButton.click();
@@ -360,7 +360,7 @@ describe('Version component permissions', () => {
}); });
it('[C277199] should a user with Collaborator permission be able to upload a new version for a file with different creator', () => { it('[C277199] should a user with Collaborator permission be able to upload a new version for a file with different creator', () => {
contentListPage.versionManagerContent(differentCreatorFile.name); contentServices.versionManagerContent(differentCreatorFile.name);
versionManagePage.showNewVersionButton.click(); versionManagePage.showNewVersionButton.click();

View File

@@ -19,7 +19,6 @@ import { by, element } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage'; import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -31,13 +30,14 @@ import resources = require('../../util/resources');
import AlfrescoApi = require('alfresco-js-api-node'); import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Version Properties', () => { describe('Version Properties', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const contentListPage = new ContentListPage();
const versionManagePage = new VersionManagePage(); const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
@@ -74,8 +74,9 @@ describe('Version Properties', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentListPage.versionManagerContent(txtFileModel.name); contentServicesPage.waitForTableBody();
contentServicesPage.versionManagerContent(txtFileModel.name);
done(); done();
}); });

View File

@@ -19,7 +19,6 @@ import { browser } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage'; import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -31,13 +30,14 @@ import resources = require('../../util/resources');
import AlfrescoApi = require('alfresco-js-api-node'); import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Version component', () => { describe('Version component', () => {
let txtUploadedFile; let txtUploadedFile;
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const contentListPage = new ContentListPage(); const navigationBarPage = new NavigationBarPage();
const versionManagePage = new VersionManagePage(); const versionManagePage = new VersionManagePage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
@@ -89,8 +89,9 @@ describe('Version component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentListPage.versionManagerContent(txtFileModel.name); contentServicesPage.waitForTableBody();
contentServicesPage.versionManagerContent(txtFileModel.name);
done(); done();
}); });

View File

@@ -16,7 +16,6 @@
*/ */
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ViewerPage } from '../../pages/adf/viewerPage'; import { ViewerPage } from '../../pages/adf/viewerPage';
import { MetadataViewPage } from '../../pages/adf/metadataViewPage'; import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
@@ -29,6 +28,8 @@ import resources = require('../../util/resources');
import AlfrescoApi = require('alfresco-js-api-node'); import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { check, uncheck } from '../../util/material'; import { check, uncheck } from '../../util/material';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
describe('CardView Component - properties', () => { describe('CardView Component - properties', () => {
@@ -46,9 +47,10 @@ describe('CardView Component - properties', () => {
}; };
let loginPage = new LoginPage(); let loginPage = new LoginPage();
let contentServicesPage = new ContentServicesPage(); let navigationBarPage = new NavigationBarPage();
let viewerPage = new ViewerPage(); let viewerPage = new ViewerPage();
let metadataViewPage = new MetadataViewPage(); let metadataViewPage = new MetadataViewPage();
const contentServicesPage = new ContentServicesPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
@@ -80,7 +82,8 @@ describe('CardView Component - properties', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
done(); done();
}); });

View File

@@ -21,7 +21,6 @@ import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ViewerPage } from '../../pages/adf/viewerPage'; import { ViewerPage } from '../../pages/adf/viewerPage';
import { MetadataViewPage } from '../../pages/adf/metadataViewPage'; import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { FileModel } from '../../models/ACS/fileModel'; import { FileModel } from '../../models/ACS/fileModel';
@@ -32,6 +31,7 @@ import dateFormat = require('dateformat');
import AlfrescoApi = require('alfresco-js-api-node'); import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Metadata component', () => { describe('Metadata component', () => {
@@ -52,7 +52,7 @@ describe('Metadata component', () => {
const contentServicesPage = new ContentServicesPage(); const contentServicesPage = new ContentServicesPage();
const viewerPage = new ViewerPage(); const viewerPage = new ViewerPage();
const metadataViewPage = new MetadataViewPage(); const metadataViewPage = new MetadataViewPage();
const contentListPage = new ContentListPage(); const navigationBarPage = new NavigationBarPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
@@ -87,7 +87,8 @@ describe('Metadata component', () => {
pngFileModel.update(pngUploadedFile.entry); pngFileModel.update(pngUploadedFile.entry);
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
done(); done();
}); });
@@ -233,7 +234,7 @@ describe('Metadata component', () => {
expect(metadataViewPage.getPropertyText('properties.cm:description')).toEqual('check author example description'); expect(metadataViewPage.getPropertyText('properties.cm:description')).toEqual('check author example description');
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
await browser.get(fileUrl); await browser.get(fileUrl);
@@ -291,14 +292,14 @@ describe('Metadata component', () => {
}); });
it('[C261157] Should be possible use the metadata component When the node is a Folder', () => { it('[C261157] Should be possible use the metadata component When the node is a Folder', () => {
contentListPage.metadataContent(folderName); contentServicesPage.metadataContent(folderName);
expect(metadataViewPage.getPropertyText('name')).toEqual(folderName); expect(metadataViewPage.getPropertyText('name')).toEqual(folderName);
expect(metadataViewPage.getPropertyText('createdByUser.displayName')).toEqual(acsUser.firstName + ' ' + acsUser.lastName); expect(metadataViewPage.getPropertyText('createdByUser.displayName')).toEqual(acsUser.firstName + ' ' + acsUser.lastName);
}); });
it('[C261158] Should be possible edit the metadata When the node is a Folder', () => { it('[C261158] Should be possible edit the metadata When the node is a Folder', () => {
contentListPage.metadataContent(folderName); contentServicesPage.metadataContent(folderName);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
await metadataViewPage.editIconClick(); await metadataViewPage.editIconClick();

View File

@@ -16,7 +16,8 @@
*/ */
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { DataTablePage } from '../../pages/adf/dataTablePage'; import { DataTablePage } from '../../pages/adf/demo-shell/dataTablePage';
import { DataTableComponentPage } from '../../pages/adf/dataTableComponentPage';
import TestConfig = require('../../test.config'); import TestConfig = require('../../test.config');
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -29,6 +30,7 @@ describe('Datatable component - selection', () => {
let loginPage = new LoginPage(); let loginPage = new LoginPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
let navigationBarPage = new NavigationBarPage(); let navigationBarPage = new NavigationBarPage();
let dataTableComponent = new DataTableComponentPage();
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
@@ -49,21 +51,21 @@ describe('Datatable component - selection', () => {
it('[C213258] Should be possible change the selection modes when change the selectionMode property', () => { it('[C213258] Should be possible change the selection modes when change the selectionMode property', () => {
dataTablePage.selectRow('2'); dataTablePage.selectRow('2');
dataTablePage.checkRowIsSelected('2'); dataTableComponent.checkRowIsSelected('Id', '2');
dataTablePage.getNumberOfSelectedRows().then((result) => { dataTablePage.getNumberOfSelectedRows().then((result) => {
expect(result).toEqual(1); expect(result).toEqual(1);
}); });
dataTablePage.selectRow('3'); dataTablePage.selectRow('3');
dataTablePage.checkRowIsSelected('3'); dataTableComponent.checkRowIsSelected('Id', '3');
dataTablePage.getNumberOfSelectedRows().then((result) => { dataTablePage.getNumberOfSelectedRows().then((result) => {
expect(result).toEqual(1); expect(result).toEqual(1);
}); });
dataTablePage.selectSelectionMode('Multiple'); dataTablePage.selectSelectionMode('Multiple');
dataTablePage.selectRow('1'); dataTablePage.selectRow('1');
dataTablePage.checkRowIsSelected('1'); dataTableComponent.checkRowIsSelected('Id', '1');
dataTablePage.selectRowWithKeyboard('3'); dataTablePage.selectRowWithKeyboard('3');
dataTablePage.checkRowIsSelected('1'); dataTableComponent.checkRowIsSelected('Id', '1');
dataTablePage.checkRowIsSelected('3'); dataTableComponent.checkRowIsSelected('Id', '3');
dataTablePage.checkRowIsNotSelected('2'); dataTablePage.checkRowIsNotSelected('2');
dataTablePage.checkRowIsNotSelected('4'); dataTablePage.checkRowIsNotSelected('4');
dataTablePage.selectSelectionMode('None'); dataTablePage.selectSelectionMode('None');

View File

@@ -16,7 +16,8 @@
*/ */
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { DataTablePage } from '../../pages/adf/dataTablePage'; import { DataTablePage } from '../../pages/adf/demo-shell/dataTablePage';
import { DataTableComponentPage } from '../../pages/adf/dataTableComponentPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel'; import { AcsUserModel } from '../../models/ACS/acsUserModel';
import TestConfig = require('../../test.config'); import TestConfig = require('../../test.config');
@@ -25,10 +26,11 @@ import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Datatable component', () => { describe('Datatable component', () => {
let dataTablePage = new DataTablePage(); const dataTablePage = new DataTablePage();
let loginPage = new LoginPage(); const loginPage = new LoginPage();
let acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
let navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const dataTableComponent = new DataTableComponentPage();
beforeAll(async (done) => { beforeAll(async (done) => {
this.alfrescoJsApi = new AlfrescoApi({ this.alfrescoJsApi = new AlfrescoApi({
@@ -48,11 +50,11 @@ describe('Datatable component', () => {
}); });
it('[C91314] Should be possible add new row to the table', () => { it('[C91314] Should be possible add new row to the table', () => {
dataTablePage.getNumberOfRows().then((result) => { dataTableComponent.numberOfRows().then((result) => {
dataTablePage.addRow(); dataTablePage.addRow();
expect(dataTablePage.getNumberOfRows()).toEqual(result + 1); expect(dataTableComponent.numberOfRows()).toEqual(result + 1);
dataTablePage.addRow(); dataTablePage.addRow();
expect(dataTablePage.getNumberOfRows()).toEqual(result + 2); expect(dataTableComponent.numberOfRows()).toEqual(result + 2);
}); });
}); });
@@ -65,11 +67,11 @@ describe('Datatable component', () => {
}); });
it('[C277314] Should filter the table rows when the input filter is passed', () => { it('[C277314] Should filter the table rows when the input filter is passed', () => {
expect(dataTablePage.getNumberOfRows()).toEqual(4); expect(dataTableComponent.numberOfRows()).toEqual(4);
dataTablePage.insertFilter('Name'); dataTablePage.insertFilter('Name');
expect(dataTablePage.getNumberOfRows()).toEqual(3); expect(dataTableComponent.numberOfRows()).toEqual(3);
dataTablePage.insertFilter('I'); dataTablePage.insertFilter('I');
expect(dataTablePage.getNumberOfRows()).toEqual(1); expect(dataTableComponent.numberOfRows()).toEqual(1);
}); });
}); });

View File

@@ -71,7 +71,7 @@ describe('Enable infinite scrolling', () => {
}); });
it('[C260484] Should be possible to enable infinite scrolling', () => { it('[C260484] Should be possible to enable infinite scrolling', () => {
contentServicesPage.navigateToFolder(folderModel.name); contentServicesPage.doubleClickRow(folderModel.name);
contentServicesPage.enableInfiniteScrolling(); contentServicesPage.enableInfiniteScrolling();
contentServicesPage.clickLoadMoreButton(); contentServicesPage.clickLoadMoreButton();
for (fileNum; fileNum < nrOfFiles; fileNum++) { for (fileNum; fileNum < nrOfFiles; fileNum++) {

View File

@@ -78,7 +78,7 @@ describe('Pagination - returns to previous page when current is empty', () => {
}); });
it('[C274710] Should redirect to previous page when current is emptied', () => { it('[C274710] Should redirect to previous page when current is emptied', () => {
contentServicesPage.navigateToFolder(folderModel.name); contentServicesPage.doubleClickRow(folderModel.name);
contentServicesPage.checkAcsContainer(); contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody(); contentServicesPage.waitForTableBody();

View File

@@ -21,7 +21,6 @@ import { LoginPage } from '../../pages/adf/loginPage';
import { ViewerPage } from '../../pages/adf/viewerPage'; import { ViewerPage } from '../../pages/adf/viewerPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { ShareDialog } from '../../pages/adf/dialog/shareDialog'; import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
import { AboutPage } from '../../pages/adf/demo-shell/aboutPage'; import { AboutPage } from '../../pages/adf/demo-shell/aboutPage';
@@ -36,7 +35,6 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
import AlfrescoApi = require('alfresco-js-api-node'); import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions'; import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { viewWrappedDebugError } from '@angular/core/src/view/errors';
xdescribe('Viewer', () => { xdescribe('Viewer', () => {
@@ -48,7 +46,7 @@ xdescribe('Viewer', () => {
let site; let site;
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
let pngFileUploaded; let pngFileUploaded;
const contentList = new ContentListPage(); const contentList = contentServicesPage.getDocumentList();
const shareDialog = new ShareDialog(); const shareDialog = new ShareDialog();
const about = new AboutPage(); const about = new AboutPage();
@@ -158,7 +156,7 @@ xdescribe('Viewer', () => {
}); });
it('[C260517] Should be possible to open any Archive file', () => { it('[C260517] Should be possible to open any Archive file', () => {
contentServicesPage.navigateToFolder('archive'); contentServicesPage.doubleClickRow('archive');
uploadedArchives.forEach((currentFile) => { uploadedArchives.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -193,7 +191,7 @@ xdescribe('Viewer', () => {
}); });
it('[C280008] Should be possible to open any Excel file', () => { it('[C280008] Should be possible to open any Excel file', () => {
contentServicesPage.navigateToFolder('excel'); contentServicesPage.doubleClickRow('excel');
uploadedExcels.forEach((currentFile) => { uploadedExcels.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -228,7 +226,7 @@ xdescribe('Viewer', () => {
}); });
it('[C280009] Should be possible to open any PowerPoint file', () => { it('[C280009] Should be possible to open any PowerPoint file', () => {
contentServicesPage.navigateToFolder('ppt'); contentServicesPage.doubleClickRow('ppt');
uploadedPpt.forEach((currentFile) => { uploadedPpt.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -263,7 +261,7 @@ xdescribe('Viewer', () => {
}); });
it('[C280010] Should be possible to open any Text file', () => { it('[C280010] Should be possible to open any Text file', () => {
contentServicesPage.navigateToFolder('text'); contentServicesPage.doubleClickRow('text');
uploadedTexts.forEach((currentFile) => { uploadedTexts.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -298,7 +296,7 @@ xdescribe('Viewer', () => {
}); });
it('[C280011] Should be possible to open any Word file', () => { it('[C280011] Should be possible to open any Word file', () => {
contentServicesPage.navigateToFolder('word'); contentServicesPage.doubleClickRow('word');
uploadedWords.forEach((currentFile) => { uploadedWords.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -333,7 +331,7 @@ xdescribe('Viewer', () => {
}); });
it('[C280012] Should be possible to open any other Document supported extension', () => { it('[C280012] Should be possible to open any other Document supported extension', () => {
contentServicesPage.navigateToFolder('other'); contentServicesPage.doubleClickRow('other');
uploadedOthers.forEach((currentFile) => { uploadedOthers.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -372,7 +370,7 @@ xdescribe('Viewer', () => {
}); });
it('[C279966] Should be possible to open any Image supported extension', () => { it('[C279966] Should be possible to open any Image supported extension', () => {
contentServicesPage.navigateToFolder('images'); contentServicesPage.doubleClickRow('images');
uploadedImages.forEach((currentFile) => { uploadedImages.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -382,7 +380,7 @@ xdescribe('Viewer', () => {
} }
}); });
contentServicesPage.navigateToFolder('images-rendition'); contentServicesPage.doubleClickRow('images-rendition');
uploadedImgRenditionFolderInfo.forEach((currentFile) => { uploadedImgRenditionFolderInfo.forEach((currentFile) => {
if (currentFile.entry.name !== '.DS_Store') { if (currentFile.entry.name !== '.DS_Store') {
@@ -434,9 +432,10 @@ xdescribe('Viewer', () => {
}); });
it('[C260106] Should be able to open a Word file shared via API', () => { it('[C260106] Should be able to open a Word file shared via API', () => {
contentServicesPage.navigateToDocumentList(); navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentList.clickRowToSelect(wordFileInfo.name); contentList.selectRow(wordFileInfo.name);
contentServicesPage.clickShareButton(); contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed(); shareDialog.checkDialogIsDisplayed();
shareDialog.clickShareLinkButton(); shareDialog.clickShareLinkButton();

View File

@@ -21,7 +21,7 @@ import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage'; import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ViewerPage } from '../../pages/adf/viewerPage'; import { ViewerPage } from '../../pages/adf/viewerPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { DataTablePage } from '../../pages/adf/dataTablePage'; import { DataTableComponentPage } from '../../pages/adf/dataTableComponentPage';
import resources = require('../../util/resources'); import resources = require('../../util/resources');
@@ -38,7 +38,7 @@ describe('Viewer - properties', () => {
let contentServicesPage = new ContentServicesPage(); let contentServicesPage = new ContentServicesPage();
let loginPage = new LoginPage(); let loginPage = new LoginPage();
let navigationBarPage = new NavigationBarPage(); let navigationBarPage = new NavigationBarPage();
let dataTable = new DataTablePage(); let dataTable = new DataTableComponentPage();
let pngFile = new FileModel({ let pngFile = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.PNG.file_name, 'name': resources.Files.ADF_DOCUMENTS.PNG.file_name,
@@ -189,18 +189,18 @@ describe('Viewer - properties', () => {
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
navigationBarPage.clickOverlayViewerButton(); navigationBarPage.clickOverlayViewerButton();
dataTable.doubleClickRow(fileForOverlay.name); dataTable.doubleClickRow('Name', fileForOverlay.name);
viewerPage.checkOverlayViewerIsDisplayed(); viewerPage.checkOverlayViewerIsDisplayed();
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
dataTable.doubleClickRow(pngFile.name); dataTable.doubleClickRow('Name', pngFile.name);
viewerPage.checkOverlayViewerIsDisplayed(); viewerPage.checkOverlayViewerIsDisplayed();
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
viewerPage.disableOverlay(); viewerPage.disableOverlay();
dataTable.doubleClickRow(fileForOverlay.name); dataTable.doubleClickRow('Name', fileForOverlay.name);
viewerPage.checkImgContainerIsDisplayed(); viewerPage.checkImgContainerIsDisplayed();
viewerPage.checkInlineViewerIsDisplayed(); viewerPage.checkInlineViewerIsDisplayed();
dataTable.doubleClickRow(pngFile.name); dataTable.doubleClickRow('Name', pngFile.name);
viewerPage.checkImgContainerIsDisplayed(); viewerPage.checkImgContainerIsDisplayed();
viewerPage.checkInlineViewerIsDisplayed(); viewerPage.checkInlineViewerIsDisplayed();
}); });

View File

@@ -0,0 +1,86 @@
/*!
* @license
* Copyright 2019 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 { by, element, ElementFinder, browser } from 'protractor';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { Util } from '../../../util/util';
export class DocumentListPage {
rootElement: ElementFinder;
actionMenu = element(by.css('div[role="menu"]'));
optionButton = by.css('button[data-automation-id*="action_menu_"]');
tableBody;
dataTable;
constructor(rootElement: ElementFinder = element.all(by.css('adf-document-list')).first()) {
this.rootElement = rootElement;
this.dataTable = new DataTableComponentPage(this.rootElement);
this.tableBody = rootElement.all(by.css('div[class="adf-datatable-body"]')).first();
}
checkLockedIcon(content) {
let row = this.dataTable.getRowParentElement('Display name', content);
let lockIcon = row.element(by.cssContainingText('div[title="Lock"] mat-icon', 'lock'));
Util.waitUntilElementIsVisible(lockIcon);
return this;
}
checkUnlockedIcon(content) {
let row = this.dataTable.getRowParentElement('Display name', content);
let lockIcon = row.element(by.cssContainingText('div[title="Lock"] mat-icon', 'lock_open'));
Util.waitUntilElementIsVisible(lockIcon);
return this;
}
waitForTableBody() {
return Util.waitUntilElementIsVisible(this.tableBody);
}
getTooltip(nodeName) {
return this.dataTable.getTooltip('Display name', nodeName);
}
selectRow(nodeName) {
return this.dataTable.selectRow('Display name', nodeName);
}
rightClickOnRow(nodeName) {
return this.dataTable.rightClickOnRow('Display name', nodeName);
}
clickOnActionMenu(content) {
let row = this.dataTable.getRowParentElement('Display name', content);
row.element(this.optionButton).click();
Util.waitUntilElementIsVisible(this.actionMenu);
browser.sleep(500);
return this;
}
dataTablePage() {
return new DataTableComponentPage(this.rootElement);
}
getAllRowsColumnValues(column) {
return this.dataTable.getAllRowsColumnValues(column);
}
doubleClickRow(nodeName) {
this.dataTable.doubleClickRow('Display name', nodeName);
return this;
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License. * limitations under the License.
*/ */
import { browser, by, protractor } from 'protractor'; import { browser, by } from 'protractor';
import { Util } from '../../../../../util/util'; import { Util } from '../../../../../util/util';
export class SearchSliderPage { export class SearchSliderPage {

View File

@@ -17,10 +17,9 @@
import TestConfig = require('../../test.config'); import TestConfig = require('../../test.config');
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import { ContentListPage } from './dialog/contentListPage'; import { DocumentListPage } from './content-services/documentListPage';
import { CreateFolderDialog } from './dialog/createFolderDialog'; import { CreateFolderDialog } from './dialog/createFolderDialog';
import { CreateLibraryDialog } from './dialog/createLibraryDialog'; import { CreateLibraryDialog } from './dialog/createLibraryDialog';
import { NavigationBarPage } from './navigationBarPage';
import { NodeActions } from '../../actions/ACS/node.actions'; import { NodeActions } from '../../actions/ACS/node.actions';
import { DropActions } from '../../actions/drop.actions'; import { DropActions } from '../../actions/drop.actions';
import { by, element, protractor, $$, browser } from 'protractor'; import { by, element, protractor, $$, browser } from 'protractor';
@@ -29,13 +28,12 @@ import path = require('path');
export class ContentServicesPage { export class ContentServicesPage {
contentList = new ContentListPage(); contentList = new DocumentListPage(element.all(by.css('adf-upload-drag-area adf-document-list')).first());
createFolderDialog = new CreateFolderDialog(); createFolderDialog = new CreateFolderDialog();
nodeActions = new NodeActions(); nodeActions = new NodeActions();
createLibraryDialog = new CreateLibraryDialog(); createLibraryDialog = new CreateLibraryDialog();
dragAndDropAction = new DropActions(); dragAndDropAction = new DropActions();
uploadBorder = element(by.id('document-list-container')); uploadBorder = element(by.id('document-list-container'));
tableBody = element.all(by.css('adf-document-list div[class="adf-datatable-body"]')).first();
contentServices = element(by.css('a[data-automation-id="Content Services"]')); contentServices = element(by.css('a[data-automation-id="Content Services"]'));
currentFolder = element(by.css('div[class*="adf-breadcrumb-item adf-active"] div')); currentFolder = element(by.css('div[class*="adf-breadcrumb-item adf-active"] div'));
createFolderButton = element(by.css('button[data-automation-id="create-new-folder"]')); createFolderButton = element(by.css('button[data-automation-id="create-new-folder"]'));
@@ -66,21 +64,94 @@ export class ContentServicesPage {
copyButton = element(by.css('button[data-automation-id="content-node-selector-actions-choose"]')); copyButton = element(by.css('button[data-automation-id="content-node-selector-actions-choose"]'));
searchInputElement = element(by.css('input[data-automation-id="content-node-selector-search-input"]')); searchInputElement = element(by.css('input[data-automation-id="content-node-selector-search-input"]'));
shareNodeButton = element(by.cssContainingText('mat-icon', ' share ')); shareNodeButton = element(by.cssContainingText('mat-icon', ' share '));
nameColumnHeader = 'name';
createdByColumnHeader = 'createdByUser.displayName';
createdColumnHeader = 'createdAt';
deleteContentElement = element(by.css('button[data-automation-id*="DELETE"]'));
metadataAction = element(by.css('button[data-automation-id*="METADATA"]'));
versionManagerAction = element(by.css('button[data-automation-id*="VERSIONS"]'));
moveContentElement = element(by.css('button[data-automation-id*="MOVE"]'));
copyContentElement = element(by.css('button[data-automation-id*="COPY"]'));
lockContentElement = element(by.css('button[data-automation-id="DOCUMENT_LIST.ACTIONS.LOCK"]'));
downloadContent = element(by.css('button[data-automation-id*="DOWNLOAD"]'));
siteListDropdown = element(by.css(`mat-select[data-automation-id='site-my-files-option']`)); siteListDropdown = element(by.css(`mat-select[data-automation-id='site-my-files-option']`));
getUploadAreaDocumentList() { pressContextMenuActionNamed(actionName) {
return new ContentListPage(element(by.css('adf-upload-drag-area'))); let actionButton = this.checkContextActionIsVisible(actionName);
actionButton.click();
}
checkContextActionIsVisible(actionName) {
let actionButton = element(by.css(`button[data-automation-id="context-${actionName}"`));
Util.waitUntilElementIsVisible(actionButton);
Util.waitUntilElementIsClickable(actionButton);
return actionButton;
}
getDocumentList() {
return this.contentList;
}
checkLockedIcon(content) {
return this.contentList.checkLockedIcon(content);
}
checkUnlockedIcon(content) {
return this.contentList.checkUnlockedIcon(content);
}
checkDeleteIsDisabled(content) {
this.contentList.clickOnActionMenu(content);
this.waitForContentOptions();
let disabledDelete = element(by.css(`button[data-automation-id*='DELETE'][disabled='true']`));
Util.waitUntilElementIsVisible(disabledDelete);
}
deleteContent(content) {
this.contentList.clickOnActionMenu(content);
this.waitForContentOptions();
this.deleteContentElement.click();
}
metadataContent(content) {
this.contentList.clickOnActionMenu(content);
this.waitForContentOptions();
this.metadataAction.click();
}
versionManagerContent(content) {
this.contentList.clickOnActionMenu(content);
this.waitForContentOptions();
this.versionManagerAction.click();
}
copyContent(content) {
this.contentList.clickOnActionMenu(content);
this.copyContentElement.click();
}
lockContent(content) {
this.contentList.clickOnActionMenu(content);
this.lockContentElement.click();
}
waitForContentOptions() {
Util.waitUntilElementIsVisible(this.copyContentElement);
Util.waitUntilElementIsVisible(this.moveContentElement);
Util.waitUntilElementIsVisible(this.deleteContentElement);
Util.waitUntilElementIsVisible(this.downloadContent);
} }
clickFileHyperlink(fileName) { clickFileHyperlink(fileName) {
let hyperlink = this.contentList.getFileHyperlink(fileName); let hyperlink = this.contentList.dataTablePage().getFileHyperlink(fileName);
Util.waitUntilElementIsClickable(hyperlink); Util.waitUntilElementIsClickable(hyperlink);
hyperlink.click(); hyperlink.click();
return this; return this;
} }
checkFileHyperlinkIsEnabled(fileName) { checkFileHyperlinkIsEnabled(fileName) {
let hyperlink = this.contentList.getFileHyperlink(fileName); let hyperlink = this.contentList.dataTablePage().getFileHyperlink(fileName);
Util.waitUntilElementIsVisible(hyperlink); Util.waitUntilElementIsVisible(hyperlink);
return this; return this;
} }
@@ -93,57 +164,27 @@ export class ContentServicesPage {
} }
getElementsDisplayedCreated() { getElementsDisplayedCreated() {
let deferred = protractor.promise.defer(); return this.contentList.dataTablePage().getAllRowsColumnValues('Created');
let fileCreatedLocator = this.contentList.getColumnLocator('Created');
Util.waitUntilElementIsVisible(element.all(fileCreatedLocator).first());
let initialList = [];
element.all(fileCreatedLocator).each((item) => {
item.getAttribute('title').then((dateText) => {
if (dateText !== '') {
let date = new Date(dateText);
initialList.push(date);
}
});
}).then(function () {
deferred.fulfill(initialList);
});
return deferred.promise;
} }
getElementsDisplayedSize() { getElementsDisplayedSize() {
let deferred = protractor.promise.defer(); return this.contentList.dataTablePage().getAllRowsColumnValues('Size');
let fileSizeLocator = this.contentList.getColumnLocator('Size');
Util.waitUntilElementIsVisible(element.all(fileSizeLocator).first());
let initialList = [];
element.all(fileSizeLocator).each(function (item) {
item.getAttribute('title').then((sizeText) => {
if (sizeText !== '') {
let size = Number(sizeText);
initialList.push(size);
}
});
}).then(function () {
deferred.fulfill(initialList);
});
return deferred.promise;
} }
getElementsDisplayedAuthor(alfrescoJsApi) { getElementsDisplayedAuthor(alfrescoJsApi) {
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
let initialList = [];
let idList = this.getElementsDisplayedId(); let idList = this.getElementsDisplayedId();
let numberOfElements = this.numberOfResultsDisplayed(); let numberOfElements = this.numberOfResultsDisplayed();
this.nodeActions.getNodesDisplayed(alfrescoJsApi, idList, numberOfElements).then((nodes) => { this.nodeActions.getNodesDisplayed(alfrescoJsApi, idList, numberOfElements).then((nodes) => {
let initialList = [];
nodes.forEach((item) => { nodes.forEach((item) => {
if (item.entry.createdByUser.id !== '') { item.entry.createdByUser.id.then((author) => {
initialList.push(item.entry.createdByUser.id); if (author !== '') {
} initialList.push(author);
}
});
}); });
}).then(function () {
deferred.fulfill(initialList); deferred.fulfill(initialList);
}); });
@@ -151,41 +192,11 @@ export class ContentServicesPage {
} }
getElementsDisplayedName() { getElementsDisplayedName() {
let deferred = protractor.promise.defer(); return this.contentList.dataTablePage().getAllRowsColumnValues('Display name');
let fileNameLocator = this.contentList.getColumnLocator('Display name');
Util.waitUntilElementIsVisible(element.all(fileNameLocator).first());
let initialList = [];
element.all(fileNameLocator).each((item) => {
item.getText().then(function (name) {
if (name !== '') {
initialList.push(name);
}
});
}).then(function () {
deferred.fulfill(initialList);
});
return deferred.promise;
} }
getElementsDisplayedId() { getElementsDisplayedId() {
let deferred = protractor.promise.defer(); return this.contentList.dataTablePage().getAllRowsColumnValues('Node id');
let fileIdLocator = this.contentList.getColumnLocator('Node id');
Util.waitUntilElementIsVisible(element.all(fileIdLocator).first());
let initialList = [];
element.all(fileIdLocator).each((item) => {
item.getText().then(function (text) {
if (text !== '') {
initialList.push(text);
}
});
}).then(function () {
deferred.fulfill(initialList);
});
return deferred.promise;
} }
checkElementsSortedAsc(elements) { checkElementsSortedAsc(elements) {
@@ -260,7 +271,7 @@ export class ContentServicesPage {
} }
waitForTableBody() { waitForTableBody() {
Util.waitUntilElementIsVisible(this.tableBody); this.contentList.waitForTableBody();
} }
goToDocumentList() { goToDocumentList() {
@@ -275,14 +286,8 @@ export class ContentServicesPage {
this.contentServices.click(); this.contentServices.click();
} }
navigateToDocumentList() {
let navigationBarPage = new NavigationBarPage();
navigationBarPage.clickContentServicesButton();
this.checkAcsContainer();
}
numberOfResultsDisplayed() { numberOfResultsDisplayed() {
return this.contentList.getAllDisplayedRows(); return this.contentList.dataTablePage().numberOfRows();
} }
currentFolderName() { currentFolderName() {
@@ -294,59 +299,51 @@ export class ContentServicesPage {
return deferred.promise; return deferred.promise;
} }
getTooltip(content) {
return this.contentList.getRowByRowName(content).element(this.tooltip).getAttribute('title');
}
getBreadcrumbTooltip(nodeName: string) {
return element(by.css(`nav[data-automation-id="breadcrumb"] div[title="${nodeName}"]`)).getAttribute('title');
}
getAllRowsNameColumn() { getAllRowsNameColumn() {
return this.contentList.getAllRowsNameColumn(); return this.contentList.getAllRowsColumnValues('Display name');
} }
sortByName(sortOrder) { sortByName(sortOrder) {
this.contentList.sortByName(sortOrder); return this.contentList.dataTable.sortByColumn(sortOrder, this.nameColumnHeader);
} }
sortByAuthor(sortOrder) { sortByAuthor(sortOrder) {
this.contentList.sortByAuthor(sortOrder); return this.contentList.dataTable.sortByColumn(sortOrder, this.createdByColumnHeader);
} }
sortByCreated(sortOrder) { sortByCreated(sortOrder) {
return this.contentList.sortByCreated(sortOrder); return this.contentList.dataTable.sortByColumn(sortOrder, this.createdColumnHeader);
} }
sortAndCheckListIsOrderedByName(sortOrder) { sortAndCheckListIsOrderedByName(sortOrder) {
this.sortByName(sortOrder); this.sortByName(sortOrder);
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
this.contentList.checkListIsOrderedByNameColumn(sortOrder).then((result) => { this.checkListIsSortedByNameColumn(sortOrder).then((result) => {
deferred.fulfill(result); deferred.fulfill(result);
}); });
return deferred.promise; return deferred.promise;
} }
async checkListIsSortedByNameColumn(sortOrder) { async checkListIsSortedByNameColumn(sortOrder) {
await this.contentList.checkListIsOrderedByNameColumn(sortOrder); return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, 'Display name');
} }
async checkListIsSortedByCreatedColumn(sortOrder) { async checkListIsSortedByCreatedColumn(sortOrder) {
await this.contentList.checkListIsOrderedByCreatedColumn(sortOrder); return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, 'Created');
} }
async checkListIsSortedByAuthorColumn(sortOrder) { async checkListIsSortedByAuthorColumn(sortOrder) {
await this.contentList.checkListIsOrderedByAuthorColumn(sortOrder); return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, 'Created by');
} }
async checkListIsSortedBySizeColumn(sortOrder) { async checkListIsSortedBySizeColumn(sortOrder) {
await this.contentList.checkListIsOrderedBySizeColumn(sortOrder); return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, 'Size');
} }
sortAndCheckListIsOrderedByAuthor(sortOrder) { sortAndCheckListIsOrderedByAuthor(sortOrder) {
this.sortByAuthor(sortOrder); this.sortByAuthor(sortOrder);
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
this.contentList.checkListIsOrderedByAuthorColumn(sortOrder).then((result) => { this.checkListIsSortedByAuthorColumn(sortOrder).then((result) => {
deferred.fulfill(result); deferred.fulfill(result);
}); });
return deferred.promise; return deferred.promise;
@@ -355,17 +352,12 @@ export class ContentServicesPage {
sortAndCheckListIsOrderedByCreated(sortOrder) { sortAndCheckListIsOrderedByCreated(sortOrder) {
this.sortByCreated(sortOrder); this.sortByCreated(sortOrder);
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
this.contentList.checkListIsOrderedByCreatedColumn(sortOrder).then((result) => { this.checkListIsSortedByCreatedColumn(sortOrder).then((result) => {
deferred.fulfill(result); deferred.fulfill(result);
}); });
return deferred.promise; return deferred.promise;
} }
navigateToFolder(folder) {
this.contentList.navigateToFolder(folder);
return this;
}
doubleClickRow(nodeName) { doubleClickRow(nodeName) {
this.contentList.doubleClickRow(nodeName); this.contentList.doubleClickRow(nodeName);
return this; return this;
@@ -393,7 +385,7 @@ export class ContentServicesPage {
} }
checkContentIsDisplayed(content) { checkContentIsDisplayed(content) {
this.contentList.checkContentIsDisplayed(content); this.contentList.dataTablePage().checkContentIsDisplayed('Display name', content);
return this; return this;
} }
@@ -405,7 +397,7 @@ export class ContentServicesPage {
} }
checkContentIsNotDisplayed(content) { checkContentIsNotDisplayed(content) {
this.contentList.checkContentIsNotDisplayed(content); this.contentList.dataTablePage().checkContentIsNotDisplayed('Display name', content);
return this; return this;
} }
@@ -465,11 +457,6 @@ export class ContentServicesPage {
return this.uploadFileButton.isEnabled(); return this.uploadFileButton.isEnabled();
} }
deleteContent(content) {
this.contentList.deleteContent(content);
return this;
}
getErrorMessage() { getErrorMessage() {
Util.waitUntilElementIsVisible(this.errorSnackBar); Util.waitUntilElementIsVisible(this.errorSnackBar);
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
@@ -479,10 +466,6 @@ export class ContentServicesPage {
return deferred.promise; return deferred.promise;
} }
checkItemInDocList(fileName) {
Util.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="text_${fileName}"]`)));
}
enableInfiniteScrolling() { enableInfiniteScrolling() {
let infiniteScrollButton = element(by.cssContainingText('.mat-slide-toggle-content', 'Enable Infinite Scrolling')); let infiniteScrollButton = element(by.cssContainingText('.mat-slide-toggle-content', 'Enable Infinite Scrolling'));
Util.waitUntilElementIsVisible(infiniteScrollButton); Util.waitUntilElementIsVisible(infiniteScrollButton);
@@ -564,11 +547,7 @@ export class ContentServicesPage {
} }
getColumnValueForRow(file, columnName) { getColumnValueForRow(file, columnName) {
let row = this.contentList.getRowByRowName(file); return this.contentList.dataTablePage().getColumnValueForRow('Display name', file, columnName);
Util.waitUntilElementIsVisible(row);
let rowColumn = row.element(by.css(`div[title="${columnName}"] span`));
Util.waitUntilElementIsVisible(rowColumn);
return rowColumn.getText();
} }
async getStyleValueForRowText(rowName, styleName) { async getStyleValueForRowText(rowName, styleName) {
@@ -668,7 +647,7 @@ export class ContentServicesPage {
} }
checkRowIsDisplayed(rowName) { checkRowIsDisplayed(rowName) {
let row = this.contentList.getRowByRowName(rowName); let row = this.contentList.dataTablePage().getRow('Display name', rowName);
Util.waitUntilElementIsVisible(row); Util.waitUntilElementIsVisible(row);
} }

View File

@@ -0,0 +1,279 @@
/*!
* @license
* Copyright 2019 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 { browser, by, element, protractor } from 'protractor';
import { Util } from '../../util/util';
import { ElementFinder, ElementArrayFinder } from 'protractor/built/element';
export class DataTableComponentPage {
rootElement: ElementFinder;
list: ElementArrayFinder;
contents;
tableBody;
spinner;
rows = by.css(`adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row']`);
allColumns;
selectedRowNumber;
allSelectedRows;
selectAll;
constructor(rootElement: ElementFinder = element.all(by.css('adf-datatable')).first()) {
this.rootElement = rootElement;
this.list = this.rootElement.all(by.css(`div[class*='adf-datatable-body'] div[class*='adf-datatable-row']`));
this.contents = this.rootElement.all(by.css('div[class="adf-datatable-body"] span'));
this.tableBody = this.rootElement.all(by.css(`div[class='adf-datatable-body']`)).first();
this.spinner = this.rootElement.element(by.css('mat-progress-spinner'));
this.allColumns = this.rootElement.all(by.css('div[data-automation-id*="auto_id_entry."]'));
this.selectedRowNumber = this.rootElement.element(by.css(`div[class*='is-selected'] div[data-automation-id*='text_']`));
this.allSelectedRows = this.rootElement.all(by.css(`div[class*='is-selected']`));
this.selectAll = this.rootElement.element(by.css(`div[class*='adf-datatable-header'] mat-checkbox`));
}
checkAllRowsButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.selectAll);
return this;
}
checkAllRows() {
Util.waitUntilElementIsClickable(this.selectAll).then(() => {
this.selectAll.click();
Util.waitUntilElementIsVisible(this.selectAll.element(by.css('input[aria-checked="true"]')));
});
return this;
}
clickCheckbox(columnName, columnValue) {
let checkbox = this.getRowCheckbox(columnName, columnValue);
Util.waitUntilElementIsClickable(checkbox);
checkbox.click();
}
checkRowIsNotChecked(columnName, columnValue) {
Util.waitUntilElementIsNotOnPage(this.getRowCheckbox(columnName, columnValue).element(by.css('input[aria-checked="true"]')));
}
checkRowIsChecked(columnName, columnValue) {
let rowCheckbox = this.getRowCheckbox(columnName, columnValue);
Util.waitUntilElementIsVisible(rowCheckbox.element(by.css('input[aria-checked="true"]')));
}
getRowCheckbox(columnName, columnValue) {
return this.getRowParentElement(columnName, columnValue)
.element(by.css('mat-checkbox'));
}
checkNoRowIsSelected() {
Util.waitUntilElementIsNotOnPage(this.selectedRowNumber);
}
getNumberOfSelectedRows() {
return this.allSelectedRows.count();
}
selectRowWithKeyboard(columnName, columnValue) {
let row = this.getRow(columnName, columnValue);
browser.actions().sendKeys(protractor.Key.COMMAND).click(row).perform();
}
selectRow(columnName, columnValue) {
let row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsClickable(row);
row.click();
return this;
}
checkRowIsSelected(columnName, columnValue) {
let selectedRow = this.getRow(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsVisible(selectedRow);
return this;
}
checkRowIsNotSelected(columnName, columnValue) {
let selectedRow = this.getRow(columnName, columnValue).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsNotOnPage(selectedRow);
return this;
}
getColumnValueForRow(identifyingColumn, identifyingValue, columnName) {
let row = this.getRow(identifyingColumn, identifyingValue).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]`));
Util.waitUntilElementIsVisible(row);
let rowColumn = row.element(by.css(`div[title="${columnName}"] span`));
Util.waitUntilElementIsVisible(rowColumn);
return rowColumn.getText();
}
/**
* Check the list is sorted.
*
* @param sortOrder: 'true' if the list is expected to be sorted ascendant and 'false' for descendant
* @param locator: locator for column
* @return 'true' if the list is sorted as expected and 'false' if it isn't
*/
checkListIsSorted(sortOrder, locator) {
let deferred = protractor.promise.defer();
let column = element.all(by.css(`div[title='${locator}'] span`));
Util.waitUntilElementIsVisible(column.first());
let initialList = [];
column.each(function (currentElement) {
currentElement.getText().then(function (text) {
initialList.push(text);
});
}).then(function () {
let sortedList = initialList;
sortedList = sortedList.sort();
if (sortOrder === false) {
sortedList = sortedList.reverse();
}
deferred.fulfill(initialList.toString() === sortedList.toString());
});
return deferred.promise;
}
rightClickOnRow(columnName, columnValue) {
let row = this.getRow(columnName, columnValue);
browser.actions().click(row, protractor.Button.RIGHT).perform();
Util.waitUntilElementIsVisible(element(by.id('adf-context-menu-content')));
}
getTooltip(columnName, columnValue) {
return this.getRow(columnName, columnValue).getAttribute('title');
}
getFileHyperlink(filename) {
return element(by.cssContainingText('adf-name-column[class*="adf-datatable-link"] span', filename));
}
numberOfRows() {
return this.rootElement.all(this.rows).count();
}
async getAllRowsColumnValues(column) {
let columnLocator = by.css("adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='" + column + "'] span");
Util.waitUntilElementIsVisible(element.all(columnLocator).first());
let initialList = await element.all(columnLocator).getText();
return initialList.filter((el) => el);
}
async getRowsWithSameColumnValues(columnName, columnValue) {
let columnLocator = by.css(`div[title='${columnName}'] div[data-automation-id="text_${columnValue}"] span`);
Util.waitUntilElementIsVisible(this.rootElement.all(columnLocator).first());
return this.rootElement.all(columnLocator).getText();
}
doubleClickRow(columnName, columnValue) {
let row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsVisible(row);
Util.waitUntilElementIsClickable(row);
row.click();
this.checkRowIsSelected(columnName, columnValue);
browser.actions().sendKeys(protractor.Key.ENTER).perform();
return this;
}
waitForTableBody() {
Util.waitUntilElementIsVisible(this.tableBody);
}
getFirstElementDetail(detail) {
let firstNode = element.all(by.css(`adf-datatable div[title="${detail}"] span`)).first();
return firstNode.getText();
}
sortByColumn(sortOrder, column) {
let locator = by.css(`div[data-automation-id="auto_id_${column}"]`);
Util.waitUntilElementIsVisible(element(locator));
return element(locator).getAttribute('class').then(function (result) {
if (sortOrder === true) {
if (!result.includes('sorted-asc')) {
if (result.includes('sorted-desc') || result.includes('sortable')) {
element(locator).click();
}
}
} else {
if (result.includes('sorted-asc')) {
element(locator).click();
} else if (result.includes('sortable')) {
element(locator).click();
element(locator).click();
}
}
return Promise.resolve();
});
}
checkContentIsDisplayed(columnName, columnValue) {
let row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsVisible(row);
return this;
}
checkContentIsNotDisplayed(columnName, columnValue) {
let row = this.getRow(columnName, columnValue);
Util.waitUntilElementIsNotOnPage(row);
return this;
}
contentInPosition(position) {
Util.waitUntilElementIsVisible(this.contents);
return this.contents.get(position - 1).getText();
}
getRowParentElement(columnName, columnValue) {
let row = this.rootElement.all(by.css(`div[title="${columnName}"] div[data-automation-id="text_${columnValue}"]`)).first()
.element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]`));
Util.waitUntilElementIsVisible(row);
return row;
}
getRow(columnName, columnValue) {
return this.rootElement.all(by.css(`div[title="${columnName}"] div[data-automation-id="text_${columnValue}"] span`)).first();
}
checkSpinnerIsDisplayed() {
Util.waitUntilElementIsPresent(this.spinner);
return this;
}
checkSpinnerIsNotDisplayed() {
Util.waitUntilElementIsNotOnPage(this.spinner);
return this;
}
tableIsLoaded() {
Util.waitUntilElementIsVisible(this.rootElement);
return this;
}
checkColumnIsDisplayed(column) {
Util.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="auto_id_entry.${column}"]`)));
return this;
}
getNumberOfColumns() {
return this.allColumns.count();
}
getNumberOfRows() {
return this.list.count();
}
getCellByRowAndColumn(rowColumn, rowContent, columnName) {
return this.getRowParentElement(rowColumn, rowContent).element(by.css(`div[title='${columnName}']`));
}
}

View File

@@ -1,340 +0,0 @@
/*!
* @license
* Copyright 2019 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 { browser, by, element, protractor } from 'protractor';
import { Util } from '../../util/util';
import { ElementFinder, ElementArrayFinder } from 'protractor/built/element';
export class DataTablePage {
rootElement: ElementFinder;
list: ElementArrayFinder;
contents = element.all(by.css('div[class="adf-datatable-body"] span'));
multiSelect = element(by.css(`div[data-automation-id='multiselect'] label > div[class='mat-checkbox-inner-container']`));
selectionButton = element(by.css(`div[class='mat-select-arrow']`));
selectionDropDown = element(by.css(`div[class*='ng-trigger-transformPanel']`));
allSelectedRows = element.all(by.css(`div[class*='is-selected']`));
selectedRowNumber = element(by.css(`div[class*='is-selected'] div[data-automation-id*='text_']`));
selectAll = element(by.css(`div[class*='header'] mat-checkbox`));
addRowElement = element(by.xpath(`//span[contains(text(),'Add row')]/..`));
replaceRowsElement = element(by.xpath(`//span[contains(text(),'Replace rows')]/..`));
reset = element(by.xpath(`//span[contains(text(),'Reset to default')]/..`));
replaceColumnsElement = element(by.xpath(`//span[contains(text(),'Replace columns')]/..`));
createdOnColumn = element(by.css(`div[data-automation-id='auto_id_createdOn']`));
tableBody = element.all(by.css(`div[class='adf-datatable-body']`)).first();
spinner = element(by.css('mat-progress-spinner'));
rows = by.css(`adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row']`);
allColumns = element.all(by.css('div[data-automation-id*="auto_id_entry."]'));
constructor(rootElement: ElementFinder = element(by.css('adf-datatable'))) {
this.rootElement = rootElement;
this.list = this.rootElement.all(by.css(`div[class*=adf-datatable-body] div[class*=adf-datatable-row]`));
}
getFileHyperlink(filename) {
return element(by.cssContainingText('adf-name-column[class*="adf-datatable-link"] span', filename));
}
getAllDisplayedRows() {
return element.all(this.rows).count();
}
getAllRowsNameColumn() {
return this.getAllRowsColumnValues('Name');
}
async getAllRowsColumnValues(locator) {
let columnLocator = by.css("adf-datatable div[class*='adf-datatable-body'] div[class*='adf-datatable-row'] div[title='" + locator + "'] span");
Util.waitUntilElementIsVisible(element.all(columnLocator).first());
let initialList = await element.all(columnLocator).getText();
return initialList.filter((el) => el);
}
getRowByRowNumber(rowNumber) {
Util.waitUntilElementIsVisible(element(by.css(`div[data-automation-id='text_` + rowNumber + `'] span`)));
return element(by.css(`div[data-automation-id='text_` + rowNumber + `'] span`));
}
getRowCheckbox(rowNumber) {
return this.getRowByRowNumber(rowNumber).element(by.xpath(`ancestor::div/div/mat-checkbox[contains(@class, 'mat-checkbox-checked')]`));
}
clickMultiSelect() {
Util.waitUntilElementIsVisible(this.multiSelect);
this.multiSelect.click();
}
clickReset() {
Util.waitUntilElementIsVisible(this.reset);
this.reset.click();
}
clickCheckbox(rowNumber) {
let checkbox = this.getRowByRowNumber(rowNumber).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]//mat-checkbox/label`));
Util.waitUntilElementIsVisible(checkbox);
checkbox.click();
}
clickCheckboxByName(rowName) {
let checkbox = this.getRowsName(rowName).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]//mat-checkbox/label`));
Util.waitUntilElementIsVisible(checkbox);
checkbox.click();
}
getRowCheckboxByName(rowName) {
return this.getRowsName(rowName).element(by.xpath(`ancestor::div/div/mat-checkbox[contains(@class, 'mat-checkbox-checked')]`));
}
checkRowIsNotCheckedByName(rowName) {
Util.waitUntilElementIsNotOnPage(this.getRowCheckboxByName(rowName));
}
checkRowIsCheckedByName(rowName) {
Util.waitUntilElementIsVisible(this.getRowCheckboxByName(rowName));
}
selectRow(rowNumber) {
return this.getRowByRowNumber(rowNumber).click();
}
selectRowWithKeyboard(rowNumber) {
let row = this.getRowByRowNumber(rowNumber);
browser.actions().sendKeys(protractor.Key.COMMAND).click(row).perform();
}
selectSelectionMode(selectionMode) {
let selectMode = element(by.cssContainingText(`span[class='mat-option-text']`, selectionMode));
this.selectionButton.click();
Util.waitUntilElementIsVisible(this.selectionDropDown);
selectMode.click();
}
selectRowByRowName(rowName) {
let row = element(by.cssContainingText(`[data-automation-id*="${rowName}"]`, rowName));
Util.waitUntilElementIsVisible(row);
Util.waitUntilElementIsClickable(row);
return row.click();
}
checkRowIsSelectedByName(rowName) {
let row = element(by.cssContainingText(`[data-automation-id*="${rowName}"]`, rowName));
let isRowSelected = row.element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsVisible(isRowSelected);
}
checkRowIsNotSelectedByName(rowName) {
let row = element(by.cssContainingText(`[data-automation-id*="${rowName}"]`, rowName));
let isRowSelected = row.element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsNotOnPage(isRowSelected);
}
selectRowByNameWithKeyboard(rowName) {
let row = element(by.cssContainingText(`[data-automation-id*="${rowName}"]`, rowName));
browser.actions().sendKeys(protractor.Key.COMMAND).click(row).perform();
}
checkRowIsSelected(rowNumber) {
let isRowSelected = this.getRowByRowNumber(rowNumber).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsVisible(isRowSelected);
}
checkRowIsNotSelected(rowNumber) {
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);
}
checkNoRowIsSelected() {
Util.waitUntilElementIsNotOnPage(this.selectedRowNumber);
}
checkAllRowsButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.selectAll);
Util.waitUntilElementIsVisible(this.selectAll);
return this;
}
checkAllRows() {
Util.waitUntilElementIsVisible(this.selectAll);
Util.waitUntilElementIsClickable(this.selectAll);
this.selectAll.click();
}
checkRowIsChecked(rowNumber) {
Util.waitUntilElementIsVisible(this.getRowCheckbox(rowNumber));
}
checkRowIsNotChecked(rowNumber) {
Util.waitUntilElementIsNotOnPage(this.getRowCheckbox(rowNumber));
}
addRow() {
Util.waitUntilElementIsVisible(this.addRowElement);
this.addRowElement.click();
}
getNumberOfRows() {
return this.list.count();
}
getNumberOfSelectedRows() {
return this.allSelectedRows.count();
}
replaceRows(id) {
let rowID = this.getRowByRowNumber(id);
Util.waitUntilElementIsVisible(rowID);
this.replaceRowsElement.click();
Util.waitUntilElementIsNotOnPage(rowID);
}
replaceColumns() {
Util.waitUntilElementIsVisible(this.replaceColumnsElement);
this.replaceColumnsElement.click();
Util.waitUntilElementIsNotOnPage(this.createdOnColumn);
}
getRowsName(content) {
let row = element(by.css(`div[data-automation-id*='` + content + `']`));
Util.waitUntilElementIsPresent(row);
return row;
}
doubleClickRow(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;
}
getRowByRowName(content) {
let rowByRowName = by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]`);
Util.waitUntilElementIsPresent(this.getRowsName(content).element(rowByRowName));
return this.getRowsName(content).element(rowByRowName);
}
waitForTableBody() {
Util.waitUntilElementIsVisible(this.tableBody);
}
insertFilter(filterText) {
let inputFilter = element(by.css(`#adf-datatable-filter-input`));
inputFilter.clear();
return inputFilter.sendKeys(filterText);
}
getNodeIdFirstElement() {
let firstNode = element.all(by.css('adf-datatable div[title="Node id"] span')).first();
return firstNode.getText();
}
sortByColumn(sortOrder, locator) {
Util.waitUntilElementIsVisible(element(locator));
return element(locator).getAttribute('class').then(function (result) {
if (sortOrder === true) {
if (!result.includes('sorted-asc')) {
if (result.includes('sorted-desc') || result.includes('sortable')) {
element(locator).click();
}
}
} else {
if (result.includes('sorted-asc')) {
element(locator).click();
} else if (result.includes('sortable')) {
element(locator).click();
element(locator).click();
}
}
return Promise.resolve();
});
}
checkContentIsDisplayed(content) {
let row = by.cssContainingText(`[data-automation-id*="${content}"]`, content);
Util.waitUntilElementIsVisible(this.tableBody.all(row).first());
return this;
}
checkContentIsNotDisplayed(content) {
let row = by.cssContainingText(`[data-automation-id*="${content}"]`, content);
Util.waitUntilElementIsNotOnPage(this.tableBody.all(row).first());
return this;
}
selectRowByContentName(content) {
let row = by.cssContainingText(`[data-automation-id*="${content}"]`, content);
Util.waitUntilElementIsVisible(this.tableBody.element(row));
this.tableBody.element(row).click();
return this;
}
contentInPosition(position) {
Util.waitUntilElementIsVisible(this.contents);
return this.contents.get(position - 1).getText();
}
checkSpinnerIsDisplayed() {
Util.waitUntilElementIsPresent(this.spinner);
return this;
}
checkSpinnerIsNotDisplayed() {
Util.waitUntilElementIsNotOnPage(this.spinner);
return this;
}
checkSpinnerIsNotDisplayed() {
Util.waitUntilElementIsNotOnPage(this.spinner);
}
checkRowIsDisplayedByName(filename) {
Util.waitUntilElementIsVisible(element.all(by.css(`div[filename="${filename}"]`)).first());
}
checkRowIsNotDisplayedByName(filename) {
Util.waitUntilElementIsNotOnPage(element.all(by.css(`div[filename="${filename}"]`)).first());
}
getNumberOfRowsDisplayedWithSameName(filename) {
Util.waitUntilElementIsVisible(element(by.css(`div[filename="${filename}"]`)));
return element.all(by.css(`div[title='Name'][filename="${filename}"]`)).count();
}
getNumberOfRowsDisplayedByName(filename) {
let rowLocator = by.cssContainingText(`[data-automation-id*="${filename}"]`, filename);
Util.waitUntilElementIsVisible(element(rowLocator));
return element.all(by.css(`div[title='Name'] div[data-automation-id*="${filename}"]`)).count();
}
checkColumnIsDisplayed(column) {
Util.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="auto_id_entry.${column}"]`)));
return this;
}
getNoOfColumns() {
return this.allColumns.count();
}
getCellByNameAndColumn(content, columnName) {
return this.getRowByRowName(content).element(by.css(`div[title='${columnName}']`));
}
}

View File

@@ -17,7 +17,7 @@
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { ContentListPage } from '../dialog/contentListPage'; import { DataTableComponentPage } from '../dataTableComponentPage';
import { NavigationBarPage } from '../navigationBarPage'; import { NavigationBarPage } from '../navigationBarPage';
let source = { let source = {
@@ -38,7 +38,7 @@ let column = {
export class CustomSources { export class CustomSources {
contentList = new ContentListPage(); dataTable = new DataTableComponentPage();
navigationBarPage = new NavigationBarPage(); navigationBarPage = new NavigationBarPage();
toolbar = element(by.css('app-custom-sources .adf-toolbar-title')); toolbar = element(by.css('app-custom-sources .adf-toolbar-title'));
@@ -67,13 +67,13 @@ export class CustomSources {
} }
checkRowIsDisplayed(rowName) { checkRowIsDisplayed(rowName) {
let row = this.contentList.getRowsName(rowName); return this.dataTable.checkContentIsDisplayed('Name', rowName);
Util.waitUntilElementIsVisible(row);
} }
getStatusCell(rowName) { getStatusCell(rowName) {
Util.waitUntilElementIsVisible(this.contentList.getCellByNameAndColumn(rowName, column.status)); let cell = this.dataTable.getCellByRowAndColumn('Name', rowName, column.status);
return this.contentList.getCellByNameAndColumn(rowName, column.status).getText(); Util.waitUntilElementIsVisible(cell);
return cell.getText();
} }
} }

View File

@@ -0,0 +1,127 @@
/*!
* @license
* Copyright 2019 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 { browser, by, element, protractor } from 'protractor';
import { DataTableComponentPage } from '../dataTableComponentPage';
import { Util } from '../../../util/util';
export class DataTablePage {
dataTable = new DataTableComponentPage();
multiSelect = element(by.css(`div[data-automation-id='multiselect'] label > div[class='mat-checkbox-inner-container']`));
reset = element(by.xpath(`//span[contains(text(),'Reset to default')]/..`));
selectionButton = element(by.css(`div[class='mat-select-arrow']`));
selectionDropDown = element(by.css(`div[class*='ng-trigger-transformPanel']`));
allSelectedRows = element.all(by.css(`div[class*='is-selected']`));
selectedRowNumber = element(by.css(`div[class*='is-selected'] div[data-automation-id*='text_']`));
selectAll = element(by.css(`div[class*='header'] label`));
addRowElement = element(by.xpath(`//span[contains(text(),'Add row')]/..`));
replaceRowsElement = element(by.xpath(`//span[contains(text(),'Replace rows')]/..`));
replaceColumnsElement = element(by.xpath(`//span[contains(text(),'Replace columns')]/..`));
createdOnColumn = element(by.css(`div[data-automation-id='auto_id_createdOn']`));
insertFilter(filterText) {
let inputFilter = element(by.css(`#adf-datatable-filter-input`));
inputFilter.clear();
return inputFilter.sendKeys(filterText);
}
addRow() {
Util.waitUntilElementIsVisible(this.addRowElement);
this.addRowElement.click();
}
replaceRows(id) {
let rowID = this.dataTable.getRow('Id', id);
Util.waitUntilElementIsVisible(rowID);
this.replaceRowsElement.click();
Util.waitUntilElementIsNotVisible(rowID);
}
replaceColumns() {
Util.waitUntilElementIsVisible(this.replaceColumnsElement);
this.replaceColumnsElement.click();
Util.waitUntilElementIsNotOnPage(this.createdOnColumn);
}
clickMultiSelect() {
Util.waitUntilElementIsVisible(this.multiSelect);
this.multiSelect.click();
}
clickReset() {
Util.waitUntilElementIsVisible(this.reset);
this.reset.click();
}
checkRowIsNotSelected(rowNumber) {
let isRowSelected = this.dataTable.getRow('Id', rowNumber)
.element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row custom-row-style ng-star-inserted is-selected')]`));
Util.waitUntilElementIsNotOnPage(isRowSelected);
}
checkNoRowIsSelected() {
Util.waitUntilElementIsNotOnPage(this.selectedRowNumber);
}
checkAllRows() {
Util.waitUntilElementIsVisible(this.selectAll);
this.selectAll.click();
}
checkRowIsChecked(rowNumber) {
Util.waitUntilElementIsVisible(this.getRowCheckbox(rowNumber));
}
checkRowIsNotChecked(rowNumber) {
Util.waitUntilElementIsNotOnPage(this.getRowCheckbox(rowNumber));
}
getNumberOfSelectedRows() {
return this.allSelectedRows.count();
}
clickCheckbox(rowNumber) {
let checkbox = this.dataTable.getRow('Id', rowNumber).element(by.xpath(`ancestor::div[contains(@class, 'adf-datatable-row')]//mat-checkbox/label`));
Util.waitUntilElementIsVisible(checkbox);
checkbox.click();
}
selectRow(rowNumber) {
let locator = this.dataTable.getRow('Id', rowNumber);
Util.waitUntilElementIsVisible(locator);
Util.waitUntilElementIsClickable(locator);
locator.click();
return this;
}
selectRowWithKeyboard(rowNumber) {
let row = this.dataTable.getRow('Id', rowNumber);
browser.actions().sendKeys(protractor.Key.COMMAND).click(row).perform();
}
selectSelectionMode(selectionMode) {
let selectMode = element(by.cssContainingText(`span[class='mat-option-text']`, selectionMode));
this.selectionButton.click();
Util.waitUntilElementIsVisible(this.selectionDropDown);
selectMode.click();
}
getRowCheckbox(rowNumber) {
return this.dataTable.getRow('Id', rowNumber).element(by.xpath(`ancestor::div/div/mat-checkbox[contains(@class, 'mat-checkbox-checked')]`));
}
}

View File

@@ -16,7 +16,7 @@
*/ */
import { Util } from '../../../../util/util'; import { Util } from '../../../../util/util';
import { DataTablePage } from '../../dataTablePage'; import { DataTableComponentPage } from '../../dataTableComponentPage';
import { element, by, protractor } from 'protractor'; import { element, by, protractor } from 'protractor';
export class ProcessListDemoPage { export class ProcessListDemoPage {
@@ -29,10 +29,10 @@ export class ProcessListDemoPage {
stateSelector = element(by.css('mat-select[data-automation-id="state"')); stateSelector = element(by.css('mat-select[data-automation-id="state"'));
sortSelector = element(by.css('mat-select[data-automation-id="sort"')); sortSelector = element(by.css('mat-select[data-automation-id="sort"'));
dataTable = new DataTablePage(); dataTable = new DataTableComponentPage();
getDisplayedProcessesNames() { getDisplayedProcessesNames() {
return this.dataTable.getAllRowsNameColumn(); return this.dataTable.getAllRowsColumnValues('Name');
} }
selectSorting(sort) { selectSorting(sort) {
@@ -76,11 +76,11 @@ export class ProcessListDemoPage {
} }
checkProcessIsNotDisplayed(processName) { checkProcessIsNotDisplayed(processName) {
return this.dataTable.checkRowIsNotDisplayedByName(processName); return this.dataTable.checkContentIsNotDisplayed('Name', processName);
} }
checkProcessIsDisplayed(processName) { checkProcessIsDisplayed(processName) {
return this.dataTable.checkRowIsDisplayedByName(processName); return this.dataTable.checkContentIsDisplayed('Name', processName);
} }
checkAppIdFieldIsDisplayed() { checkAppIdFieldIsDisplayed() {

View File

@@ -1,465 +0,0 @@
/*!
* @license
* Copyright 2019 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 { ElementFinder, browser, by, element, protractor } from 'protractor';
import { DataTablePage } from '../dataTablePage';
import { Util } from '../../../util/util';
export class ContentListPage {
rootElement: ElementFinder;
dataTable = new DataTablePage();
deleteContentElement = element(by.css('button[data-automation-id*="DELETE"]'));
metadataAction = element(by.css('button[data-automation-id*="METADATA"]'));
versionManagerAction = element(by.css('button[data-automation-id*="VERSIONS"]'));
moveContentElement = element(by.css('button[data-automation-id*="MOVE"]'));
copyContentElement = element(by.css('button[data-automation-id*="COPY"]'));
lockContentElement = element(by.css('button[data-automation-id="DOCUMENT_LIST.ACTIONS.LOCK"]'));
downloadContent = element(by.css('button[data-automation-id*="DOWNLOAD"]'));
actionMenu = element(by.css('div[role="menu"]'));
optionButton = by.css('button[data-automation-id*="action_menu_"]');
rowByRowName = by.xpath('ancestor::div[contains(@class, "adf-datatable-row")]');
nameColumn = by.css('div[class*="datatable-body"] div[class*="adf-datatable-cell"][title="Display name"]');
nameColumnHeader = by.css('div[data-automation-id="auto_id_name"]');
createdByColumn = by.css('div[class*="--text"][title="Created by"] span');
sizeColumn = by.css('div[id*="document-list-container"] div[class*="adf-datatable-row"] .adf-filesize-cell');
createdByColumnHeader = by.css('div[data-automation-id*="auto_id_createdByUser"]');
createdColumn = by.css('div[class*="--date"] span');
createdColumnHeader = by.css('div[data-automation-id*="auto_id_createdAt"]');
rows = by.css('div[id="document-list-container"] div[class*="adf-datatable-body"] div[class*="adf-datatable-row"]');
emptyFolderMessage = element(by.css('div[class="adf-empty-folder-this-space-is-empty"]'));
table = element.all(by.css('adf-datatable')).first();
tableBody = element.all(by.css('adf-document-list div[class="adf-datatable-body"]')).first();
constructor(rootElement: ElementFinder = element(by.css('adf-document-list'))) {
this.rootElement = rootElement;
}
getFileHyperlink(fileName) {
return this.dataTable.getFileHyperlink(fileName);
}
getColumnLocator(column) {
return by.css(`div[id*='document-list-container'] div[class*='adf-datatable-row'] div[title='${column}'] span`);
}
getTooltip(nodeName) {
return this.getRowByRowName(nodeName).element(by.css(`adf-document-list span[title="${nodeName}"]`)).getAttribute('title');
}
getRowsName(content) {
let row = element.all(by.css(`adf-document-list span[title='${content}']`)).first();
Util.waitUntilElementIsVisible(row);
return row;
}
getRowsNameWithRoot(content) {
let row = this.rootElement.all(by.css(`adf-datatable span[title='${content}']`)).first();
Util.waitUntilElementIsVisible(row);
return row;
}
getRowByRowName(content) {
Util.waitUntilElementIsVisible(this.getRowsName(content).element(this.rowByRowName));
return this.getRowsName(content).element(this.rowByRowName);
}
getRowByRowNameWithRoot(content) {
Util.waitUntilElementIsVisible(this.getRowsNameWithRoot(content).element(this.rowByRowName));
return this.getRowsNameWithRoot(content).element(this.rowByRowName);
}
getCellByNameAndColumn(content, columnName) {
return this.getRowByRowName(content).element(by.css(`div[title='${columnName}']`));
}
getAllDisplayedRows() {
return element.all(this.rows).count();
}
getAllRowsNameColumn() {
return this.getAllRowsColumnValues(this.nameColumn);
}
getAllRowsColumnValues(locator) {
let deferred = protractor.promise.defer();
Util.waitUntilElementIsVisible(element.all(locator).first());
let initialList = [];
element.all(locator).each(function (currentElement) {
currentElement.getText().then(function (text) {
if (text !== '') {
initialList.push(text);
}
});
}).then(function () {
deferred.fulfill(initialList);
});
return deferred.promise;
}
deleteContent(content) {
this.clickOnActionMenu(content);
this.waitForContentOptions();
this.deleteContentElement.click();
}
deleteContentWithRoot(content) {
this.clickOnActionMenuWithRoot(content);
this.waitForContentOptions();
this.deleteContentElement.click();
}
checkDeleteIsDisabled(content) {
this.clickOnActionMenu(content);
this.waitForContentOptions();
let disabledDelete = element(by.css(`button[data-automation-id*='DELETE'][disabled='true']`));
Util.waitUntilElementIsVisible(disabledDelete);
}
metadataContent(content) {
this.clickOnActionMenu(content);
this.waitForContentOptions();
this.metadataAction.click();
}
versionManagerContent(content) {
this.clickOnActionMenu(content);
this.waitForContentOptions();
this.versionManagerAction.click();
}
moveContent(content) {
this.clickOnActionMenu(content);
this.moveContentElement.click();
}
copyContent(content) {
this.clickOnActionMenu(content);
this.copyContentElement.click();
}
lockContent(content) {
this.clickOnActionMenuWithRoot(content);
this.lockContentElement.click();
}
waitForContentOptions() {
Util.waitUntilElementIsVisible(this.copyContentElement);
Util.waitUntilElementIsVisible(this.moveContentElement);
Util.waitUntilElementIsVisible(this.deleteContentElement);
Util.waitUntilElementIsVisible(this.downloadContent);
}
clickOnActionMenu(content) {
this.getRowByRowName(content).element(this.optionButton).click();
Util.waitUntilElementIsVisible(this.actionMenu);
browser.sleep(500);
return this;
}
clickOnActionMenuWithRoot(content) {
this.getRowByRowNameWithRoot(content).element(this.optionButton).click();
Util.waitUntilElementIsVisible(this.actionMenu);
browser.sleep(500);
return this;
}
sortByColumn(sortOrder, locator) {
Util.waitUntilElementIsVisible(element(locator));
return element(locator).getAttribute('class').then(function (result) {
if (sortOrder === true) {
if (!result.includes('sorted-asc')) {
if (result.includes('sorted-desc') || result.includes('sortable')) {
element(locator).click();
}
}
} else {
if (result.includes('sorted-asc')) {
element(locator).click();
} else if (result.includes('sortable')) {
element(locator).click();
element(locator).click();
}
}
return Promise.resolve();
});
}
/**
* Sort the list by name column.
*
* @param sortOrder: 'true' to sort the list ascendant and 'false' for descendant
*/
sortByName(sortOrder) {
this.sortByColumn(sortOrder, this.nameColumnHeader);
}
/**
* Sort the list by author column.
*
* @param sortOrder: 'true' to sort the list ascendant and 'false' for descendant
*/
sortByAuthor(sortOrder) {
this.sortByColumn(sortOrder, this.createdByColumnHeader);
}
/**
* Sort the list by created column.
*
* @param sortOrder: 'true' to sort the list ascendant and 'false' for descendant
*/
sortByCreated(sortOrder) {
this.sortByColumn(sortOrder, this.createdColumnHeader);
}
/**
* Check the list is sorted by name column.
*
* @param sortOrder: 'true' if the list is expected to be sorted ascendant and 'false' for descendant
* @return sorted : 'true' if the list is sorted as expected and 'false' if it isn't
*/
checkListIsOrderedByNameColumn(sortOrder) {
let deferred = protractor.promise.defer();
deferred.fulfill(this.checkListIsSorted(sortOrder, this.nameColumn));
return deferred.promise;
}
/**
* Check the list is sorted by author column.
*
* @param sortOrder: 'true' if the list is expected to be sorted ascendant and 'false' for descendant
* @return sorted : 'true' if the list is sorted as expected and 'false' if it isn't
*/
checkListIsOrderedByAuthorColumn(sortOrder) {
let deferred = protractor.promise.defer();
deferred.fulfill(this.checkListIsSorted(sortOrder, this.createdByColumn));
return deferred.promise;
}
checkListIsOrderedBySizeColumn(sortOrder) {
let deferred = protractor.promise.defer();
deferred.fulfill(this.checkListIsSorted(sortOrder, this.sizeColumn));
return deferred.promise;
}
/**
* Check the list is sorted by created column.
*
* @param sortOrder: 'true' if the list is expected to be sorted ascendant and 'false' for descendant
* @return sorted : 'true' if the list is sorted as expected and 'false' if it isn't
*/
checkListIsOrderedByCreatedColumn(sortOrder) {
let deferred = protractor.promise.defer();
let lastValue;
let sorted = true;
element.all(this.createdColumn).map(function (currentElement) {
return currentElement.getText();
}).then(function (texts) {
texts.forEach(function (text) {
if (lastValue !== undefined) {
let currentDate = new Date(text);
let lastDate = new Date(lastValue);
if (sortOrder === true && currentDate.getTime() < lastDate.getTime()) {
sorted = false;
}
if (sortOrder === false && currentDate.getTime() > lastDate.getTime()) {
sorted = false;
}
}
lastValue = text;
});
deferred.fulfill(sorted);
});
return deferred.promise;
}
/**
* Check the list is sorted.
*
* @param sortOrder: 'true' if the list is expected to be sorted ascendant and 'false' for descendant
* @param locator: locator for column
* @return 'true' if the list is sorted as expected and 'false' if it isn't
*/
checkListIsSorted(sortOrder, locator) {
let deferred = protractor.promise.defer();
Util.waitUntilElementIsVisible(element.all(locator).first());
let initialList = [];
element.all(locator).each(function (currentElement) {
currentElement.getText().then(function (text) {
initialList.push(text);
});
}).then(function () {
let sortedList = initialList;
sortedList = sortedList.sort();
if (sortOrder === false) {
sortedList = sortedList.reverse();
}
deferred.fulfill(initialList.toString() === sortedList.toString());
});
return deferred.promise;
}
navigateToFolder(folder) {
let row = this.getRowsName(folder);
Util.waitUntilElementIsVisible(row);
Util.waitUntilElementIsOnPage(row);
row.click();
this.checkRowIsSelected(folder);
browser.actions().sendKeys(protractor.Key.ENTER).perform();
return this;
}
doubleClickRow(selectRow) {
let row = this.getRowsName(selectRow);
Util.waitUntilElementIsVisible(row);
Util.waitUntilElementIsClickable(row);
row.click();
Util.waitUntilElementIsVisible(this.getRowByRowName(selectRow).element(by.css(`div[class*='--image'] mat-icon[svgicon*='selected']`)));
browser.actions().sendKeys(protractor.Key.ENTER).perform();
return this;
}
doubleClickEntireRow(selectRow) {
let row = this.getRowByRowName(selectRow);
Util.waitUntilElementIsVisible(row);
Util.waitUntilElementIsClickable(row);
row.click();
Util.waitUntilElementIsVisible(this.getRowByRowName(selectRow).element(by.css(`div[class*='--image'] mat-icon[svgicon*='selected']`)));
browser.actions().sendKeys(protractor.Key.ENTER).perform();
return this;
}
checkRowIsSelected(content) {
let isRowSelected = this.getRowsName(content).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsVisible(isRowSelected);
}
checkRowIsSelectedWithRoot(content) {
let isRowSelected = this.getRowsNameWithRoot(content).element(by.xpath(`ancestor::div[contains(@class, 'is-selected')]`));
Util.waitUntilElementIsVisible(isRowSelected);
}
checkContentIsDisplayed(content) {
Util.waitUntilElementIsVisible(this.getRowByRowName(content));
return this;
}
getNodeIdByFilename(filename) {
let nodeIdColumn = element.all(by.xpath(`//div[@id='document-list-container']//div[@filename='${filename}' and @title='Node id']`));
return nodeIdColumn.getText();
}
async getAllNodeIdInList() {
let nodeIdColumns = await element.all(by.xpath(`//div[@id='document-list-container']//div[@title='Node id']`));
return await nodeIdColumns.map(async (currentElement) => {
return await currentElement.getText().then((nodeText) => {
return nodeText;
});
});
}
checkEmptyFolderMessageIsDisplayed() {
Util.waitUntilElementIsVisible(this.emptyFolderMessage);
return this;
}
checkContextActionIsVisible(actionName) {
let actionButton = element(by.css(`button[data-automation-id="context-${actionName}"`));
Util.waitUntilElementIsVisible(actionButton);
Util.waitUntilElementIsClickable(actionButton);
return actionButton;
}
pressContextMenuActionNamed(actionName) {
let actionButton = this.checkContextActionIsVisible(actionName);
actionButton.click();
}
clickRowToSelect(rowName) {
let row = this.getRowByRowName(rowName);
browser.actions().keyDown(protractor.Key.COMMAND).click(row).perform();
this.checkRowIsSelected(rowName);
return this;
}
clickRowToSelectWithRoot(rowName) {
let row = this.getRowByRowNameWithRoot(rowName);
browser.actions().keyDown(protractor.Key.COMMAND).click(row).perform();
this.checkRowIsSelectedWithRoot(rowName);
return this;
}
checkLockedIcon(content) {
let lockIcon = element(by.cssContainingText('div[filename="' + content + '"] mat-icon', 'lock'));
Util.waitUntilElementIsVisible(lockIcon);
return this;
}
checkUnlockedIcon(content) {
let lockIcon = element(by.cssContainingText('div[filename="' + content + '"] mat-icon', 'lock_open'));
Util.waitUntilElementIsVisible(lockIcon);
return this;
}
waitForTableBody() {
Util.waitUntilElementIsVisible(this.tableBody);
}
checkContentIsNotDisplayed(filename) {
Util.waitUntilElementIsNotVisible(element.all(by.css(`#document-list-container span[title='${filename}']`)).first());
return this;
}
tableIsLoaded() {
Util.waitUntilElementIsVisible(this.table);
return this;
}
checkIconColumn(file, extension) {
let row = this.getRowByRowName(file);
Util.waitUntilElementIsVisible(row.element(by.css(`div[class*='--image'] img[alt*="${extension}"]`)));
}
rightClickOnRowNamed(rowName) {
let row = this.getRowByRowName(rowName);
browser.actions().click(row, protractor.Button.RIGHT).perform();
Util.waitUntilElementIsVisible(element(by.id('adf-context-menu-content')));
}
clickMenuActionNamed(actionName) {
let actionButton = this.checkMenuActionIsVisible(actionName);
actionButton.click();
}
checkMenuActionIsVisible(actionName) {
let actionButton = element(by.css(`button[data-automation-id='DOCUMENT_LIST.ACTIONS.${actionName}']`));
Util.waitUntilElementIsVisible(actionButton);
Util.waitUntilElementIsClickable(actionButton);
return actionButton;
}
clickRowMenuActionsButton(rowName) {
let row = this.getRowByRowName(rowName);
Util.waitUntilElementIsVisible(row.element(by.css('.adf-datatable__actions-cell button')));
row.element(by.css('.adf-datatable__actions-cell button')).click();
}
}

View File

@@ -27,7 +27,6 @@ export class UploadDialog {
cancelledStatusIcon = by.css('div[class*="status--cancelled"]'); cancelledStatusIcon = by.css('div[class*="status--cancelled"]');
errorStatusIcon = by.css('div[class*="status--error"] mat-icon'); errorStatusIcon = by.css('div[class*="status--error"] mat-icon');
errorTooltip = element(by.css('div.mat-tooltip')); errorTooltip = element(by.css('div.mat-tooltip'));
cancelWhileUploadingIcon = by.css('mat-icon[class*="adf-file-uploading-row__action adf-file-uploading-row__action--cancel"]');
rowByRowName = by.xpath('ancestor::adf-file-uploading-list-row'); rowByRowName = by.xpath('ancestor::adf-file-uploading-list-row');
title = element(by.css('span[class*="upload-dialog__title"]')); title = element(by.css('span[class*="upload-dialog__title"]'));
minimizeButton = element(by.css('mat-icon[title="Minimize"]')); minimizeButton = element(by.css('mat-icon[title="Minimize"]'));

View File

@@ -29,8 +29,8 @@ export class FilePreviewPage {
} }
viewFile(fileName) { viewFile(fileName) {
Util.waitUntilElementIsVisible(element(by.cssContainingText(`div[data-automation-id="${filename}"]`, fileName))); Util.waitUntilElementIsVisible(element(by.cssContainingText(`div[data-automation-id="${fileName}"]`, fileName)));
browser.actions().doubleClick(element(by.cssContainingText(`div[data-automation-id="${filename}"]`, fileName))).perform(); browser.actions().doubleClick(element(by.cssContainingText(`div[data-automation-id="${fileName}"]`, fileName))).perform();
this.waitForElements(); this.waitForElements();
} }

View File

@@ -34,8 +34,6 @@ export class NavigationBarPage {
trashcanButton = element(by.css('a[data-automation-id="Trashcan"]')); trashcanButton = element(by.css('a[data-automation-id="Trashcan"]'));
overlayViewerButton = element(by.css('a[data-automation-id="Overlay Viewer"]')); overlayViewerButton = element(by.css('a[data-automation-id="Overlay Viewer"]'));
userProfileButton = element(by.css('button[data-automation-id="adf-user-profile"]')); userProfileButton = element(by.css('button[data-automation-id="adf-user-profile"]'));
themeButton = element(by.css('button[data-automation-id="theme menu"]'));
themeMenuContent = element(by.css('div[class*="mat-menu-panel"]'));
logoutButton = element(by.css('a[adf-logout]')); logoutButton = element(by.css('a[adf-logout]'));
cardViewButton = element(by.cssContainingText('.adf-sidenav-menu-label', 'CardView')); cardViewButton = element(by.cssContainingText('.adf-sidenav-menu-label', 'CardView'));
languageMenuButton = element(by.css('button[data-automation-id="language-menu-button"]')); languageMenuButton = element(by.css('button[data-automation-id="language-menu-button"]'));
@@ -115,19 +113,6 @@ export class NavigationBarPage {
this.userProfileButton.click(); this.userProfileButton.click();
} }
clickThemeButton() {
Util.waitUntilElementIsVisible(this.themeButton);
this.themeButton.click();
Util.waitUntilElementIsVisible(this.themeMenuContent);
}
clickOnSpecificThemeButton(themeName) {
let themeElement = element(by.css(`button[data-automation-id="${themeName}"]`));
Util.waitUntilElementIsVisible(themeElement);
Util.waitUntilElementIsClickable(themeElement);
themeElement.click();
}
clickLogoutButton() { clickLogoutButton() {
Util.waitUntilElementIsVisible(this.logoutButton); Util.waitUntilElementIsVisible(this.logoutButton);
this.logoutButton.click(); this.logoutButton.click();
@@ -203,11 +188,6 @@ export class NavigationBarPage {
Util.waitUntilElementIsVisible(logoTooltip); Util.waitUntilElementIsVisible(logoTooltip);
} }
openViewer(nodeId) {
browser.get(TestConfig.adf.url + `/files(overlay:files/${nodeId}/view`);
return this;
}
goToSite(site) { goToSite(site) {
browser.get(TestConfig.adf.url + `/files/${site.entry.guid}/display/list`); browser.get(TestConfig.adf.url + `/files/${site.entry.guid}/display/list`);
} }

View File

@@ -41,10 +41,8 @@ export class PaginationPage {
Util.waitUntilElementIsClickable(this.itemsPerPageDropdown); Util.waitUntilElementIsClickable(this.itemsPerPageDropdown);
browser.actions().mouseMove(this.itemsPerPageDropdown).perform(); browser.actions().mouseMove(this.itemsPerPageDropdown).perform();
Util.waitUntilElementIsVisible(this.itemsPerPageDropdown); Util.waitUntilElementIsVisible(this.itemsPerPageDropdown);
Util.waitUntilElementIsClickable(this.itemsPerPageDropdown).then(() => { Util.waitUntilElementIsClickable(this.itemsPerPageDropdown);
browser.driver.sleep(2000); this.itemsPerPageDropdown.click();
this.itemsPerPageDropdown.click();
});
Util.waitUntilElementIsVisible(this.pageSelectorDropDown); Util.waitUntilElementIsVisible(this.pageSelectorDropDown);
let itemsPerPage = element.all(by.cssContainingText('.mat-menu-item', numberOfItem)).first(); let itemsPerPage = element.all(by.cssContainingText('.mat-menu-item', numberOfItem)).first();
@@ -93,9 +91,7 @@ export class PaginationPage {
Util.waitUntilElementIsClickable(this.nextPageButton); Util.waitUntilElementIsClickable(this.nextPageButton);
browser.actions().mouseMove(this.nextPageButton).perform(); browser.actions().mouseMove(this.nextPageButton).perform();
Util.waitUntilElementIsVisible(this.nextPageButton); Util.waitUntilElementIsVisible(this.nextPageButton);
Util.waitUntilElementIsClickable(this.nextPageButton).then(() => { Util.waitUntilElementIsClickable(this.nextPageButton);
browser.driver.sleep(2000);
});
return this.nextPageButton.click(); return this.nextPageButton.click();
} }

View File

@@ -18,7 +18,7 @@
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import { DataTablePage } from './dataTablePage'; import { DataTableComponentPage } from './dataTableComponentPage';
let column = { let column = {
role: 'Role' role: 'Role'
@@ -39,6 +39,12 @@ export class PermissionsPage {
assignPermissionError = element(by.css('simple-snack-bar')); assignPermissionError = element(by.css('simple-snack-bar'));
deletePermissionButton = element(by.css(`button[data-automation-id='adf-delete-permission-button']`)); deletePermissionButton = element(by.css(`button[data-automation-id='adf-delete-permission-button']`));
permissionDisplayContainer = element(by.css(`div[id='adf-permission-display-container']`)); permissionDisplayContainer = element(by.css(`div[id='adf-permission-display-container']`));
closeButton = element(by.id('add-permission-dialog-close-button'));
clickCloseButton() {
Util.waitUntilElementIsClickable(this.closeButton);
this.closeButton.click();
}
checkAddPermissionButtonIsDisplayed() { checkAddPermissionButtonIsDisplayed() {
Util.waitUntilElementIsVisible(this.addPermissionButton); Util.waitUntilElementIsVisible(this.addPermissionButton);
@@ -108,11 +114,11 @@ export class PermissionsPage {
} }
checkPermissionsDatatableIsDisplayed() { checkPermissionsDatatableIsDisplayed() {
return new DataTablePage(element(by.css('[class*="adf-datatable-permission"]'))); return new DataTableComponentPage(element(by.css('[class*="adf-datatable-permission"]')));
} }
getRoleCellValue(rowName) { getRoleCellValue(rowName) {
let locator = new DataTablePage().getCellByNameAndColumn(rowName, column.role); let locator = new DataTableComponentPage().getCellByRowAndColumn('Authority ID', rowName, column.role);
Util.waitUntilElementIsVisible(locator); Util.waitUntilElementIsVisible(locator);
return locator.getText(); return locator.getText();
} }

View File

@@ -21,8 +21,7 @@ import { EditProcessFilterDialog } from '../dialog/editProcessFilterDialog';
export class EditProcessFilterCloudComponent { export class EditProcessFilterCloudComponent {
customiseFilter = element(by.id('adf-edit-process-filter-title-id')); customiseFilter = element(by.id('adf-edit-process-filter-title-id'));
selectedOption = element(by.css('mat-option[class*="mat-selected"]')); selectedOption = element.all(by.css('mat-option[class*="mat-selected"]')).first();
saveButton = element(by.css('button[id="adf-save-id"]')); saveButton = element(by.css('button[id="adf-save-id"]'));
saveAsButton = element(by.css('button[id="adf-save-as-id"]')); saveAsButton = element(by.css('button[id="adf-save-as-id"]'));
deleteButton = element(by.css('button[id="adf-delete-id"]')); deleteButton = element(by.css('button[id="adf-delete-id"]'));

View File

@@ -22,7 +22,7 @@ import { EditTaskFilterDialog } from '../dialog/editTaskFilterDialog';
export class EditTaskFilterCloudComponent { export class EditTaskFilterCloudComponent {
customiseFilter = element(by.id('adf-edit-task-filter-title-id')); customiseFilter = element(by.id('adf-edit-task-filter-title-id'));
selectedOption = element(by.css('mat-option[class*="mat-selected"]')); selectedOption = element.all(by.css('mat-option[class*="mat-selected"]')).first();
assignment = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-assignment"]')); assignment = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-assignment"]'));
priority = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-priority"]')); priority = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-priority"]'));
taskName = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-taskName"]')); taskName = element(by.css('input[data-automation-id="adf-cloud-edit-task-property-taskName"]'));
@@ -52,8 +52,8 @@ export class EditTaskFilterCloudComponent {
this.clickOnDropDownArrow('state'); this.clickOnDropDownArrow('state');
let stateElement = element.all(by.cssContainingText('mat-option span', option)).first(); let stateElement = element.all(by.cssContainingText('mat-option span', option)).first();
Util.waitUntilElementIsClickable(stateElement);
Util.waitUntilElementIsVisible(stateElement); Util.waitUntilElementIsVisible(stateElement);
Util.waitUntilElementIsClickable(stateElement);
stateElement.click(); stateElement.click();
return this; return this;
} }
@@ -223,7 +223,7 @@ export class EditTaskFilterCloudComponent {
} }
getAppNameDropDownValue() { getAppNameDropDownValue() {
let locator = element(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-appName'] span")); let locator = element.all(by.css("mat-select[data-automation-id='adf-cloud-edit-task-property-appName'] span")).first();
Util.waitUntilElementIsVisible(locator); Util.waitUntilElementIsVisible(locator);
return locator.getText(); return locator.getText();
} }

View File

@@ -16,7 +16,7 @@
*/ */
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { DataTablePage } from '../dataTablePage'; import { DataTableComponentPage } from '../dataTableComponentPage';
import { element, by } from 'protractor'; import { element, by } from 'protractor';
export class ProcessListCloudComponent { export class ProcessListCloudComponent {
@@ -24,12 +24,28 @@ export class ProcessListCloudComponent {
processList = element(by.css('adf-cloud-process-list')); processList = element(by.css('adf-cloud-process-list'));
noProcessFound = element.all(by.css("p[class='adf-empty-content__title']")).first(); noProcessFound = element.all(by.css("p[class='adf-empty-content__title']")).first();
dataTable = new DataTablePage(this.processList); dataTable = new DataTableComponentPage(this.processList);
getDataTable() { getDataTable() {
return this.dataTable; return this.dataTable;
} }
checkContentIsDisplayedByName(processName) {
return this.dataTable.checkContentIsDisplayed('Name', processName);
}
checkContentIsDisplayedById(processId) {
return this.dataTable.checkContentIsDisplayed('Id', processId);
}
checkContentIsNotDisplayedById(processId) {
return this.dataTable.checkContentIsNotDisplayed('Id', processId);
}
getAllRowsNameColumn() {
return this.dataTable.getAllRowsColumnValues('Name');
}
checkProcessListIsLoaded() { checkProcessListIsLoaded() {
Util.waitUntilElementIsVisible(this.processList); Util.waitUntilElementIsVisible(this.processList);
return this; return this;

View File

@@ -27,6 +27,12 @@ export class StartTasksCloudComponent {
startButton = element(by.css('button[id="button-start"]')); startButton = element(by.css('button[id="button-start"]'));
startButtonEnabled = element(by.css('button[id="button-start"]:not(disabled)')); startButtonEnabled = element(by.css('button[id="button-start"]:not(disabled)'));
cancelButton = element(by.css('button[id="button-cancel"]')); cancelButton = element(by.css('button[id="button-cancel"]'));
form = element(by.css('adf-cloud-start-task form'));
checkFormIsDisplayed() {
Util.waitUntilElementIsVisible(this.form);
return this;
}
addName(userName) { addName(userName) {
Util.waitUntilElementIsVisible(this.name); Util.waitUntilElementIsVisible(this.name);

View File

@@ -16,7 +16,7 @@
*/ */
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { DataTablePage } from '../dataTablePage'; import { DataTableComponentPage } from '../dataTableComponentPage';
import { element, by } from 'protractor'; import { element, by } from 'protractor';
let column = { let column = {
@@ -28,12 +28,64 @@ export class TaskListCloudComponent {
taskList = element(by.css('adf-cloud-task-list')); taskList = element(by.css('adf-cloud-task-list'));
noTasksFound = element.all(by.css("p[class='adf-empty-content__title']")).first(); noTasksFound = element.all(by.css("p[class='adf-empty-content__title']")).first();
dataTable = new DataTablePage(this.taskList); dataTable = new DataTableComponentPage(this.taskList);
getDataTable() { getDataTable() {
return this.dataTable; return this.dataTable;
} }
clickCheckbox(taskName) {
return this.dataTable.clickCheckbox('Name', taskName);
}
checkRowIsNotChecked(taskName) {
return this.dataTable.checkRowIsNotChecked('Name', taskName);
}
checkRowIsChecked(taskName) {
return this.dataTable.checkRowIsChecked('Name', taskName);
}
getRowsWithSameName(taskName) {
return this.dataTable.getRowsWithSameColumnValues('Name', taskName);
}
checkRowIsSelected(taskName) {
return this.dataTable.checkRowIsSelected('Name', taskName);
}
checkRowIsNotSelected(taskName) {
return this.dataTable.checkRowIsNotSelected('Name', taskName);
}
selectRowWithKeyboard(taskName) {
return this.dataTable.selectRowWithKeyboard('Name', taskName);
}
selectRow(taskName) {
return this.dataTable.selectRow('Name', taskName);
}
getRow(taskName) {
return this.dataTable.getRow('Name', taskName);
}
checkContentIsDisplayedByProcessInstanceId(taskName) {
return this.dataTable.checkContentIsDisplayed('ProcessInstanceId', taskName);
}
checkContentIsDisplayedById(taskName) {
return this.dataTable.checkContentIsDisplayed('Id', taskName);
}
checkContentIsDisplayedByName(taskName) {
return this.dataTable.checkContentIsDisplayed('Name', taskName);
}
checkContentIsNotDisplayedByName(taskName) {
return this.dataTable.checkContentIsNotDisplayed('Name', taskName);
}
checkTaskListIsLoaded() { checkTaskListIsLoaded() {
Util.waitUntilElementIsVisible(this.taskList); Util.waitUntilElementIsVisible(this.taskList);
return this; return this;
@@ -44,12 +96,16 @@ export class TaskListCloudComponent {
return this.noTasksFound.getText(); return this.noTasksFound.getText();
} }
getAllRowsNameColumn() {
return this.dataTable.getAllRowsColumnValues('Name');
}
getAllRowsByColumn(columnName) { getAllRowsByColumn(columnName) {
return this.dataTable.getAllRowsColumnValues(columnName); return this.dataTable.getAllRowsColumnValues(columnName);
} }
getIdCellValue(rowName) { getIdCellValue(rowName) {
let locator = new DataTablePage().getCellByNameAndColumn(rowName, column.id); let locator = new DataTableComponentPage().getCellByRowAndColumn('Name', rowName, column.id);
Util.waitUntilElementIsVisible(locator); Util.waitUntilElementIsVisible(locator);
return locator.getText(); return locator.getText();
} }

View File

@@ -16,7 +16,7 @@
*/ */
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { element, by } from 'protractor'; import { element, by, browser } from 'protractor';
export class AppNavigationBarPage { export class AppNavigationBarPage {

View File

@@ -26,7 +26,8 @@ export class ChecklistDialog {
dialogTitle = element(by.id('add-checklist-title')); dialogTitle = element(by.id('add-checklist-title'));
addName(name) { addName(name) {
Util.waitUntilElementIsVisible(this.nameField); Util.waitUntilElementIsClickable(this.nameField);
this.nameField.clear();
this.nameField.sendKeys(name); this.nameField.sendKeys(name);
return this; return this;
} }

View File

@@ -17,13 +17,12 @@
import { by, element } from 'protractor'; import { by, element } from 'protractor';
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { ContentListPage } from '../dialog/contentListPage'; import { DataTableComponentPage } from '../dataTableComponentPage';
export class FiltersPage { export class FiltersPage {
activeFilter = element(by.css('mat-list-item[class*="active"]')); activeFilter = element(by.css('mat-list-item[class*="active"]'));
nameColumn = by.css('div[class*="adf-datatable-body"] div[class*="adf-datatable-row"] div[class*="--text"] span'); dataTable = new DataTableComponentPage();
contentList = new ContentListPage();
getActiveFilter() { getActiveFilter() {
Util.waitUntilElementIsVisible(this.activeFilter); Util.waitUntilElementIsVisible(this.activeFilter);
@@ -38,11 +37,11 @@ export class FiltersPage {
} }
sortByName(sortOrder) { sortByName(sortOrder) {
this.contentList.sortByName(sortOrder); this.dataTable.sortByColumn(sortOrder, 'name');
} }
getAllRowsNameColumn() { getAllRowsNameColumn() {
return this.contentList.getAllRowsColumnValues(this.nameColumn); return this.dataTable.getAllRowsColumnValues('Name');
} }
} }

View File

@@ -36,7 +36,8 @@ export class FormFields {
setFieldValue(locator, field, value) { setFieldValue(locator, field, value) {
let fieldElement = element(locator(field)); let fieldElement = element(locator(field));
Util.waitUntilElementIsVisible(fieldElement); Util.waitUntilElementIsVisible(fieldElement);
fieldElement.clear().sendKeys(value); fieldElement.clear();
fieldElement.sendKeys(value);
return this; return this;
} }
@@ -158,7 +159,8 @@ export class FormFields {
setValueInInputById(fieldId, value) { setValueInInputById(fieldId, value) {
let input = element(by.id(fieldId)); let input = element(by.id(fieldId));
Util.waitUntilElementIsVisible(input); Util.waitUntilElementIsVisible(input);
input.clear().sendKeys(value); input.clear();
input.sendKeys(value);
return this; return this;
} }

View File

@@ -16,7 +16,7 @@
*/ */
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { by, element } from 'protractor'; import { by, element, protractor } from 'protractor';
export class ProcessDetailsPage { export class ProcessDetailsPage {

View File

@@ -16,12 +16,13 @@
*/ */
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { ContentListPage } from '../dialog/contentListPage';
import { element, by } from 'protractor'; import { element, by } from 'protractor';
import { StartProcessPage } from './startProcessPage'; import { StartProcessPage } from './startProcessPage';
import { DataTableComponentPage } from '../dataTableComponentPage';
export class ProcessFiltersPage { export class ProcessFiltersPage {
dataTable = new DataTableComponentPage();
runningFilter = element(by.css('span[data-automation-id="Running_filter"]')); runningFilter = element(by.css('span[data-automation-id="Running_filter"]'));
completedFilter = element(by.css('div[class="mat-list-text"] > span[data-automation-id="Completed_filter"]')); completedFilter = element(by.css('div[class="mat-list-text"] > span[data-automation-id="Completed_filter"]'));
allFilter = element(by.css('span[data-automation-id="All_filter"]')); allFilter = element(by.css('span[data-automation-id="All_filter"]'));
@@ -33,7 +34,6 @@ export class ProcessFiltersPage {
noContentMessage = element.all(by.css('p[class="adf-empty-content__title"]')).first(); noContentMessage = element.all(by.css('p[class="adf-empty-content__title"]')).first();
rows = by.css('adf-process-instance-list div[class="adf-datatable-body"] div[class*="adf-datatable-row"]'); rows = by.css('adf-process-instance-list div[class="adf-datatable-body"] div[class*="adf-datatable-row"]');
tableBody = element.all(by.css('adf-datatable div[class="adf-datatable-body"]')).first(); tableBody = element.all(by.css('adf-datatable div[class="adf-datatable-body"]')).first();
contentList = new ContentListPage();
nameColumn = by.css('div[class*="adf-datatable-body"] div[class*="adf-datatable-row"] div[title="Name"] span'); nameColumn = by.css('div[class*="adf-datatable-body"] div[class*="adf-datatable-row"] div[title="Name"] span');
processIcon = by.xpath('ancestor::div[@class="mat-list-item-content"]/mat-icon'); processIcon = by.xpath('ancestor::div[@class="mat-list-item-content"]/mat-icon');
@@ -106,11 +106,11 @@ export class ProcessFiltersPage {
* @param sortOrder : 'true' to sort the list ascendant and 'false' for descendant * @param sortOrder : 'true' to sort the list ascendant and 'false' for descendant
*/ */
sortByName(sortOrder) { sortByName(sortOrder) {
this.contentList.sortByName(sortOrder); this.dataTable.sortByColumn(sortOrder, 'name');
} }
getAllRowsNameColumn() { getAllRowsNameColumn() {
return this.contentList.getAllRowsColumnValues(this.nameColumn); return this.dataTable.getAllRowsColumnValues('Name');
} }
checkFilterIsDisplayed(name) { checkFilterIsDisplayed(name) {

View File

@@ -16,7 +16,7 @@
*/ */
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { by, element, Key } from 'protractor'; import { by, element, Key, protractor, browser } from 'protractor';
export class StartProcessPage { export class StartProcessPage {

View File

@@ -16,19 +16,43 @@
*/ */
import { Util } from '../../../util/util'; import { Util } from '../../../util/util';
import { DataTablePage } from '../dataTablePage'; import { DataTableComponentPage } from '../dataTableComponentPage';
import { by, element } from 'protractor'; import { by, element } from 'protractor';
export class TasksListPage { export class TasksListPage {
taskList = element(by.css('adf-tasklist')); taskList = element(by.css('adf-tasklist'));
noTasksFound = element.all(by.css("p[class='adf-empty-content__title']")).first(); noTasksFound = element.all(by.css("p[class='adf-empty-content__title']")).first();
dataTable = new DataTablePage(this.taskList); dataTable = new DataTableComponentPage(this.taskList);
getDataTable() { getDataTable() {
return this.dataTable; return this.dataTable;
} }
getRowsDisplayedWithSameName(taskName) {
return this.dataTable.getRowsWithSameColumnValues('Name', taskName);
}
checkContentIsDisplayed(taskName) {
return this.dataTable.checkContentIsDisplayed('Name', taskName);
}
checkContentIsNotDisplayed(taskName) {
return this.dataTable.checkContentIsNotDisplayed('Name', taskName);
}
checkRowIsSelected(taskName) {
return this.dataTable.checkRowIsSelected('Name', taskName);
}
selectRow(taskName) {
return this.dataTable.selectRow('Name', taskName);
}
getAllRowsNameColumn() {
return this.dataTable.getAllRowsColumnValues('Name');
}
checkTaskListIsLoaded() { checkTaskListIsLoaded() {
Util.waitUntilElementIsVisible(this.taskList); Util.waitUntilElementIsVisible(this.taskList);
return this; return this;

View File

@@ -163,11 +163,11 @@ export class TasksPage {
} }
clickSortByNameAsc() { clickSortByNameAsc() {
return this.tasksListPage().getDataTable().sortByColumn(true, this.sortByName); return this.tasksListPage().getDataTable().sortByColumn(true, 'name');
} }
clickSortByNameDesc() { clickSortByNameDesc() {
return this.tasksListPage().getDataTable().sortByColumn(false, this.sortByName); return this.tasksListPage().getDataTable().sortByColumn(false, 'name');
} }
} }

View File

@@ -22,7 +22,7 @@ import { EditTaskFilterDialog } from '../dialog/editTaskFilterDialog';
export class EditTaskFilterCloudComponent { export class EditTaskFilterCloudComponent {
customiseFilter = element(by.id('adf-edit-task-filter-title-id')); customiseFilter = element(by.id('adf-edit-task-filter-title-id'));
selectedOption = element(by.css('mat-option[class*="mat-selected"]')); selectedOption = element.all(by.css('mat-option[class*="mat-selected"]')).first();
assignment = element(by.css('mat-form-field[data-automation-id="assignment"] input')); assignment = element(by.css('mat-form-field[data-automation-id="assignment"] input'));
saveButton = element(by.css('button[data-automation-id="Save"]')); saveButton = element(by.css('button[data-automation-id="Save"]'));
saveAsButton = element(by.css('button[data-automation-id="Save as"]')); saveAsButton = element(by.css('button[data-automation-id="Save as"]'));

View File

@@ -16,8 +16,7 @@
*/ */
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import { ContentListPage } from './dialog/contentListPage'; import { DataTableComponentPage } from './dataTableComponentPage';
import { DataTablePage } from './dataTablePage';
import { SearchSortingPickerPage } from './content-services/search/components/search-sortingPicker.page'; import { SearchSortingPickerPage } from './content-services/search/components/search-sortingPicker.page';
import { element, by, protractor } from 'protractor'; import { element, by, protractor } from 'protractor';
import { ContentServicesPage } from './contentServicesPage'; import { ContentServicesPage } from './contentServicesPage';
@@ -25,13 +24,12 @@ import { ContentServicesPage } from './contentServicesPage';
export class SearchResultsPage { export class SearchResultsPage {
noResultsMessage = element(by.css('div[class="adf-no-result-message"]')); noResultsMessage = element(by.css('div[class="adf-no-result-message"]'));
contentList = new ContentListPage(); dataTable = new DataTableComponentPage();
dataTable = new DataTablePage();
searchSortingPicker = new SearchSortingPickerPage(); searchSortingPicker = new SearchSortingPickerPage();
contentServices = new ContentServicesPage(); contentServices = new ContentServicesPage();
tableIsLoaded() { tableIsLoaded() {
this.contentList.tableIsLoaded(); this.dataTable.tableIsLoaded();
} }
closeActionButton() { closeActionButton() {
@@ -43,16 +41,17 @@ export class SearchResultsPage {
} }
checkContentIsDisplayed(content) { checkContentIsDisplayed(content) {
this.contentList.checkContentIsDisplayed(content); this.dataTable.checkContentIsDisplayed('Display name', content);
return this; return this;
} }
numberOfResultsDisplayed() { numberOfResultsDisplayed() {
return this.contentList.getAllDisplayedRows(); return this.dataTable.numberOfRows();
} }
checkContentIsNotDisplayed(content) { checkContentIsNotDisplayed(content) {
Util.waitUntilElementIsNotOnPage(element(by.css("span[title='" + content + "']"))); this.dataTable.checkContentIsNotDisplayed('Display name', content);
return this;
} }
checkNoResultMessageIsDisplayed() { checkNoResultMessageIsDisplayed() {
@@ -66,16 +65,16 @@ export class SearchResultsPage {
} }
navigateToFolder(content) { navigateToFolder(content) {
this.contentList.doubleClickRow(content); this.dataTable.doubleClickRow('Display name', content);
return this; return this;
} }
deleteContent(content) { deleteContent(content) {
this.contentList.deleteContent(content); this.contentServices.deleteContent(content);
} }
checkDeleteIsDisabled(content) { checkDeleteIsDisabled(content) {
this.contentList.checkDeleteIsDisabled(content); this.contentServices.checkDeleteIsDisabled(content);
this.closeActionButton(); this.closeActionButton();
} }
@@ -165,7 +164,11 @@ export class SearchResultsPage {
} }
async checkListIsOrderedByCreatedAsc() { async checkListIsOrderedByCreatedAsc() {
let list = await this.contentServices.getElementsDisplayedCreated(); let stringList = await this.contentServices.getElementsDisplayedCreated();
let list;
await stringList.forEach((stringDate) => {
list.push(new Date(stringDate));
});
return this.contentServices.checkElementsSortedAsc(list); return this.contentServices.checkElementsSortedAsc(list);
} }

View File

@@ -16,7 +16,6 @@
*/ */
import { Util } from '../../util/util'; import { Util } from '../../util/util';
import { ContentListPage } from './dialog/contentListPage';
import { element, by, protractor, browser } from 'protractor'; import { element, by, protractor, browser } from 'protractor';
@@ -134,7 +133,7 @@ export class TagPage {
checkTagListIsOrderedAscending() { checkTagListIsOrderedAscending() {
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
new ContentListPage().checkListIsSorted(false, this.tagListRowLocator).then((result) => { this.checkListIsSorted(false, this.tagListRowLocator).then((result) => {
deferred.fulfill(result); deferred.fulfill(result);
}); });
return deferred.promise; return deferred.promise;
@@ -142,7 +141,7 @@ export class TagPage {
checkTagListByNodeIdIsOrderedAscending() { checkTagListByNodeIdIsOrderedAscending() {
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
new ContentListPage().checkListIsSorted(false, this.tagListByNodeIdRowLocator).then((result) => { this.checkListIsSorted(false, this.tagListByNodeIdRowLocator).then((result) => {
deferred.fulfill(result); deferred.fulfill(result);
}); });
return deferred.promise; return deferred.promise;
@@ -150,12 +149,32 @@ export class TagPage {
checkTagListContentServicesIsOrderedAscending() { checkTagListContentServicesIsOrderedAscending() {
let deferred = protractor.promise.defer(); let deferred = protractor.promise.defer();
new ContentListPage().checkListIsSorted(false, this.tagListContentServicesRowLocator).then((result) => { this.checkListIsSorted(false, this.tagListContentServicesRowLocator).then((result) => {
deferred.fulfill(result); deferred.fulfill(result);
}); });
return deferred.promise; return deferred.promise;
} }
checkListIsSorted(sortOrder, locator) {
let deferred = protractor.promise.defer();
let tagList = element.all(locator);
Util.waitUntilElementIsVisible(tagList.first());
let initialList = [];
tagList.each(function (currentElement) {
currentElement.getText().then(function (text) {
initialList.push(text);
});
}).then(function () {
let sortedList = initialList;
sortedList = sortedList.sort();
if (sortOrder === false) {
sortedList = sortedList.reverse();
}
deferred.fulfill(initialList.toString() === sortedList.toString());
});
return deferred.promise;
}
checkDeleteTagFromTagListByNodeIdIsDisplayed(name) { checkDeleteTagFromTagListByNodeIdIsDisplayed(name) {
let deleteChip = element(by.id('tag_chips_delete_' + name)); let deleteChip = element(by.id('tag_chips_delete_' + name));
return Util.waitUntilElementIsVisible(deleteChip); return Util.waitUntilElementIsVisible(deleteChip);

View File

@@ -39,7 +39,7 @@ describe('Edit task filters cloud', () => {
let silentLogin; let silentLogin;
const simpleApp = 'simple-app'; const simpleApp = 'simple-app';
const completedTaskName = Util.generateRandomString(), assignedTaskName = Util.generateRandomString(); const completedTaskName = Util.generateRandomString(), assignedTaskName = Util.generateRandomString();
let assignedTask, completedTask; let assignedTask;
beforeAll(async () => { beforeAll(async () => {
silentLogin = false; silentLogin = false;
@@ -50,7 +50,7 @@ describe('Edit task filters cloud', () => {
await tasksService.init(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await tasksService.init(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp); assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
await tasksService.claimTask(assignedTask.entry.id, simpleApp); await tasksService.claimTask(assignedTask.entry.id, simpleApp);
completedTask = await tasksService.createAndCompleteTask(completedTaskName, simpleApp); await tasksService.createAndCompleteTask(completedTaskName, simpleApp);
}); });
beforeEach((done) => { beforeEach((done) => {
@@ -72,16 +72,16 @@ describe('Edit task filters cloud', () => {
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStateFilterDropDownValue()).toEqual('ASSIGNED'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStateFilterDropDownValue()).toEqual('ASSIGNED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Created Date'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Created Date');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(assignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStateFilterDropDownValue()).toEqual('COMPLETED'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getStateFilterDropDownValue()).toEqual('COMPLETED');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Created Date'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getSortFilterDropDownValue()).toEqual('Created Date');
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC'); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getOrderFilterDropDownValue()).toEqual('DESC');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(assignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader(); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader();
}); });

View File

@@ -92,14 +92,14 @@ describe('Process list cloud', () => {
it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async() => { it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async() => {
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('RUNNING') processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('RUNNING')
.setSortFilterDropDown('NAME').setOrderFilterDropDown('ASC'); .setSortFilterDropDown('NAME').setOrderFilterDropDown('ASC');
processCloudDemoPage.processListCloudComponent().getDataTable().getAllRowsNameColumn().then(function (list) { processCloudDemoPage.processListCloudComponent().getAllRowsNameColumn().then(function (list) {
let initialList = list.slice(0); let initialList = list.slice(0);
list.sort(); list.sort();
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true); expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
}); });
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC'); processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
processCloudDemoPage.processListCloudComponent().getDataTable().getAllRowsNameColumn().then(function (list) { processCloudDemoPage.processListCloudComponent().getAllRowsNameColumn().then(function (list) {
let initialList = list.slice(0); let initialList = list.slice(0);
list.sort(); list.sort();
list.reverse(); list.reverse();
@@ -137,8 +137,8 @@ describe('Process list cloud', () => {
processCloudDemoPage.processListCloudComponent().getDataTable().checkSpinnerIsDisplayed().checkSpinnerIsNotDisplayed(); processCloudDemoPage.processListCloudComponent().getDataTable().checkSpinnerIsDisplayed().checkSpinnerIsNotDisplayed();
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getAllDisplayedRows()).toBe(1); expect(processCloudDemoPage.processListCloudComponent().getDataTable().numberOfRows()).toBe(1);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton(); processCloudDemoPage.editProcessFilterCloudComponent().clickSaveAsButton();
processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton(); processCloudDemoPage.editProcessFilterCloudComponent().editProcessFilterDialog().setFilterName('New').clickOnSaveButton();

View File

@@ -87,34 +87,34 @@ describe('Process filters cloud', () => {
processCloudDemoPage.runningProcessesFilter().clickProcessFilter(); processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(runningProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
processCloudDemoPage.completedProcessesFilter().clickProcessFilter(); processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsNotDisplayed(runningProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedById(runningProcess.entry.id);
processCloudDemoPage.allProcessesFilter().clickProcessFilter(); processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(runningProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
}); });
it('[C290044] Should display process in Completed Processes List when process is completed', () => { it('[C290044] Should display process in Completed Processes List when process is completed', () => {
processCloudDemoPage.runningProcessesFilter().clickProcessFilter(); processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.runningProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsNotDisplayedById(completedProcess.entry.id);
processCloudDemoPage.completedProcessesFilter().clickProcessFilter(); processCloudDemoPage.completedProcessesFilter().clickProcessFilter();
processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.completedProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Completed Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(completedProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
processCloudDemoPage.allProcessesFilter().clickProcessFilter(); processCloudDemoPage.allProcessesFilter().clickProcessFilter();
processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed(); processCloudDemoPage.allProcessesFilter().checkProcessFilterIsDisplayed();
expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('All Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(completedProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(completedProcess.entry.id);
}); });
}); });

View File

@@ -76,13 +76,13 @@ describe('Process list cloud', () => {
processCloudDemoPage.runningProcessesFilter().clickProcessFilter(); processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded(); processCloudDemoPage.processListCloudComponent().checkProcessListIsLoaded();
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(runningProcess.entry.id); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedById(runningProcess.entry.id);
done(); done();
}); });
it('[C291997] Should be able to change the default columns', async() => { it('[C291997] Should be able to change the default columns', async() => {
expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNoOfColumns()).toBe(13); expect(processCloudDemoPage.processListCloudComponent().getDataTable().getNumberOfColumns()).toBe(13);
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('id'); processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('id');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('name'); processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('name');
processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('status'); processCloudDemoPage.processListCloudComponent().getDataTable().checkColumnIsDisplayed('status');

View File

@@ -99,7 +99,7 @@ describe('Start Process', () => {
processCloudDemoPage.runningProcessesFilter().clickProcessFilter(); processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(processName); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(processName);
}); });
@@ -122,7 +122,7 @@ describe('Start Process', () => {
processCloudDemoPage.runningProcessesFilter().clickProcessFilter(); processCloudDemoPage.runningProcessesFilter().clickProcessFilter();
expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes'); expect(processCloudDemoPage.getActiveFilterName()).toBe('Running Processes');
processCloudDemoPage.processListCloudComponent().getDataTable().checkContentIsDisplayed(processName); processCloudDemoPage.processListCloudComponent().checkContentIsDisplayedByName(processName);
}); });

View File

@@ -62,6 +62,7 @@ describe('Start Task', () => {
it('[C290166] Should be possible to cancel a task', () => { it('[C290166] Should be possible to cancel a task', () => {
tasksCloudDemoPage.openNewTaskForm(); tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.checkStartButtonIsDisabled() startTask.checkStartButtonIsDisabled()
.blur(startTask.name) .blur(startTask.name)
.checkValidationErrorIsDisplayed(requiredError); .checkValidationErrorIsDisplayed(requiredError);
@@ -70,21 +71,23 @@ describe('Start Task', () => {
.addDueDate('12/12/2018'); .addDueDate('12/12/2018');
startTask.checkStartButtonIsEnabled(); startTask.checkStartButtonIsEnabled();
startTask.clickCancelButton(); startTask.clickCancelButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(standaloneTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName);
}); });
it('[C290180] Should be able to create a new standalone task', () => { it('[C290180] Should be able to create a new standalone task', () => {
tasksCloudDemoPage.openNewTaskForm(); tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(standaloneTaskName) startTask.addName(standaloneTaskName)
.addDescription('descriptions') .addDescription('descriptions')
.addDueDate('12/12/2018') .addDueDate('12/12/2018')
.addPriority('50') .addPriority('50')
.clickStartButton(); .clickStartButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(standaloneTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(standaloneTaskName);
}); });
it('[C290181] Should be displayed an error message if task name exceed 255 characters', () => { it('[C290181] Should be displayed an error message if task name exceed 255 characters', () => {
tasksCloudDemoPage.openNewTaskForm(); tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(taskName255Characters) startTask.addName(taskName255Characters)
.checkStartButtonIsEnabled(); .checkStartButtonIsEnabled();
startTask.addName(taskNameBiggerThen255Characters) startTask.addName(taskNameBiggerThen255Characters)
@@ -107,50 +110,55 @@ describe('Start Task', () => {
it('[C290182] Should be possible to assign the task to another user', () => { it('[C290182] Should be possible to assign the task to another user', () => {
tasksCloudDemoPage.openNewTaskForm(); tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(standaloneTaskName); startTask.addName(standaloneTaskName);
peopleCloudComponent.searchAssigneeAndSelect('Super Admin'); peopleCloudComponent.searchAssigneeAndSelect('Super Admin');
startTask.checkStartButtonIsEnabled();
startTask.clickStartButton(); startTask.clickStartButton();
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(standaloneTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(standaloneTaskName);
}); });
it('[C291953] Assignee field should display the logged user as default', () => { it('[C291953] Assignee field should display the logged user as default', () => {
tasksCloudDemoPage.openNewTaskForm(); tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
expect(peopleCloudComponent.getAssignee()).toContain('Admin', 'does not contain Admin'); expect(peopleCloudComponent.getAssignee()).toContain('Admin', 'does not contain Admin');
startTask.clickCancelButton(); startTask.clickCancelButton();
}); });
it('[C291956] Should be able to create a new standalone task without assignee', () => { it('[C291956] Should be able to create a new standalone task without assignee', () => {
tasksCloudDemoPage.openNewTaskForm(); tasksCloudDemoPage.openNewTaskForm();
startTask.addName(standaloneTaskName); startTask.checkFormIsDisplayed();
startTask.clearField(peopleCloudComponent.peopleCloudSearch); startTask.clearField(peopleCloudComponent.peopleCloudSearch);
startTask.addName(unassignedTaskName);
startTask.clickStartButton(); startTask.clickStartButton();
startTask.checkStartButtonIsEnabled();
tasksCloudDemoPage.editTaskFilterCloudComponent() tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader() .clickCustomiseFilterHeader()
.setStateFilterDropDown('CREATED') .setStateFilterDropDown('CREATED')
.clearAssignment(); .clearAssignment();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(standaloneTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
}); });
it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => { it('[C297675] Should create a task unassigned when assignee field is empty in Start Task form', () => {
tasksCloudDemoPage.openNewTaskForm(); tasksCloudDemoPage.openNewTaskForm();
startTask.checkFormIsDisplayed();
startTask.addName(unassignedTaskName); startTask.addName(unassignedTaskName);
startTask.clearField(peopleCloudComponent.peopleCloudSearch); startTask.clearField(peopleCloudComponent.peopleCloudSearch);
startTask.clickStartButton(); startTask.clickStartButton();
tasksCloudDemoPage.editTaskFilterCloudComponent() tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader() .clickCustomiseFilterHeader()
.setStateFilterDropDown('CREATED') .clearAssignment()
.clearAssignment(); .setStateFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(unassignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(unassignedTaskName);
let taskId = tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName); let taskId = tasksCloudDemoPage.taskListCloudComponent().getIdCellValue(unassignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByContentName(unassignedTaskName); tasksCloudDemoPage.taskListCloudComponent().getRow(unassignedTaskName).click();
expect(taskDetailsPage.getTaskDetailsHeader()).toContain(taskId); expect(taskDetailsPage.getTaskDetailsHeader()).toContain(taskId);
expect(taskDetailsPage.getPropertyLabel('assignee')).toBe('Assignee'); expect(taskDetailsPage.getPropertyLabel('assignee')).toBe('Assignee');
expect(taskDetailsPage.getPropertyValue('assignee')).toBe('No assignee'); expect(taskDetailsPage.getPropertyValue('assignee')).toBe('No assignee');
}); });
}); });

View File

@@ -16,13 +16,10 @@
*/ */
import TestConfig = require('../test.config'); import TestConfig = require('../test.config');
import resources = require('../util/resources');
import CONSTANTS = require('../util/constants'); import CONSTANTS = require('../util/constants');
import dateFormat = require('dateformat');
import { Util } from '../util/util'; import { Util } from '../util/util';
import moment = require('moment'); import moment = require('moment');
import AlfrescoApi = require('alfresco-js-api-node');
import { Tasks } from '../actions/APS-cloud/tasks'; import { Tasks } from '../actions/APS-cloud/tasks';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
@@ -87,8 +84,8 @@ describe('Task Header cloud component', () => {
it('[C291943] Should display task details for assigned task', async () => { it('[C291943] Should display task details for assigned task', async () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(basicCreatedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(basicCreatedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByContentName(basicCreatedTaskName); tasksCloudDemoPage.taskListCloudComponent().selectRow(basicCreatedTaskName);
expect(taskDetailsCloudPage.getId()).toEqual(basicCreatedTask.entry.id); expect(taskDetailsCloudPage.getId()).toEqual(basicCreatedTask.entry.id);
expect(taskDetailsCloudPage.getDescription()) expect(taskDetailsCloudPage.getDescription())
.toEqual(basicCreatedTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : basicCreatedTask.entry.description); .toEqual(basicCreatedTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : basicCreatedTask.entry.description);
@@ -107,8 +104,8 @@ describe('Task Header cloud component', () => {
it('[C291944] Should display task details for completed task', async () => { it('[C291944] Should display task details for completed task', async () => {
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByContentName(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().selectRow(completedTaskName);
expect(taskDetailsCloudPage.getId()).toEqual(completedTask.entry.id); expect(taskDetailsCloudPage.getId()).toEqual(completedTask.entry.id);
expect(taskDetailsCloudPage.getDescription()) expect(taskDetailsCloudPage.getDescription())
.toEqual(completedTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : completedTask.entry.description); .toEqual(completedTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : completedTask.entry.description);
@@ -127,8 +124,8 @@ describe('Task Header cloud component', () => {
it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', async () => { it('[C291945] Should Parent Name and Parent Id not be empty in task details for sub task', async () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(subTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByContentName(subTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().selectRow(subTask.entry.name);
expect(taskDetailsCloudPage.getId()).toEqual(subTask.entry.id); expect(taskDetailsCloudPage.getId()).toEqual(subTask.entry.id);
expect(taskDetailsCloudPage.getDescription()) expect(taskDetailsCloudPage.getDescription())
.toEqual(subTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : subTask.entry.description); .toEqual(subTask.entry.description === null ? CONSTANTS.TASK_DETAILS.NO_DESCRIPTION : subTask.entry.description);

View File

@@ -66,12 +66,12 @@ describe('Task filters cloud', () => {
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(newTask); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(newTask);
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(newTask); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(newTask);
}); });
it('[C289955] Should display task in Complete Tasks List when task is completed', async () => { it('[C289955] Should display task in Complete Tasks List when task is completed', async () => {
@@ -83,12 +83,12 @@ describe('Task filters cloud', () => {
tasksCloudDemoPage.myTasksFilter().clickTaskFilter(); tasksCloudDemoPage.myTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedTask); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTask);
tasksCloudDemoPage.completedTasksFilter().clickTaskFilter(); tasksCloudDemoPage.completedTasksFilter().clickTaskFilter();
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('Completed Tasks');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTask); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTask);
}); });
it('[C291792] Should select the first task filter from the list as default', () => { it('[C291792] Should select the first task filter from the list as default', () => {

View File

@@ -33,6 +33,7 @@ import { Tasks } from '../actions/APS-cloud/tasks';
import { ProcessDefinitions } from '../actions/APS-cloud/process-definitions'; import { ProcessDefinitions } from '../actions/APS-cloud/process-definitions';
import { ProcessInstances } from '../actions/APS-cloud/process-instances'; import { ProcessInstances } from '../actions/APS-cloud/process-instances';
import { NotificationPage } from '../pages/adf/notificationPage'; import { NotificationPage } from '../pages/adf/notificationPage';
import { browser } from 'protractor';
describe('Edit task filters and task list properties', () => { describe('Edit task filters and task list properties', () => {
@@ -124,14 +125,14 @@ describe('Edit task filters and task list properties', () => {
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(simpleApp); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(notDisplayedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notDisplayedTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateUserApp); tasksCloudDemoPage.editTaskFilterCloudComponent().setAppNameDropDown(candidateUserApp);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateUserApp); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getAppNameDropDownValue()).toEqual(candidateUserApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(notDisplayedTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notDisplayedTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297476] Filter by taskName', () => { it('[C297476] Filter by taskName', () => {
@@ -140,9 +141,10 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name); tasksCloudDemoPage.editTaskFilterCloudComponent().setTaskName(createdTask.entry.name);
expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual(createdTask.entry.name); expect(tasksCloudDemoPage.editTaskFilterCloudComponent().getTaskName()).toEqual(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().getRowsWithSameName(createdTask.entry.name).then((list) => {
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRowsDisplayedByName(createdTask.entry.name)).toEqual(1); expect(list.length).toEqual(1);
});
}); });
it('[C297613] Should be able to see No tasks found when typing a task name that does not exist', () => { it('[C297613] Should be able to see No tasks found when typing a task name that does not exist', () => {
@@ -164,8 +166,8 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getAllDisplayedRows()).toBe(1); expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfRows()).toBe(1);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(processInstance.entry.id); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByProcessInstanceId(processInstance.entry.id);
}); });
it('[C297684] Should be able to see No tasks found when typing an invalid processInstanceId', () => { it('[C297684] Should be able to see No tasks found when typing an invalid processInstanceId', () => {
@@ -183,8 +185,8 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignment('admin.adf'); tasksCloudDemoPage.editTaskFilterCloudComponent().setAssignment('admin.adf');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(notAssigned.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(notAssigned.entry.name);
}); });
it('[C297686] Should be able to see No tasks found when typing an invalid user to assignee field', () => { it('[C297686] Should be able to see No tasks found when typing an invalid user to assignee field', () => {
@@ -202,8 +204,8 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority(priority); tasksCloudDemoPage.editTaskFilterCloudComponent().setPriority(priority);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(priorityTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(priorityTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297687] Should be able to see No tasks found when typing unused value for priority field', () => { it('[C297687] Should be able to see No tasks found when typing unused value for priority field', () => {
@@ -221,8 +223,8 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setParentTaskId(subTask.entry.parentTaskId); tasksCloudDemoPage.editTaskFilterCloudComponent().setParentTaskId(subTask.entry.parentTaskId);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(subTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(subTask.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297486] Filter by Owner', () => { it('[C297486] Filter by Owner', () => {
@@ -231,8 +233,8 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setStateFilterDropDown('ALL').clearAssignment().setOwner('admin.adf'); tasksCloudDemoPage.editTaskFilterCloudComponent().setStateFilterDropDown('ALL').clearAssignment().setOwner('admin.adf');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(notAssigned.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(notAssigned.entry.name);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner('invalid'); tasksCloudDemoPage.editTaskFilterCloudComponent().setOwner('invalid');
@@ -244,10 +246,10 @@ describe('Edit task filters and task list properties', () => {
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(afterDate);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks created date', function () { it('[C297689] Task is not displayed when typing into lastModifiedFrom field the same date as tasks created date', function () {
@@ -255,7 +257,7 @@ describe('Edit task filters and task list properties', () => {
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(currentDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(currentDate);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297485] Task is displayed when typing into lastModifiedTo field a date after the task created date', function () { it('[C297485] Task is displayed when typing into lastModifiedTo field a date after the task created date', function () {
@@ -263,10 +265,10 @@ describe('Edit task filters and task list properties', () => {
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(beforeDate);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks created date', function () { it('[C297690] Task is not displayed when typing into lastModifiedTo field the same date as tasks created date', function () {
@@ -274,7 +276,7 @@ describe('Edit task filters and task list properties', () => {
expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks'); expect(tasksCloudDemoPage.getActiveFilterName()).toBe('My Tasks');
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(currentDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(currentDate);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTask.entry.name);
}); });
it('[C297691] Task is not displayed when typing into lastModifiedFrom field a date before the task due date ' + it('[C297691] Task is not displayed when typing into lastModifiedFrom field a date before the task due date ' +
@@ -296,7 +298,7 @@ describe('Edit task filters and task list properties', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedFrom(beforeDate);
tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate); tasksCloudDemoPage.editTaskFilterCloudComponent().setLastModifiedTo(afterDate);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTask.entry.name); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTask.entry.name);
}); });
it('[C297693] Task is not displayed when typing into lastModifiedFrom field a date after the tasks due date ' + it('[C297693] Task is not displayed when typing into lastModifiedFrom field a date after the tasks due date ' +

View File

@@ -22,12 +22,12 @@ import { SettingsPage } from '../pages/adf/settingsPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage'; import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
import { AppListCloudComponent } from '../pages/adf/process-cloud/appListCloudComponent'; import { AppListCloudComponent } from '../pages/adf/process-cloud/appListCloudComponent';
import { TaskListCloudConfiguration } from './taskListCloud.config';
import { Util } from '../util/util'; import { Util } from '../util/util';
import moment = require('moment');
import { Tasks } from '../actions/APS-cloud/tasks'; import { Tasks } from '../actions/APS-cloud/tasks';
import { browser } from 'protractor';
describe('Task list cloud - selection', () => { describe('Task list cloud - selection', () => {
describe('Task list cloud - selection', () => { describe('Task list cloud - selection', () => {
@@ -67,60 +67,90 @@ describe('Task list cloud - selection', () => {
done(); done();
}); });
afterEach(async (done) => {
await browser.refresh();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
done();
});
it('[C291914] Should not be able to select any row when selection mode is set to None', () => { it('[C291914] Should not be able to select any row when selection mode is set to None', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('None'); tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('None');
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton(); tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByRowName(tasks[0]); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkNoRowIsSelected(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkNoRowIsSelected();
}); });
it('[C291918] Should be able to select only one row when selection mode is set to Single', () => { it('[C291918] Should be able to select only one row when selection mode is set to Single', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Single'); tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Single');
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton(); tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByRowName(tasks[0]); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsSelectedByName(tasks[0]); tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1); expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByRowName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsSelectedByName(tasks[1]); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[1]);
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1); expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().getNumberOfSelectedRows()).toEqual(1);
}); });
it('[C291919] Should be able to select only one row when selection mode is set to Multiple', () => { it('[C291919] Should be able to select only one row when selection mode is set to Multiple', () => {
tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Multiple'); tasksCloudDemoPage.clickSettingsButton().selectSelectionMode('Multiple');
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton(); tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByRowName(tasks[0]); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsSelectedByName(tasks[0]); tasksCloudDemoPage.taskListCloudComponent().selectRow(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().selectRowByNameWithKeyboard(tasks[1]); tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsSelectedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsSelectedByName(tasks[1]); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsNotSelectedByName(tasks[2]); tasksCloudDemoPage.taskListCloudComponent().selectRowWithKeyboard(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsSelected(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotSelected(tasks[2]);
}); });
it('[C291916] Should be able to select multiple row when multiselect is true', () => { it('[C291916] Should be able to select multiple row when multiselect is true', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection(); tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton(); tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().clickCheckboxByName(tasks[0]); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsCheckedByName(tasks[0]); tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().clickCheckboxByName(tasks[1]); tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsCheckedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsNotCheckedByName(tasks[2]); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().clickCheckboxByName(tasks[1]); tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsNotCheckedByName(tasks[1]); tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsCheckedByName(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(tasks[2]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotChecked(tasks[2]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsNotChecked(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
}); });
it('[C291915] Should be possible select all the rows when multiselect is true', () => { it('[C291915] Should be possible select all the rows when multiselect is true', () => {
tasksCloudDemoPage.clickSettingsButton().enableMultiSelection(); tasksCloudDemoPage.clickSettingsButton().enableMultiSelection();
tasksCloudDemoPage.clickSettingsButton().disableDisplayTaskDetails();
tasksCloudDemoPage.clickAppButton(); tasksCloudDemoPage.clickAppButton();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkAllRowsButtonIsDisplayed().checkAllRows(); tasksCloudDemoPage.taskListCloudComponent().getDataTable()
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsCheckedByName(tasks[0]); .checkAllRowsButtonIsDisplayed()
tasksCloudDemoPage.taskListCloudComponent().getDataTable().clickCheckboxByName(tasks[1]); .checkAllRows();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkRowIsCheckedByName(tasks[2]); tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[0]);
tasksCloudDemoPage.taskListCloudComponent().clickCheckbox(tasks[1]);
tasksCloudDemoPage.taskListCloudComponent().checkRowIsChecked(tasks[2]);
}); });
}); });

View File

@@ -47,9 +47,8 @@ describe('Task filters cloud', () => {
assignedTaskName = Util.generateRandomString(), deletedTaskName = Util.generateRandomString(); assignedTaskName = Util.generateRandomString(), deletedTaskName = Util.generateRandomString();
const simpleApp = 'simple-app'; const simpleApp = 'simple-app';
const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword; const user = TestConfig.adf.adminEmail, password = TestConfig.adf.adminPassword;
let createdTask, assignedTask, completedTask, deletedTask; let assignedTask, deletedTask, suspendedTasks;
let orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask']; let orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask'];
let suspendedTasks, cancelledTasks;
let priority = 30, nrOfTasks = 3; let priority = 30, nrOfTasks = 3;
beforeAll(async () => { beforeAll(async () => {
@@ -59,11 +58,11 @@ describe('Task filters cloud', () => {
loginSSOPage.loginAPS(user, password); loginSSOPage.loginAPS(user, password);
await tasksService.init(user, password); await tasksService.init(user, password);
createdTask = await tasksService.createStandaloneTask(createdTaskName, simpleApp); await tasksService.createStandaloneTask(createdTaskName, simpleApp);
assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp); assignedTask = await tasksService.createStandaloneTask(assignedTaskName, simpleApp);
await tasksService.claimTask(assignedTask.entry.id, simpleApp); await tasksService.claimTask(assignedTask.entry.id, simpleApp);
completedTask = await tasksService.createAndCompleteTask(completedTaskName, simpleApp); await tasksService.createAndCompleteTask(completedTaskName, simpleApp);
deletedTask = await tasksService.createStandaloneTask(deletedTaskName, simpleApp); deletedTask = await tasksService.createStandaloneTask(deletedTaskName, simpleApp);
await tasksService.deleteTask(deletedTask.entry.id, simpleApp); await tasksService.deleteTask(deletedTask.entry.id, simpleApp);
for (let i = 0; i < nrOfTasks; i++) { for (let i = 0; i < nrOfTasks; i++) {
@@ -78,7 +77,7 @@ describe('Task filters cloud', () => {
let secondProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp); let secondProcessInstance = await processInstancesService.createProcessInstance(processDefinition.list.entries[0].entry.key, simpleApp);
await queryService.init(user, password); await queryService.init(user, password);
suspendedTasks = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp); suspendedTasks = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
cancelledTasks = await queryService.getProcessInstanceTasks(secondProcessInstance.entry.id, simpleApp); await queryService.getProcessInstanceTasks(secondProcessInstance.entry.id, simpleApp);
await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp); await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp);
await processInstancesService.deleteProcessInstance(secondProcessInstance.entry.id, simpleApp); await processInstancesService.deleteProcessInstance(secondProcessInstance.entry.id, simpleApp);
await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp); await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
@@ -88,52 +87,56 @@ describe('Task filters cloud', () => {
await navigationBarPage.navigateToProcessServicesCloudPage(); await navigationBarPage.navigateToProcessServicesCloudPage();
appListCloudComponent.checkApsContainer(); appListCloudComponent.checkApsContainer();
await appListCloudComponent.goToApp(simpleApp); await appListCloudComponent.goToApp(simpleApp);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().waitForTableBody();
done(); done();
}); });
it('[C290045] Should display only tasks with Assigned state when Assigned is selected from state dropdown', () => { it('[C290045] Should display only tasks with Assigned state when Assigned is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('ASSIGNED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(assignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(deletedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
}); });
it('[C290061] Should display only tasks with Completed state when Completed is selected from state dropdown', () => { it('[C290061] Should display only tasks with Completed state when Completed is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().setStateFilterDropDown('COMPLETED'); tasksCloudDemoPage.editTaskFilterCloudComponent()
.clickCustomiseFilterHeader()
.setStateFilterDropDown('COMPLETED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(assignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(deletedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
}); });
it('[C290139] Should display only tasks with all states when All is selected from state dropdown', () => { it('[C290139] Should display only tasks with all states when All is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment() tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment()
.setStateFilterDropDown('ALL'); .setStateFilterDropDown('ALL');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(deletedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(assignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
}); });
it('[C290154] Should display only tasks with suspended states when Suspended is selected from state dropdown', () => { it('[C290154] Should display only tasks with suspended states when Suspended is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment() tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment()
.setStateFilterDropDown('SUSPENDED'); .setStateFilterDropDown('SUSPENDED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(suspendedTasks.list.entries[0].entry.id); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(suspendedTasks.list.entries[0].entry.id);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(deletedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(createdTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(assignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
}); });
it('[C290060] Should display only tasks with Created state when Created is selected from state dropdown', () => { it('[C290060] Should display only tasks with Created state when Created is selected from state dropdown', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment().setStateFilterDropDown('CREATED'); tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignment().setStateFilterDropDown('CREATED');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsDisplayed(createdTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(assignedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(completedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkContentIsNotDisplayed(deletedTaskName); tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
}); });
it('[C290069] Should display tasks ordered by name when Name is selected from sort dropdown', () => { it('[C290069] Should display tasks ordered by name when Name is selected from sort dropdown', () => {
@@ -141,7 +144,7 @@ describe('Task filters cloud', () => {
.setSortFilterDropDown('NAME').setOrderFilterDropDown('ASC'); .setSortFilterDropDown('NAME').setOrderFilterDropDown('ASC');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().getAllRowsNameColumn().then((list) => { tasksCloudDemoPage.taskListCloudComponent().getAllRowsNameColumn().then( (list) => {
let initialList = list.slice(0); let initialList = list.slice(0);
list.sort(function (firstStr, secondStr) { list.sort(function (firstStr, secondStr) {
return firstStr.localeCompare(secondStr); return firstStr.localeCompare(secondStr);
@@ -152,7 +155,7 @@ describe('Task filters cloud', () => {
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC'); tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed(); tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
tasksCloudDemoPage.taskListCloudComponent().getDataTable().getAllRowsNameColumn().then((list) => { tasksCloudDemoPage.taskListCloudComponent().getAllRowsNameColumn().then( (list) => {
let initialList = list.slice(0); let initialList = list.slice(0);
list.sort(function (firstStr, secondStr) { list.sort(function (firstStr, secondStr) {
return firstStr.localeCompare(secondStr); return firstStr.localeCompare(secondStr);

View File

@@ -99,7 +99,7 @@ describe('Start Task - Task App', () => {
viewerPage.checkFileContent('1', pdfFile.firstPageText); viewerPage.checkFileContent('1', pdfFile.firstPageText);
viewerPage.checkCloseButtonIsDisplayed(); viewerPage.checkCloseButtonIsDisplayed();
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed('View file'); taskPage.tasksListPage().checkContentIsDisplayed('View file');
}); });
}); });

View File

@@ -98,7 +98,7 @@ describe('Attach Form Component', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(testNames.taskName); taskPage.tasksListPage().selectRow(testNames.taskName);
attachFormPage.checkNoFormMessageIsDisplayed(); attachFormPage.checkNoFormMessageIsDisplayed();
attachFormPage.checkAttachFormButtonIsDisplayed(); attachFormPage.checkAttachFormButtonIsDisplayed();
@@ -109,7 +109,7 @@ describe('Attach Form Component', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(testNames.taskName); taskPage.tasksListPage().selectRow(testNames.taskName);
attachFormPage.clickAttachFormButton(); attachFormPage.clickAttachFormButton();
attachFormPage.checkDefaultFormTitleIsDisplayed(testNames.formTitle); attachFormPage.checkDefaultFormTitleIsDisplayed(testNames.formTitle);
@@ -129,7 +129,7 @@ describe('Attach Form Component', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(testNames.taskName); taskPage.tasksListPage().selectRow(testNames.taskName);
attachFormPage.clickAttachFormButton(); attachFormPage.clickAttachFormButton();
attachFormPage.clickAttachFormDropdown(); attachFormPage.clickAttachFormDropdown();
@@ -140,7 +140,7 @@ describe('Attach Form Component', () => {
formFields.completeForm(); formFields.completeForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(testNames.taskName); taskPage.tasksListPage().selectRow(testNames.taskName);
expect(formFields.getFieldValue(formTextField)).toEqual(testNames.formFieldValue); expect(formFields.getFieldValue(formTextField)).toEqual(testNames.formFieldValue);
}); });

View File

@@ -17,7 +17,8 @@
import { LoginPage } from '../pages/adf/loginPage'; import { LoginPage } from '../pages/adf/loginPage';
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import { ChecklistDialog } from '../pages/adf/process-services/dialog/createChecklistDialog';
import CONSTANTS = require('../util/constants'); import CONSTANTS = require('../util/constants');
@@ -30,14 +31,16 @@ import AlfrescoApi = require('alfresco-js-api-node');
import { UsersActions } from '../actions/users.actions'; import { UsersActions } from '../actions/users.actions';
import fs = require('fs'); import fs = require('fs');
import path = require('path'); import path = require('path');
import { browser } from 'protractor';
describe('Checklist component', () => { describe('Checklist component', () => {
let loginPage = new LoginPage(); let loginPage = new LoginPage();
let navigationBarPage = new NavigationBarPage();
let processUserModel; let processUserModel;
let app = resources.Files.SIMPLE_APP_WITH_USER_FORM; let app = resources.Files.SIMPLE_APP_WITH_USER_FORM;
let taskPage = new TasksPage(); let taskPage = new TasksPage();
const processServices = new ProcessServicesPage();
const checklistDialog = new ChecklistDialog();
let tasks = ['no checklist created task', 'checklist number task', 'remove running checklist', 'remove completed checklist', 'hierarchy']; let tasks = ['no checklist created task', 'checklist number task', 'remove running checklist', 'remove completed checklist', 'hierarchy'];
let checklists = ['cancelCheckList', 'dialogChecklist', 'addFirstChecklist', 'addSecondChecklist']; let checklists = ['cancelCheckList', 'dialogChecklist', 'addFirstChecklist', 'addSecondChecklist'];
@@ -74,10 +77,16 @@ describe('Checklist component', () => {
done(); done();
}); });
it('[C279976] Should no checklist be created when no title is typed', () => { beforeEach(async (done) => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); await browser.get(TestConfig.adf.url + '/activiti');
processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]); done();
});
it('[C279976] Should no checklist be created when no title is typed', () => {
taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.clickOnAddChecklistButton().clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().clickCreateChecklistButton();
taskPage.checkChecklistDialogIsNotDisplayed().checkNoChecklistIsDisplayed(); taskPage.checkChecklistDialogIsNotDisplayed().checkNoChecklistIsDisplayed();
@@ -85,9 +94,8 @@ describe('Checklist component', () => {
}); });
it('[C279975] Should no checklist be created when clicking on Cancel button on checklist dialog', () => { it('[C279975] Should no checklist be created when clicking on Cancel button on checklist dialog', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]);
taskPage.clickOnAddChecklistButton().addName(checklists[0]).clickCancelButton(); taskPage.clickOnAddChecklistButton().addName(checklists[0]).clickCancelButton();
taskPage.checkChecklistDialogIsNotDisplayed().checkNoChecklistIsDisplayed(); taskPage.checkChecklistDialogIsNotDisplayed().checkNoChecklistIsDisplayed();
@@ -95,9 +103,8 @@ describe('Checklist component', () => {
}); });
it('[C261025] Should Checklist dialog be displayed when clicking on add checklist button', () => { it('[C261025] Should Checklist dialog be displayed when clicking on add checklist button', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]);
taskPage.clickOnAddChecklistButton(); taskPage.clickOnAddChecklistButton();
taskPage.checkChecklistDialogIsDisplayed(); taskPage.checkChecklistDialogIsDisplayed();
@@ -108,9 +115,8 @@ describe('Checklist component', () => {
}); });
it('[C261026] Should Checklist number increase when a new checklist is added', () => { it('[C261026] Should Checklist number increase when a new checklist is added', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[1]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[1]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[1]).selectRowByContentName(tasks[1]);
taskPage.clickOnAddChecklistButton().addName(checklists[2]).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(checklists[2]).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(checklists[2]); taskPage.checkChecklistIsDisplayed(checklists[2]);
@@ -123,13 +129,15 @@ describe('Checklist component', () => {
}); });
it('[C279980] Should checklist be removed when clicking on remove button', () => { it('[C279980] Should checklist be removed when clicking on remove button', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[2]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[2]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[2]).selectRowByContentName(tasks[2]);
taskPage.clickOnAddChecklistButton().addName(removeChecklist[0]).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton();
taskPage.clickOnAddChecklistButton().addName(removeChecklist[1]).clickCreateChecklistButton(); taskPage.checkChecklistDialogIsDisplayed();
checklistDialog.addName(removeChecklist[0]).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(removeChecklist[0]); taskPage.checkChecklistIsDisplayed(removeChecklist[0]);
taskPage.clickOnAddChecklistButton().addName(removeChecklist[1]).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(removeChecklist[1]); taskPage.checkChecklistIsDisplayed(removeChecklist[1]);
taskPage.removeChecklists(removeChecklist[1]); taskPage.removeChecklists(removeChecklist[1]);
@@ -139,20 +147,20 @@ describe('Checklist component', () => {
}); });
it('[C261027] Should not be able to remove a completed Checklist when clicking on remove button', () => { it('[C261027] Should not be able to remove a completed Checklist when clicking on remove button', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[3]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[3]).selectRowByContentName(tasks[3]);
taskPage.clickOnAddChecklistButton().addName(removeChecklist[2]).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(removeChecklist[2]).clickCreateChecklistButton();
taskPage.clickOnAddChecklistButton().addName(removeChecklist[3]).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(removeChecklist[2]); taskPage.checkChecklistIsDisplayed(removeChecklist[2]);
taskPage.clickOnAddChecklistButton().addName(removeChecklist[3]).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(removeChecklist[3]); taskPage.checkChecklistIsDisplayed(removeChecklist[3]);
taskPage.tasksListPage().getDataTable().selectRowByContentName(removeChecklist[3]); taskPage.tasksListPage().selectRow(removeChecklist[3]);
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.tasksListPage().getDataTable().checkContentIsNotDisplayed(removeChecklist[3]); taskPage.tasksListPage().checkContentIsNotDisplayed(removeChecklist[3]);
taskPage.tasksListPage().getDataTable().selectRowByContentName(tasks[3]); taskPage.tasksListPage().selectRow(tasks[3]);
taskPage.checkChecklistIsDisplayed(removeChecklist[2]); taskPage.checkChecklistIsDisplayed(removeChecklist[2]);
taskPage.checkChecklistIsDisplayed(removeChecklist[3]); taskPage.checkChecklistIsDisplayed(removeChecklist[3]);
expect(taskPage.getNumberOfChecklists()).toEqual('2'); expect(taskPage.getNumberOfChecklists()).toEqual('2');
@@ -161,30 +169,29 @@ describe('Checklist component', () => {
}); });
it('[C261028] Should all checklists of a task be completed when the task is completed', () => { it('[C261028] Should all checklists of a task be completed when the task is completed', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[4]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[4]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[4]).selectRowByContentName(tasks[4]);
taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[0]).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[0]).clickCreateChecklistButton();
taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[1]).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[1]).clickCreateChecklistButton();
taskPage.tasksListPage().getDataTable().selectRowByContentName(hierarchyChecklist[0]); taskPage.tasksListPage().selectRow(hierarchyChecklist[0]);
taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[2]).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[2]).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(hierarchyChecklist[2]); taskPage.checkChecklistIsDisplayed(hierarchyChecklist[2]);
taskPage.tasksListPage().getDataTable().selectRowByContentName(hierarchyChecklist[1]); taskPage.tasksListPage().selectRow(hierarchyChecklist[1]);
taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[3]).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(hierarchyChecklist[3]).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(hierarchyChecklist[3]); taskPage.checkChecklistIsDisplayed(hierarchyChecklist[3]);
taskPage.tasksListPage().getDataTable().selectRowByContentName(tasks[4]); taskPage.tasksListPage().selectRow(tasks[4]);
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[4]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[4]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(hierarchyChecklist[0]); taskPage.tasksListPage().checkContentIsDisplayed(hierarchyChecklist[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(hierarchyChecklist[1]); taskPage.tasksListPage().checkContentIsDisplayed(hierarchyChecklist[1]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(hierarchyChecklist[2]); taskPage.tasksListPage().checkContentIsDisplayed(hierarchyChecklist[2]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(hierarchyChecklist[3]); taskPage.tasksListPage().checkContentIsDisplayed(hierarchyChecklist[3]);
}); });
}); });

View File

@@ -96,7 +96,7 @@ describe('Comment component for Processes', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskName.completed_task); taskPage.tasksListPage().selectRow(taskName.completed_task);
commentsPage.checkCommentInputIsNotDisplayed(); commentsPage.checkCommentInputIsNotDisplayed();
}); });
@@ -119,7 +119,7 @@ describe('Comment component for Processes', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskName.multiple_users); taskPage.tasksListPage().selectRow(taskName.multiple_users);
taskPage.taskDetails().selectActivityTab(); taskPage.taskDetails().selectActivityTab();
browser.controlFlow().execute(async() => { browser.controlFlow().execute(async() => {
@@ -149,7 +149,7 @@ describe('Comment component for Processes', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskName.multiple_users); taskPage.tasksListPage().selectRow(taskName.multiple_users);
taskPage.taskDetails().selectActivityTab(); taskPage.taskDetails().selectActivityTab();
browser.controlFlow().execute(async() => { browser.controlFlow().execute(async() => {

View File

@@ -129,8 +129,8 @@ describe('Start Task - Custom App', () => {
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + nrOfTasks + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + nrOfTasks + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(nrOfTasks); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(nrOfTasks);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
}); });
expect(paginationPage.getCurrentPage()).toEqual('Page 1'); expect(paginationPage.getCurrentPage()).toEqual('Page 1');
@@ -148,8 +148,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.twenty);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + nrOfTasks + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + nrOfTasks + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(nrOfTasks); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(nrOfTasks);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
}); });
paginationPage.checkNextPageButtonIsDisabled(); paginationPage.checkNextPageButtonIsDisabled();
@@ -164,8 +164,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true);
}); });
@@ -174,8 +174,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 6-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 6-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true);
}); });
@@ -184,8 +184,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true);
}); });
@@ -194,8 +194,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
}); });
}); });
@@ -209,8 +209,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.tenValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(0, 10))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(0, 10))).toEqual(true);
}); });
paginationPage.clickOnNextPage(); paginationPage.clickOnNextPage();
@@ -218,8 +218,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.tenValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(10, 20))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(10, 20))).toEqual(true);
}); });
}); });
@@ -233,8 +233,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue * currentPage + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fifteenValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fifteenValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(0, 15))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(0, 15))).toEqual(true);
}); });
currentPage++; currentPage++;
@@ -242,8 +242,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.taskList().getDataTable().waitForTableBody(); taskListSinglePage.taskList().getDataTable().waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + nrOfTasks + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + nrOfTasks + ' of ' + nrOfTasks);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(nrOfTasks - itemsPerPage.fifteenValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(nrOfTasks - itemsPerPage.fifteenValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
}); });
}); });
@@ -277,8 +277,8 @@ describe('Start Task - Custom App', () => {
expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage); expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage);
expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages); expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages);
paginationPage.checkPageSelectorIsDisplayed(); paginationPage.checkPageSelectorIsDisplayed();
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(0, 5))).toEqual(true);
}); });
@@ -288,8 +288,8 @@ describe('Start Task - Custom App', () => {
expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage); expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage);
expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages); expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages);
paginationPage.checkPageSelectorIsDisplayed(); paginationPage.checkPageSelectorIsDisplayed();
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(5, 10))).toEqual(true);
}); });
@@ -299,8 +299,8 @@ describe('Start Task - Custom App', () => {
expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage); expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage);
expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages); expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages);
paginationPage.checkPageSelectorIsDisplayed(); paginationPage.checkPageSelectorIsDisplayed();
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(10, 15))).toEqual(true);
}); });
@@ -310,8 +310,8 @@ describe('Start Task - Custom App', () => {
expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage); expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage);
expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages); expect(paginationPage.getTotalPages()).toEqual(totalNrOfPages);
paginationPage.checkPageSelectorIsDisplayed(); paginationPage.checkPageSelectorIsDisplayed();
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(itemsPerPage.fiveValue); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName.slice(15, 20))).toEqual(true);
}); });
}); });
@@ -333,8 +333,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.clickResetButton(); taskListSinglePage.clickResetButton();
taskListSinglePage.typeDueAfter(beforeDate); taskListSinglePage.typeDueAfter(beforeDate);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(paginationTasksName[0]); taskListSinglePage.taskList().checkContentIsDisplayed(paginationTasksName[0]);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(1); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(1);
}); });
it('[C286414] Task is not displayed when typing into dueAfter field a date after the task due date', function () { it('[C286414] Task is not displayed when typing into dueAfter field a date after the task due date', function () {
@@ -366,8 +366,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.clickResetButton(); taskListSinglePage.clickResetButton();
taskListSinglePage.typeDueBefore(afterDate); taskListSinglePage.typeDueBefore(afterDate);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(paginationTasksName[0]); taskListSinglePage.taskList().checkContentIsDisplayed(paginationTasksName[0]);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(1); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(1);
}); });
it('[C286426] Task is not displayed when typing into dueBefore field the same date as tasks due date', function () { it('[C286426] Task is not displayed when typing into dueBefore field the same date as tasks due date', function () {
@@ -393,8 +393,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.typeDueBefore(afterDate); taskListSinglePage.typeDueBefore(afterDate);
taskListSinglePage.typeDueAfter(beforeDate); taskListSinglePage.typeDueAfter(beforeDate);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(paginationTasksName[0]); taskListSinglePage.taskList().checkContentIsDisplayed(paginationTasksName[0]);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(1); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(1);
}); });
it('[C286429] Task is not displayed when typing into dueAfter field a date after the tasks due date and into dueBefore a date after', function () { it('[C286429] Task is not displayed when typing into dueAfter field a date after the tasks due date and into dueBefore a date after', function () {
@@ -413,9 +413,9 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.typeAppId(appRuntime.id); taskListSinglePage.typeAppId(appRuntime.id);
expect(taskListSinglePage.getAppId()).toEqual(appRuntime.id.toString()); expect(taskListSinglePage.getAppId()).toEqual(appRuntime.id.toString());
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(app.taskName); taskListSinglePage.taskList().checkContentIsDisplayed(app.taskName);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(app.taskName); taskListSinglePage.taskList().checkContentIsDisplayed(app.taskName);
taskListSinglePage.taskList().getDataTable().checkRowIsNotDisplayedByName(paginationTasksName[13]); taskListSinglePage.taskList().checkContentIsNotDisplayed(paginationTasksName[13]);
}); });
it('[C280569] Should be able to see No tasks found when typing an invalid appId', () => { it('[C280569] Should be able to see No tasks found when typing an invalid appId', () => {
@@ -435,8 +435,10 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.typeTaskName(paginationTasksName[13]); taskListSinglePage.typeTaskName(paginationTasksName[13]);
expect(taskListSinglePage.getTaskName()).toEqual(paginationTasksName[13]); expect(taskListSinglePage.getTaskName()).toEqual(paginationTasksName[13]);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(paginationTasksName[13]); taskListSinglePage.taskList().checkContentIsDisplayed(paginationTasksName[13]);
expect(taskListSinglePage.taskList().getDataTable().getNumberOfRowsDisplayedWithSameName(paginationTasksName[13])).toEqual(2); taskListSinglePage.taskList().getRowsDisplayedWithSameName(paginationTasksName[13]).then((list) => {
expect(list.count()).toEqual(2);
});
}); });
it('[C280571] Should be able to see No tasks found when typing a task name that does not exist', () => { it('[C280571] Should be able to see No tasks found when typing a task name that does not exist', () => {
@@ -456,8 +458,8 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.typeTaskId(taskWithDueDate.id); taskListSinglePage.typeTaskId(taskWithDueDate.id);
expect(taskListSinglePage.getTaskId()).toEqual(taskWithDueDate.id); expect(taskListSinglePage.getTaskId()).toEqual(taskWithDueDate.id);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(taskWithDueDate.name); taskListSinglePage.taskList().checkContentIsDisplayed(taskWithDueDate.name);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(1); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(1);
}); });
it('[C280630] Should be able to see No tasks found when typing an invalid taskId', () => { it('[C280630] Should be able to see No tasks found when typing an invalid taskId', () => {
@@ -476,10 +478,10 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.selectState('Completed'); taskListSinglePage.selectState('Completed');
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(completedTasks[0].name); taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[0].name);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(completedTasks[1].name); taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[1].name);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(completedTasks[2].name); taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[2].name);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(3); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(3);
}); });
it('[C286597] Should be able to see only running tasks when choosing Active from state drop down', () => { it('[C286597] Should be able to see only running tasks when choosing Active from state drop down', () => {
@@ -488,13 +490,13 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.selectState('Active'); taskListSinglePage.selectState('Active');
taskListSinglePage.taskList().getDataTable().checkRowIsNotDisplayedByName(completedTasks[0].name); taskListSinglePage.taskList().checkContentIsNotDisplayed(completedTasks[0].name);
taskListSinglePage.taskList().getDataTable().checkRowIsNotDisplayedByName(completedTasks[1].name); taskListSinglePage.taskList().checkContentIsNotDisplayed(completedTasks[1].name);
taskListSinglePage.taskList().getDataTable().checkRowIsNotDisplayedByName(completedTasks[2].name); taskListSinglePage.taskList().checkContentIsNotDisplayed(completedTasks[2].name);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
}); });
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(20); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(20);
}); });
it('[C286598] Should be able to see all tasks when choosing All from state drop down', () => { it('[C286598] Should be able to see all tasks when choosing All from state drop down', () => {
@@ -503,13 +505,13 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.selectState('All'); taskListSinglePage.selectState('All');
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(completedTasks[0].name); taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[0].name);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(completedTasks[1].name); taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[1].name);
taskListSinglePage.taskList().getDataTable().checkRowIsDisplayedByName(completedTasks[2].name); taskListSinglePage.taskList().checkContentIsDisplayed(completedTasks[2].name);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true); expect(Util.arrayContainsArray(list, allTasksName)).toEqual(true);
}); });
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(23); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(23);
}); });
// failing due to ADF-3667, blocked by ACTIVITI-1975 // failing due to ADF-3667, blocked by ACTIVITI-1975
@@ -523,16 +525,16 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.selectState('All'); taskListSinglePage.selectState('All');
taskListSinglePage.selectSort('Due (asc)'); taskListSinglePage.selectSort('Due (asc)');
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, sortAscByDueDate)).toEqual(true); expect(Util.arrayContainsArray(list, sortAscByDueDate)).toEqual(true);
}); });
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(4); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(4);
taskListSinglePage.clickResetButton(); taskListSinglePage.clickResetButton();
taskListSinglePage.selectState('All'); taskListSinglePage.selectState('All');
taskListSinglePage.selectSort('Due (asc)'); taskListSinglePage.selectSort('Due (asc)');
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(23); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(23);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list.slice(0, 4), sortAscByDueDate)).toEqual(true); expect(Util.arrayContainsArray(list.slice(0, 4), sortAscByDueDate)).toEqual(true);
expect(Util.arrayContainsArray(list.slice(4, list.length), allTasksName)).toEqual(true); expect(Util.arrayContainsArray(list.slice(4, list.length), allTasksName)).toEqual(true);
}); });
@@ -549,16 +551,16 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.selectState('All'); taskListSinglePage.selectState('All');
taskListSinglePage.selectSort('Due (desc)'); taskListSinglePage.selectSort('Due (desc)');
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list, sortDescByDueDate)).toEqual(true); expect(Util.arrayContainsArray(list, sortDescByDueDate)).toEqual(true);
}); });
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(4); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(4);
taskListSinglePage.clickResetButton(); taskListSinglePage.clickResetButton();
taskListSinglePage.selectState('All'); taskListSinglePage.selectState('All');
taskListSinglePage.selectSort('Due (asc)'); taskListSinglePage.selectSort('Due (asc)');
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(23); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(23);
taskListSinglePage.taskList().getDataTable().getAllRowsNameColumn().then(function (list) { taskListSinglePage.taskList().getAllRowsNameColumn().then(function (list) {
expect(Util.arrayContainsArray(list.slice(0, 4), sortDescByDueDate)).toEqual(true); expect(Util.arrayContainsArray(list.slice(0, 4), sortDescByDueDate)).toEqual(true);
expect(Util.arrayContainsArray(list.slice(4, list.length), allTasksName)).toEqual(true); expect(Util.arrayContainsArray(list.slice(4, list.length), allTasksName)).toEqual(true);
}); });
@@ -573,7 +575,7 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.typeProcessDefinitionId(processDefinitionId.processDefinitionId); taskListSinglePage.typeProcessDefinitionId(processDefinitionId.processDefinitionId);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(4); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(4);
taskListSinglePage.getAllProcessDefinitionIds().then(function (list) { taskListSinglePage.getAllProcessDefinitionIds().then(function (list) {
expect(Util.arrayContainsArray(list, processDefinitionIds)).toEqual(true); expect(Util.arrayContainsArray(list, processDefinitionIds)).toEqual(true);
}); });
@@ -597,7 +599,7 @@ describe('Start Task - Custom App', () => {
taskListSinglePage.typeProcessInstanceId(processDefinitionId.id); taskListSinglePage.typeProcessInstanceId(processDefinitionId.id);
expect(taskListSinglePage.getProcessInstanceId()).toEqual(processDefinitionId.id); expect(taskListSinglePage.getProcessInstanceId()).toEqual(processDefinitionId.id);
expect(taskListSinglePage.taskList().getDataTable().getAllDisplayedRows()).toBe(1); expect(taskListSinglePage.taskList().getDataTable().numberOfRows()).toBe(1);
taskListSinglePage.getAllProcessInstanceIds().then(function (list) { taskListSinglePage.getAllProcessInstanceIds().then(function (list) {
expect(Util.arrayContainsArray(list, processInstanceIds)).toEqual(true); expect(Util.arrayContainsArray(list, processInstanceIds)).toEqual(true);
}); });

View File

@@ -84,7 +84,7 @@ describe('Form widgets', () => {
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(newTask).addDescription('Description').addForm(app.formName).clickStartButton() taskPage.createNewTask().addName(newTask).addDescription('Description').addForm(app.formName).clickStartButton()
.then(() => { .then(() => {
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(newTask); taskPage.tasksListPage().checkContentIsDisplayed(newTask);
taskPage.formFields().checkFormIsDisplayed(); taskPage.formFields().checkFormIsDisplayed();
expect(taskPage.taskDetails().getTitle()).toEqual('Activities'); expect(taskPage.taskDetails().getTitle()).toEqual('Activities');
}) })

View File

@@ -80,7 +80,7 @@ describe('Items per page set to 15 and adding of tasks', () => {
expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage); expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage);
expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages); expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue + ' of ' + (nrOfTasks - 5)); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue + ' of ' + (nrOfTasks - 5));
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.fifteenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fifteenValue);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
for (i; i < nrOfTasks; i++) { for (i; i < nrOfTasks; i++) {
@@ -94,7 +94,7 @@ describe('Items per page set to 15 and adding of tasks', () => {
expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage); expect(paginationPage.getCurrentPage()).toEqual('Page ' + currentPage);
expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages); expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages);
expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + nrOfTasks + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + nrOfTasks + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(nrOfTasks - itemsPerPage.fifteenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(nrOfTasks - itemsPerPage.fifteenValue);
paginationPage.checkNextPageButtonIsDisabled(); paginationPage.checkNextPageButtonIsDisabled();
paginationPage.checkPreviousPageButtonIsEnabled(); paginationPage.checkPreviousPageButtonIsEnabled();
}); });

View File

@@ -18,6 +18,7 @@
import { LoginPage } from '../pages/adf/loginPage'; import { LoginPage } from '../pages/adf/loginPage';
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import CONSTANTS = require('../util/constants'); import CONSTANTS = require('../util/constants');
@@ -30,6 +31,7 @@ import AlfrescoApi = require('alfresco-js-api-node');
import { UsersActions } from '../actions/users.actions'; import { UsersActions } from '../actions/users.actions';
import fs = require('fs'); import fs = require('fs');
import path = require('path'); import path = require('path');
import { browser } from 'protractor';
describe('People component', () => { describe('People component', () => {
@@ -39,6 +41,7 @@ describe('People component', () => {
let app = resources.Files.SIMPLE_APP_WITH_USER_FORM; let app = resources.Files.SIMPLE_APP_WITH_USER_FORM;
let taskPage = new TasksPage(); let taskPage = new TasksPage();
let peopleTitle = 'People this task is shared with '; let peopleTitle = 'People this task is shared with ';
const processServices = new ProcessServicesPage();
let tasks = ['no people involved task', 'remove people task', 'can not complete task', 'multiple users', 'completed filter']; let tasks = ['no people involved task', 'remove people task', 'can not complete task', 'multiple users', 'completed filter'];
@@ -68,7 +71,7 @@ describe('People component', () => {
await this.alfrescoJsApi.activiti.appsApi.importAppDefinition(file); await this.alfrescoJsApi.activiti.appsApi.importAppDefinition(file);
for (let i = 0; i < tasks.length; i++) { for (let i = 0; i < tasks.length; i++) {
this.alfrescoJsApi.activiti.taskApi.createNewTask({name: tasks[i]}); await this.alfrescoJsApi.activiti.taskApi.createNewTask({name: tasks[i]});
} }
loginPage.loginToProcessServicesUsingUserModel(processUserModel); loginPage.loginToProcessServicesUsingUserModel(processUserModel);
@@ -76,10 +79,17 @@ describe('People component', () => {
done(); done();
}); });
it('[C279989] Should no people be involved when no user is typed', () => { beforeEach(async (done) => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); loginPage.loginToProcessServicesUsingUserModel(processUserModel);
await browser.get(TestConfig.adf.url + '/activiti');
processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]); done();
});
it('[C279989] Should no people be involved when no user is typed', () => {
taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.taskDetails().clickInvolvePeopleButton(); taskPage.taskDetails().clickInvolvePeopleButton();
taskPage.taskDetails().clickAddInvolvedUserButton(); taskPage.taskDetails().clickAddInvolvedUserButton();
@@ -87,9 +97,8 @@ describe('People component', () => {
}); });
it('[C279990] Should no people be involved when clicking on Cancel button', () => { it('[C279990] Should no people be involved when clicking on Cancel button', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]);
taskPage.taskDetails().clickInvolvePeopleButton() taskPage.taskDetails().clickInvolvePeopleButton()
.typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName) .typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)
@@ -100,9 +109,8 @@ describe('People component', () => {
}); });
it('[C261029] Should People dialog be displayed when clicking on add people button', () => { it('[C261029] Should People dialog be displayed when clicking on add people button', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]);
taskPage.taskDetails().clickInvolvePeopleButton(); taskPage.taskDetails().clickInvolvePeopleButton();
expect(taskPage.taskDetails().getInvolvePeopleHeader()).toEqual('Add people and groups'); expect(taskPage.taskDetails().getInvolvePeopleHeader()).toEqual('Add people and groups');
@@ -112,9 +120,8 @@ describe('People component', () => {
}); });
it('[C279991] Should not be able to involve a user when is the creator of the task', () => { it('[C279991] Should not be able to involve a user when is the creator of the task', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]);
taskPage.taskDetails().clickInvolvePeopleButton() taskPage.taskDetails().clickInvolvePeopleButton()
.typeUser(processUserModel.firstName + ' ' + processUserModel.lastName) .typeUser(processUserModel.firstName + ' ' + processUserModel.lastName)
@@ -124,9 +131,8 @@ describe('People component', () => {
}); });
it('[C261030] Should involved user be removed when clicking on remove button', () => { it('[C261030] Should involved user be removed when clicking on remove button', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]).selectRowByContentName(tasks[0]);
taskPage.taskDetails().clickInvolvePeopleButton() taskPage.taskDetails().clickInvolvePeopleButton()
.typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName) .typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)
@@ -141,9 +147,8 @@ describe('People component', () => {
}); });
it('[C280013] Should not be able to complete a task by a involved user', () => { it('[C280013] Should not be able to complete a task by a involved user', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[1]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[1]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[1]).selectRowByContentName(tasks[1]);
taskPage.taskDetails().clickInvolvePeopleButton() taskPage.taskDetails().clickInvolvePeopleButton()
.typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName) .typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)
@@ -157,16 +162,15 @@ describe('People component', () => {
loginPage.loginToProcessServicesUsingUserModel(assigneeUserModel); loginPage.loginToProcessServicesUsingUserModel(assigneeUserModel);
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[1]).selectRowByContentName(tasks[1]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[1]);
taskPage.tasksListPage().selectRow(tasks[1]);
taskPage.completeTaskNoFormNotDisplayed(); taskPage.completeTaskNoFormNotDisplayed();
}); });
it('[C261031] Should be able to involve multiple users to a task', () => { it('[C261031] Should be able to involve multiple users to a task', () => {
loginPage.loginToProcessServicesUsingUserModel(processUserModel); taskPage.tasksListPage().checkContentIsDisplayed(tasks[2]);
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().selectRow(tasks[2]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[2]).selectRowByContentName(tasks[2]);
taskPage.taskDetails().clickInvolvePeopleButton() taskPage.taskDetails().clickInvolvePeopleButton()
.typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName) .typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)
@@ -195,9 +199,8 @@ describe('People component', () => {
}); });
it('[C280014] Should involved user see the task in completed filters when the task is completed', () => { it('[C280014] Should involved user see the task in completed filters when the task is completed', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.tasksListPage().selectRow(tasks[3]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[3]).selectRowByContentName(tasks[3]);
taskPage.taskDetails().clickInvolvePeopleButton() taskPage.taskDetails().clickInvolvePeopleButton()
.typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName) .typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)
@@ -210,17 +213,18 @@ describe('People component', () => {
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(tasks[3]); taskPage.tasksListPage().selectRow(tasks[3]);
expect(taskPage.taskDetails().getInvolvedUserEmail(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)) expect(taskPage.taskDetails().getInvolvedUserEmail(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName))
.toEqual(assigneeUserModel.email); .toEqual(assigneeUserModel.email);
loginPage.loginToProcessServicesUsingUserModel(assigneeUserModel); loginPage.loginToProcessServicesUsingUserModel(assigneeUserModel);
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[3]).selectRowByContentName(tasks[3]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
taskPage.tasksListPage().selectRow(tasks[3]);
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsNotDisplayed(tasks[3]); taskPage.tasksListPage().checkContentIsNotDisplayed(tasks[3]);
}); });
}); });

View File

@@ -105,12 +105,14 @@ describe('Process List - Pagination', function () {
done(); done();
}); });
it('[C261042] Should display default pagination', function () { beforeEach(async (done) => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton(); await navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
done();
});
it('[C261042] Should display default pagination', function () {
page = 1; page = 1;
totalPages = 1; totalPages = 1;
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();
@@ -128,7 +130,6 @@ describe('Process List - Pagination', function () {
it('[C261043] Should be possible to Items per page to 15', function () { it('[C261043] Should be possible to Items per page to 15', function () {
page = 1; page = 1;
totalPages = 2; totalPages = 2;
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();
@@ -170,7 +171,6 @@ describe('Process List - Pagination', function () {
it('[C261044] Should be possible to Items per page to 10', function () { it('[C261044] Should be possible to Items per page to 10', function () {
page = 1; page = 1;
totalPages = 2; totalPages = 2;
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();
@@ -212,7 +212,6 @@ describe('Process List - Pagination', function () {
it('[C261047] Should be possible to Items per page to 20', function () { it('[C261047] Should be possible to Items per page to 20', function () {
page = 1; page = 1;
totalPages = 1; totalPages = 1;
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();
@@ -242,7 +241,6 @@ describe('Process List - Pagination', function () {
let showing; let showing;
page = 1; page = 1;
totalPages = 4; totalPages = 4;
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();
@@ -317,7 +315,6 @@ describe('Process List - Pagination', function () {
let showing; let showing;
page = 1; page = 1;
totalPages = 2; totalPages = 2;
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();
processFiltersPage.waitForTableBody(); processFiltersPage.waitForTableBody();
@@ -368,7 +365,6 @@ describe('Process List - Pagination', function () {
}); });
it('[C261048] Should be possible to sort processes by name', function () { it('[C261048] Should be possible to sort processes by name', function () {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();
@@ -388,7 +384,6 @@ describe('Process List - Pagination', function () {
}); });
it('[C286260] Should keep sorting when changing \'Items per page\'', function () { it('[C286260] Should keep sorting when changing \'Items per page\'', function () {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickProcessButton();
processFiltersPage.clickRunningFilterButton(); processFiltersPage.clickRunningFilterButton();
processFiltersPage.checkFilterIsHighlighted(processFilterRunning); processFiltersPage.checkFilterIsHighlighted(processFilterRunning);
processDetailsPage.checkProcessTitleIsDisplayed(); processDetailsPage.checkProcessTitleIsDisplayed();

View File

@@ -75,7 +75,7 @@ describe('Start Task - Task App', () => {
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(tasks[0]).clickStartButton() taskPage.createNewTask().addName(tasks[0]).clickStartButton()
.then(() => { .then(() => {
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.taskDetails().noFormIsDisplayed(); taskPage.taskDetails().noFormIsDisplayed();
taskPage.taskDetails().checkCompleteTaskButtonIsDisplayed().checkCompleteTaskButtonIsEnabled(); taskPage.taskDetails().checkCompleteTaskButtonIsDisplayed().checkCompleteTaskButtonIsEnabled();
taskPage.taskDetails().checkAttachFormButtonIsDisplayed(); taskPage.taskDetails().checkAttachFormButtonIsDisplayed();
@@ -90,12 +90,12 @@ describe('Start Task - Task App', () => {
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(tasks[1]).clickStartButton() taskPage.createNewTask().addName(tasks[1]).clickStartButton()
.then(() => { .then(() => {
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[1]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[1]);
taskPage.formFields().noFormIsDisplayed(); taskPage.formFields().noFormIsDisplayed();
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(tasks[1]); taskPage.tasksListPage().selectRow(tasks[1]);
expect(taskPage.formFields().getCompletedTaskNoFormMessage()).toEqual('Task ' + tasks[1] + ' completed'); expect(taskPage.formFields().getCompletedTaskNoFormMessage()).toEqual('Task ' + tasks[1] + ' completed');
taskPage.formFields().noFormIsDisplayed(); taskPage.formFields().noFormIsDisplayed();
@@ -108,7 +108,7 @@ describe('Start Task - Task App', () => {
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(tasks[2]).clickStartButton() taskPage.createNewTask().addName(tasks[2]).clickStartButton()
.then(() => { .then(() => {
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[2]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[2]);
taskPage.formFields().noFormIsDisplayed(); taskPage.formFields().noFormIsDisplayed();
taskPage.formFields().clickOnAttachFormButton().selectForm(app.formName).clickOnAttachFormButton(); taskPage.formFields().clickOnAttachFormButton().selectForm(app.formName).clickOnAttachFormButton();
@@ -121,7 +121,7 @@ describe('Start Task - Task App', () => {
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(tasks[3]).addForm(app.formName).clickStartButton(); taskPage.createNewTask().addName(tasks[3]).addForm(app.formName).clickStartButton();
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[3]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
expect(taskPage.taskDetails().getFormName()).toEqual(app.formName); expect(taskPage.taskDetails().getFormName()).toEqual(app.formName);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
@@ -130,7 +130,7 @@ describe('Start Task - Task App', () => {
}); });
browser.refresh(); browser.refresh();
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[3]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[3]);
taskPage.checkTaskTitle(tasks[3]); taskPage.checkTaskTitle(tasks[3]);
taskPage.formFields().noFormIsDisplayed(); taskPage.formFields().noFormIsDisplayed();

View File

@@ -99,7 +99,7 @@ describe('Start Task - Custom App', () => {
.then(() => { .then(() => {
taskPage taskPage
.tasksListPage() .tasksListPage()
.getDataTable().checkContentIsDisplayed(tasks[0]); .checkContentIsDisplayed(tasks[0]);
taskPage taskPage
.taskDetails() .taskDetails()
@@ -150,7 +150,7 @@ describe('Start Task - Custom App', () => {
taskPage taskPage
.tasksListPage() .tasksListPage()
.getDataTable().checkContentIsDisplayed(tasks[2]); .checkContentIsDisplayed(tasks[2]);
taskPage taskPage
.formFields() .formFields()
@@ -176,7 +176,7 @@ describe('Start Task - Custom App', () => {
.clickCancelButton(); .clickCancelButton();
taskPage.tasksListPage() taskPage.tasksListPage()
.getDataTable().checkContentIsNotDisplayed(tasks[3]); .checkContentIsNotDisplayed(tasks[3]);
expect(taskPage.filtersPage().getActiveFilter()).toEqual(CONSTANTS.TASK_FILTERS.MY_TASKS); expect(taskPage.filtersPage().getActiveFilter()).toEqual(CONSTANTS.TASK_FILTERS.MY_TASKS);
}); });
@@ -193,7 +193,7 @@ describe('Start Task - Custom App', () => {
taskPage taskPage
.tasksListPage() .tasksListPage()
.getDataTable().checkContentIsDisplayed(tasks[4]); .checkContentIsDisplayed(tasks[4]);
expect(taskPage.formFields() expect(taskPage.formFields()
.setFieldValue(by.id, formTextField, formFieldValue) .setFieldValue(by.id, formTextField, formFieldValue)
@@ -206,7 +206,7 @@ describe('Start Task - Custom App', () => {
taskPage taskPage
.tasksListPage() .tasksListPage()
.getDataTable().checkContentIsDisplayed(tasks[4]); .checkContentIsDisplayed(tasks[4]);
taskPage taskPage
.formFields() .formFields()
@@ -244,8 +244,8 @@ describe('Start Task - Custom App', () => {
.goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); .goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
taskPage.tasksListPage() taskPage.tasksListPage()
.getDataTable().checkContentIsDisplayed(tasks[5]) .checkContentIsDisplayed(tasks[5]);
.selectRowByContentName(tasks[5]); taskPage.tasksListPage().selectRow(tasks[5]);
taskPage.checkTaskTitle(tasks[5]); taskPage.checkTaskTitle(tasks[5]);
@@ -268,7 +268,7 @@ describe('Start Task - Custom App', () => {
navigationBarPage.navigateToProcessServicesPage().goToApp(appModel.name).clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToApp(appModel.name).clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(showHeaderTask).clickStartButton(); taskPage.createNewTask().addName(showHeaderTask).clickStartButton();
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(showHeaderTask); taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask);
appNavigationBarPage.clickSettingsButton(); appNavigationBarPage.clickSettingsButton();
taskPage.taskDetails().appSettingsToggles().disableShowHeader(); taskPage.taskDetails().appSettingsToggles().disableShowHeader();

View File

@@ -96,7 +96,7 @@ describe('Start Task - Task App', () => {
taskPage.createNewTask().addName(tasks[0]) taskPage.createNewTask().addName(tasks[0])
.addForm(app.formName).clickStartButton() .addForm(app.formName).clickStartButton()
.then(() => { .then(() => {
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[0]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[0]);
taskPage.taskDetails().clickInvolvePeopleButton() taskPage.taskDetails().clickInvolvePeopleButton()
.typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName) .typeUser(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)
.selectUserToInvolve(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName) .selectUserToInvolve(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName)
@@ -118,7 +118,7 @@ describe('Start Task - Task App', () => {
taskPage.createNewTask().checkStartButtonIsDisabled().addName(tasks[3]) taskPage.createNewTask().checkStartButtonIsDisabled().addName(tasks[3])
.checkStartButtonIsEnabled().clickCancelButton() .checkStartButtonIsEnabled().clickCancelButton()
.then(() => { .then(() => {
taskPage.tasksListPage().getDataTable().checkContentIsNotDisplayed(tasks[3]); taskPage.tasksListPage().checkContentIsNotDisplayed(tasks[3]);
expect(taskPage.filtersPage().getActiveFilter()).toEqual(CONSTANTS.TASK_FILTERS.MY_TASKS); expect(taskPage.filtersPage().getActiveFilter()).toEqual(CONSTANTS.TASK_FILTERS.MY_TASKS);
}); });
}); });
@@ -129,11 +129,11 @@ describe('Start Task - Task App', () => {
taskPage.createNewTask() taskPage.createNewTask()
.addForm(app.formName).addName(tasks[4]).clickStartButton() .addForm(app.formName).addName(tasks[4]).clickStartButton()
.then(() => { .then(() => {
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[4]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[4]);
expect(taskPage.formFields().setFieldValue(by.id, formTextField, formFieldValue) expect(taskPage.formFields().setFieldValue(by.id, formTextField, formFieldValue)
.getFieldValue(formTextField)).toEqual(formFieldValue); .getFieldValue(formTextField)).toEqual(formFieldValue);
taskPage.formFields().refreshForm().checkFieldValue(by.id, formTextField, ''); taskPage.formFields().refreshForm().checkFieldValue(by.id, formTextField, '');
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[4]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[4]);
taskPage.formFields().setFieldValue(by.id, formTextField, formFieldValue) taskPage.formFields().setFieldValue(by.id, formTextField, formFieldValue)
.checkFieldValue(by.id, formTextField, formFieldValue); .checkFieldValue(by.id, formTextField, formFieldValue);
taskPage.formFields().saveForm().checkFieldValue(by.id, formTextField, formFieldValue); taskPage.formFields().saveForm().checkFieldValue(by.id, formTextField, formFieldValue);
@@ -149,7 +149,8 @@ describe('Start Task - Task App', () => {
taskPage.tasksListPage().checkTaskListIsLoaded(); taskPage.tasksListPage().checkTaskListIsLoaded();
taskPage.tasksListPage().getDataTable().waitForTableBody(); taskPage.tasksListPage().getDataTable().waitForTableBody();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(tasks[5]).selectRowByContentName(tasks[5]); taskPage.tasksListPage().checkContentIsDisplayed(tasks[5]);
taskPage.tasksListPage().selectRow(tasks[5]);
taskPage.checkTaskTitle(tasks[5]); taskPage.checkTaskTitle(tasks[5]);
expect(taskPage.taskDetails().getAssignee()).toEqual(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName); expect(taskPage.taskDetails().getAssignee()).toEqual(assigneeUserModel.firstName + ' ' + assigneeUserModel.lastName);
}); });
@@ -168,7 +169,7 @@ describe('Start Task - Task App', () => {
it('[C260420] Should Information box be hidden when showHeaderContent property is set on false', () => { it('[C260420] Should Information box be hidden when showHeaderContent property is set on false', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(showHeaderTask); taskPage.tasksListPage().checkContentIsDisplayed(showHeaderTask);
appNavigationBarPage.clickSettingsButton(); appNavigationBarPage.clickSettingsButton();
taskPage.taskDetails().appSettingsToggles().disableShowHeader(); taskPage.taskDetails().appSettingsToggles().disableShowHeader();

View File

@@ -132,7 +132,7 @@ describe('Attachment list action menu for tasks', () => {
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskName.completed); taskPage.tasksListPage().selectRow(taskName.completed);
attachmentListPage.checkAttachFileButtonIsNotDisplayed(); attachmentListPage.checkAttachFileButtonIsNotDisplayed();
attachmentListPage.viewFile(pngFile.name); attachmentListPage.viewFile(pngFile.name);
@@ -141,7 +141,7 @@ describe('Attachment list action menu for tasks', () => {
viewerPage.clickCloseButton(); viewerPage.clickCloseButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskName.completed); taskPage.tasksListPage().selectRow(taskName.completed);
attachmentListPage.downloadFile(pngFile.name); attachmentListPage.downloadFile(pngFile.name);
@@ -194,7 +194,7 @@ describe('Attachment list action menu for tasks', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName('SHARE KNOWLEDGE'); taskPage.tasksListPage().selectRow('SHARE KNOWLEDGE');
attachmentListPage.checkFileIsAttached(pngFile.name); attachmentListPage.checkFileIsAttached(pngFile.name);
@@ -205,7 +205,7 @@ describe('Attachment list action menu for tasks', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName('SHARE KNOWLEDGE'); taskPage.tasksListPage().selectRow('SHARE KNOWLEDGE');
attachmentListPage.checkEmptyAttachmentList(); attachmentListPage.checkEmptyAttachmentList();
}); });

View File

@@ -16,8 +16,8 @@
*/ */
import { LoginPage } from '../pages/adf/loginPage'; import { LoginPage } from '../pages/adf/loginPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import CONSTANTS = require('../util/constants'); import CONSTANTS = require('../util/constants');
@@ -32,14 +32,15 @@ import { AppsActions } from '../actions/APS/apps.actions';
import path = require('path'); import path = require('path');
import { Util } from '../util/util'; import { Util } from '../util/util';
import { browser } from 'protractor';
describe('Task Audit', () => { describe('Task Audit', () => {
let loginPage = new LoginPage(); let loginPage = new LoginPage();
let navigationBarPage = new NavigationBarPage();
let processUserModel; let processUserModel;
let app = resources.Files.SIMPLE_APP_WITH_USER_FORM; let app = resources.Files.SIMPLE_APP_WITH_USER_FORM;
let taskPage = new TasksPage(); let taskPage = new TasksPage();
const processServices = new ProcessServicesPage();
let taskTaskApp = 'Audit task task app'; let taskTaskApp = 'Audit task task app';
let taskCustomApp = 'Audit task custom app'; let taskCustomApp = 'Audit task custom app';
let taskCompleteCustomApp = 'Audit completed task custom app'; let taskCompleteCustomApp = 'Audit completed task custom app';
@@ -72,23 +73,28 @@ describe('Task Audit', () => {
done(); done();
}); });
beforeEach(async (done) => {
await browser.get(TestConfig.adf.url + '/activiti');
done();
});
it('[C260386] Should Audit file be downloaded when clicking on Task Audit log icon on a standalone running task', () => { it('[C260386] Should Audit file be downloaded when clicking on Task Audit log icon on a standalone running task', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskTaskApp); taskPage.tasksListPage().checkContentIsDisplayed(taskTaskApp);
taskPage.taskDetails().clickAuditLogButton(); taskPage.taskDetails().clickAuditLogButton();
expect(Util.fileExists(auditLogFile, 10)).toBe(true); expect(Util.fileExists(auditLogFile, 10)).toBe(true);
}); });
it('[C260389] Should Audit file be downloaded when clicking on Task Audit log icon on a standalone completed task', () => { it('[C260389] Should Audit file be downloaded when clicking on Task Audit log icon on a standalone completed task', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskTaskApp); taskPage.tasksListPage().checkContentIsDisplayed(taskTaskApp);
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskTaskApp); taskPage.tasksListPage().selectRow(taskTaskApp);
expect(taskPage.formFields().getCompletedTaskNoFormMessage()).toEqual('Task ' + taskTaskApp + ' completed'); expect(taskPage.formFields().getCompletedTaskNoFormMessage()).toEqual('Task ' + taskTaskApp + ' completed');
taskPage.taskDetails().clickAuditLogButton(); taskPage.taskDetails().clickAuditLogButton();
@@ -96,16 +102,16 @@ describe('Task Audit', () => {
}); });
it('[C263944] Should Audit file be downloaded when clicking on Task Audit log icon on a custom app standalone completed task', () => { it('[C263944] Should Audit file be downloaded when clicking on Task Audit log icon on a custom app standalone completed task', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); processServices.goToTaskApp().clickTasksButton();
taskPage.createNewTask().addName(taskCompleteCustomApp).clickStartButton(); taskPage.createNewTask().addName(taskCompleteCustomApp).clickStartButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskCompleteCustomApp); taskPage.tasksListPage().checkContentIsDisplayed(taskCompleteCustomApp);
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskCompleteCustomApp); taskPage.tasksListPage().selectRow(taskCompleteCustomApp);
expect(taskPage.formFields().getCompletedTaskNoFormMessage()).toEqual('Task ' + taskCompleteCustomApp + ' completed'); expect(taskPage.formFields().getCompletedTaskNoFormMessage()).toEqual('Task ' + taskCompleteCustomApp + ' completed');
taskPage.taskDetails().clickAuditLogButton(); taskPage.taskDetails().clickAuditLogButton();
@@ -113,12 +119,12 @@ describe('Task Audit', () => {
}); });
it('[C263943] Should Audit file be downloaded when clicking on Task Audit log icon on a custom app standalone running task', () => { it('[C263943] Should Audit file be downloaded when clicking on Task Audit log icon on a custom app standalone running task', () => {
navigationBarPage.navigateToProcessServicesPage().goToApp(appModel.name).clickTasksButton(); processServices.goToApp(appModel.name).clickTasksButton();
taskPage.createNewTask().addName(taskCustomApp).clickStartButton(); taskPage.createNewTask().addName(taskCustomApp).clickStartButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskCustomApp); taskPage.tasksListPage().checkContentIsDisplayed(taskCustomApp);
taskPage.taskDetails().clickAuditLogButton(); taskPage.taskDetails().clickAuditLogButton();
expect(Util.fileExists(auditLogFile, 10)).toBe(true); expect(Util.fileExists(auditLogFile, 10)).toBe(true);

View File

@@ -101,7 +101,7 @@ describe('Task Details - Form', () => {
}); });
it('[C280018] Should be able to change the form in a task', () => { it('[C280018] Should be able to change the form in a task', () => {
tasksListPage.getDataTable().selectRowByContentName(task.name); tasksListPage.selectRow(task.name);
taskDetailsPage.checkEditFormButtonIsDisplayed(); taskDetailsPage.checkEditFormButtonIsDisplayed();
taskDetailsPage.clickEditFormButton(); taskDetailsPage.clickEditFormButton();
@@ -135,7 +135,7 @@ describe('Task Details - Form', () => {
}); });
it('[C280019] Should be able to remove the form form a task', () => { it('[C280019] Should be able to remove the form form a task', () => {
tasksListPage.getDataTable().selectRowByContentName(task.name); tasksListPage.selectRow(task.name);
taskDetailsPage.checkEditFormButtonIsDisplayed(); taskDetailsPage.checkEditFormButtonIsDisplayed();
taskDetailsPage.clickEditFormButton(); taskDetailsPage.clickEditFormButton();
@@ -149,14 +149,14 @@ describe('Task Details - Form', () => {
}); });
it('[C280557] Should display task details when selecting another task while the Attach Form dialog is displayed', () => { it('[C280557] Should display task details when selecting another task while the Attach Form dialog is displayed', () => {
tasksListPage.getDataTable().selectRowByContentName(task.name); tasksListPage.selectRow(task.name);
taskDetailsPage.checkEditFormButtonIsDisplayed(); taskDetailsPage.checkEditFormButtonIsDisplayed();
taskDetailsPage.clickEditFormButton(); taskDetailsPage.clickEditFormButton();
taskDetailsPage.checkRemoveAttachFormIsDisplayed(); taskDetailsPage.checkRemoveAttachFormIsDisplayed();
tasksListPage.getDataTable().selectRowByContentName(otherTask.name); tasksListPage.selectRow(otherTask.name);
taskDetailsPage.checkFormIsAttached(otherAttachedForm.name); taskDetailsPage.checkFormIsAttached(otherAttachedForm.name);
}); });
}); });

View File

@@ -70,8 +70,8 @@ describe('Task Details - No form', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(app.taskName); taskPage.tasksListPage().checkContentIsDisplayed(app.taskName);
taskPage.tasksListPage().getDataTable().selectRowByContentName(app.taskName); taskPage.tasksListPage().selectRow(app.taskName);
taskPage.taskDetails().noFormIsDisplayed(); taskPage.taskDetails().noFormIsDisplayed();
taskPage.taskDetails().checkCompleteTaskButtonIsDisplayed().checkCompleteTaskButtonIsEnabled(); taskPage.taskDetails().checkCompleteTaskButtonIsDisplayed().checkCompleteTaskButtonIsEnabled();
taskPage.taskDetails().checkAttachFormButtonIsNotDisplayed(); taskPage.taskDetails().checkAttachFormButtonIsNotDisplayed();

View File

@@ -24,18 +24,19 @@ import Task = require('../models/APS/Task');
import TaskModel = require('../models/APS/TaskModel'); import TaskModel = require('../models/APS/TaskModel');
import FormModel = require('../models/APS/FormModel'); import FormModel = require('../models/APS/FormModel');
import { AppsActions } from '../actions/APS/apps.actions'; import { AppsActions } from '../actions/APS/apps.actions';
import { ProcessServicesPage } from '../pages/adf/process-services/processServicesPage';
import resources = require('../util/resources'); import resources = require('../util/resources');
import CONSTANTS = require('../util/constants'); import CONSTANTS = require('../util/constants');
import dateFormat = require('dateformat'); import dateFormat = require('dateformat');
import { LoginPage } from '../pages/adf/loginPage'; import { LoginPage } from '../pages/adf/loginPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { TasksPage } from '../pages/adf/process-services/tasksPage'; import { TasksPage } from '../pages/adf/process-services/tasksPage';
import { browser } from 'protractor'; import { browser } from 'protractor';
describe('Task Details component', () => { describe('Task Details component', () => {
const processServices = new ProcessServicesPage();
let processUserModel, appModel; let processUserModel, appModel;
let app = resources.Files.SIMPLE_APP_WITH_USER_FORM; let app = resources.Files.SIMPLE_APP_WITH_USER_FORM;
let tasks = ['Modifying task', 'Information box', 'No form', 'Not Created', 'Refreshing form', 'Assignee task', 'Attach File']; let tasks = ['Modifying task', 'Information box', 'No form', 'Not Created', 'Refreshing form', 'Assignee task', 'Attach File'];
@@ -45,7 +46,6 @@ describe('Task Details component', () => {
let loginPage = new LoginPage(); let loginPage = new LoginPage();
let taskPage = new TasksPage(); let taskPage = new TasksPage();
let navigationBarPage = new NavigationBarPage();
beforeAll(async (done) => { beforeAll(async (done) => {
let users = new UsersActions(); let users = new UsersActions();
@@ -71,8 +71,13 @@ describe('Task Details component', () => {
done(); done();
}); });
beforeEach(async (done) => {
await browser.get(TestConfig.adf.url + '/activiti');
done();
});
it('[C260506] Should display task details for standalone task - Task App', async () => { it('[C260506] Should display task details for standalone task - Task App', async () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(tasks[1]).addDescription('Description') taskPage.createNewTask().addName(tasks[1]).addDescription('Description')
.addForm(app.formName).clickStartButton(); .addForm(app.formName).clickStartButton();
@@ -83,7 +88,7 @@ describe('Task Details component', () => {
}); });
let taskModel = new TaskModel(allTasks.data[0]); let taskModel = new TaskModel(allTasks.data[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskModel.getName()); taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT)); expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT));
expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId()); expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId());
expect(taskPage.taskDetails().getDescription()) expect(taskPage.taskDetails().getDescription())
@@ -114,7 +119,7 @@ describe('Task Details component', () => {
}); });
it('[C263946] Should display task details for standalone task - Custom App', async () => { it('[C263946] Should display task details for standalone task - Custom App', async () => {
navigationBarPage.navigateToProcessServicesPage().goToApp(appModel.name).clickTasksButton(); processServices.goToApp(appModel.name).clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.createNewTask().addName(tasks[1]).addDescription('Description') taskPage.createNewTask().addName(tasks[1]).addDescription('Description')
.addForm(app.formName).clickStartButton(); .addForm(app.formName).clickStartButton();
@@ -125,7 +130,7 @@ describe('Task Details component', () => {
}); });
let taskModel = new TaskModel(allTasks.data[0]); let taskModel = new TaskModel(allTasks.data[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskModel.getName()); taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT)); expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT));
expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId()); expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId());
@@ -161,7 +166,7 @@ describe('Task Details component', () => {
await apps.startProcess(this.alfrescoJsApi, appModel); await apps.startProcess(this.alfrescoJsApi, appModel);
}); });
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
expect(taskPage.taskDetails().getTitle()).toEqual('Activities'); expect(taskPage.taskDetails().getTitle()).toEqual('Activities');
@@ -172,7 +177,7 @@ describe('Task Details component', () => {
let taskModel = new TaskModel(allTasks.data[0]); let taskModel = new TaskModel(allTasks.data[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskModel.getName()); taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT)); expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT));
expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId()); expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId());
expect(taskPage.taskDetails().getDescription()) expect(taskPage.taskDetails().getDescription())
@@ -207,7 +212,7 @@ describe('Task Details component', () => {
await apps.startProcess(this.alfrescoJsApi, appModel); await apps.startProcess(this.alfrescoJsApi, appModel);
}); });
navigationBarPage.navigateToProcessServicesPage().goToApp(appModel.name).clickTasksButton(); processServices.goToApp(appModel.name).clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
expect(taskPage.taskDetails().getTitle()).toEqual('Activities'); expect(taskPage.taskDetails().getTitle()).toEqual('Activities');
@@ -218,7 +223,7 @@ describe('Task Details component', () => {
let taskModel = new TaskModel(allTasks.data[0]); let taskModel = new TaskModel(allTasks.data[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskModel.getName()); taskPage.tasksListPage().checkContentIsDisplayed(taskModel.getName());
expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT)); expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(taskModel.getCreated(), TASK_DATA_FORMAT));
expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId()); expect(taskPage.taskDetails().getId()).toEqual(taskModel.getId());
expect(taskPage.taskDetails().getDescription()) expect(taskPage.taskDetails().getDescription())
@@ -255,14 +260,16 @@ describe('Task Details component', () => {
await this.alfrescoJsApi.activiti.taskApi.createNewTask({'name': taskName}); await this.alfrescoJsApi.activiti.taskApi.createNewTask({'name': taskName});
}); });
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskName).selectRowByContentName(taskName); taskPage.tasksListPage().checkContentIsDisplayed(taskName);
taskPage.tasksListPage().selectRow(taskName);
taskPage.clickOnAddChecklistButton().addName(checklistName).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(checklistName).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(checklistName); taskPage.checkChecklistIsDisplayed(checklistName);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(checklistName).selectRowByContentName(checklistName); taskPage.tasksListPage().checkContentIsDisplayed(checklistName);
taskPage.tasksListPage().selectRow(checklistName);
let allTasks = await browser.controlFlow().execute(async () => { let allTasks = await browser.controlFlow().execute(async () => {
return this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' })); return this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
@@ -270,7 +277,7 @@ describe('Task Details component', () => {
let checklistTask = new TaskModel(allTasks.data[0]); let checklistTask = new TaskModel(allTasks.data[0]);
let taskModel = new TaskModel(allTasks.data[0]); let taskModel = new TaskModel(allTasks.data[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(checklistTask.getName()); taskPage.tasksListPage().checkContentIsDisplayed(checklistTask.getName());
expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(checklistTask.getCreated(), TASK_DATA_FORMAT)); expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(checklistTask.getCreated(), TASK_DATA_FORMAT));
expect(taskPage.taskDetails().getId()).toEqual(checklistTask.getId()); expect(taskPage.taskDetails().getId()).toEqual(checklistTask.getId());
expect(taskPage.taskDetails().getDescription()) expect(taskPage.taskDetails().getDescription())
@@ -298,7 +305,7 @@ describe('Task Details component', () => {
await apps.startProcess(this.alfrescoJsApi, appModel); await apps.startProcess(this.alfrescoJsApi, appModel);
}); });
navigationBarPage.navigateToProcessServicesPage().goToApp(appModel.name).clickTasksButton(); processServices.goToApp(appModel.name).clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
expect(taskPage.taskDetails().getTitle()).toEqual('Activities'); expect(taskPage.taskDetails().getTitle()).toEqual('Activities');
@@ -306,7 +313,8 @@ describe('Task Details component', () => {
taskPage.clickOnAddChecklistButton().addName(checklistName).clickCreateChecklistButton(); taskPage.clickOnAddChecklistButton().addName(checklistName).clickCreateChecklistButton();
taskPage.checkChecklistIsDisplayed(checklistName); taskPage.checkChecklistIsDisplayed(checklistName);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(checklistName).selectRowByContentName(checklistName); taskPage.tasksListPage().checkContentIsDisplayed(checklistName);
taskPage.tasksListPage().selectRow(checklistName);
let allTasks = await browser.controlFlow().execute(async () => { let allTasks = await browser.controlFlow().execute(async () => {
return this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' })); return this.alfrescoJsApi.activiti.taskApi.listTasks(new Task({ sort: 'created-desc' }));
@@ -314,7 +322,7 @@ describe('Task Details component', () => {
let checklistTask = new TaskModel(allTasks.data[0]); let checklistTask = new TaskModel(allTasks.data[0]);
let taskModel = new TaskModel(allTasks.data[0]); let taskModel = new TaskModel(allTasks.data[0]);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(checklistTask.getName()); taskPage.tasksListPage().checkContentIsDisplayed(checklistTask.getName());
expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(checklistTask.getCreated(), TASK_DATA_FORMAT)); expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(checklistTask.getCreated(), TASK_DATA_FORMAT));
expect(taskPage.taskDetails().getId()).toEqual(checklistTask.getId()); expect(taskPage.taskDetails().getId()).toEqual(checklistTask.getId());
expect(taskPage.taskDetails().getDescription()) expect(taskPage.taskDetails().getDescription())
@@ -341,20 +349,20 @@ describe('Task Details component', () => {
return this.alfrescoJsApi.activiti.taskApi.createNewTask({'name': taskName}); return this.alfrescoJsApi.activiti.taskApi.createNewTask({'name': taskName});
}); });
navigationBarPage.navigateToProcessServicesPage().goToTaskApp().clickTasksButton(); processServices.goToTaskApp().clickTasksButton();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.MY_TASKS);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(taskName).selectRowByContentName(taskName); taskPage.tasksListPage().checkContentIsDisplayed(taskName).selectRow('Name', taskName);
taskPage.completeTaskNoForm(); taskPage.completeTaskNoForm();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.COMPLETED_TASKS);
taskPage.tasksListPage().getDataTable().selectRowByContentName(taskName); taskPage.tasksListPage().selectRow(taskName);
let getTaskResponse = await browser.controlFlow().execute(async () => { let getTaskResponse = await browser.controlFlow().execute(async () => {
return this.alfrescoJsApi.activiti.taskApi.getTask(taskId.id); return this.alfrescoJsApi.activiti.taskApi.getTask(taskId.id);
}); });
let completedTask = new TaskModel(getTaskResponse); let completedTask = new TaskModel(getTaskResponse);
taskPage.tasksListPage().getDataTable().checkContentIsDisplayed(completedTask.getName()); taskPage.tasksListPage().checkContentIsDisplayed(completedTask.getName());
expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(completedTask.getCreated(), TASK_DATA_FORMAT)); expect(taskPage.taskDetails().getCreated()).toEqual(dateFormat(completedTask.getCreated(), TASK_DATA_FORMAT));
expect(taskPage.taskDetails().getId()).toEqual(completedTask.getId()); expect(taskPage.taskDetails().getId()).toEqual(completedTask.getId());
expect(taskPage.taskDetails().getDescription()) expect(taskPage.taskDetails().getDescription())

View File

@@ -106,23 +106,23 @@ describe('Task', () => {
it('[C260330] Should display Task Filter List when app is in Task Tab', () => { it('[C260330] Should display Task Filter List when app is in Task Tab', () => {
tasksPage.createNewTask().addName('Test').clickStartButton(); tasksPage.createNewTask().addName('Test').clickStartButton();
taskFiltersDemoPage.myTasksFilter().clickTaskFilter(); taskFiltersDemoPage.myTasksFilter().clickTaskFilter();
tasksListPage.getDataTable().checkContentIsDisplayed('Test'); tasksListPage.checkContentIsDisplayed('Test');
expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('My Tasks'); expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('My Tasks');
expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined(); expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined();
taskFiltersDemoPage.queuedTasksFilter().clickTaskFilter(); taskFiltersDemoPage.queuedTasksFilter().clickTaskFilter();
expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Queued Tasks'); expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Queued Tasks');
tasksListPage.getDataTable().checkContentIsNotDisplayed('Test'); tasksListPage.checkContentIsNotDisplayed('Test');
expect(taskDetailsPage.checkTaskDetailsEmpty()).toBeDefined(); expect(taskDetailsPage.checkTaskDetailsEmpty()).toBeDefined();
taskFiltersDemoPage.involvedTasksFilter().clickTaskFilter(); taskFiltersDemoPage.involvedTasksFilter().clickTaskFilter();
expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Involved Tasks'); expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Involved Tasks');
tasksListPage.getDataTable().checkContentIsDisplayed('Test'); tasksListPage.checkContentIsDisplayed('Test');
expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined(); expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined();
taskFiltersDemoPage.completedTasksFilter().clickTaskFilter(); taskFiltersDemoPage.completedTasksFilter().clickTaskFilter();
expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Completed Tasks'); expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Completed Tasks');
tasksListPage.getDataTable().checkContentIsNotDisplayed('Test'); tasksListPage.checkContentIsNotDisplayed('Test');
expect(taskDetailsPage.checkTaskDetailsEmpty()).toBeDefined(); expect(taskDetailsPage.checkTaskDetailsEmpty()).toBeDefined();
}); });
@@ -139,7 +139,7 @@ describe('Task', () => {
tasksPage.createNewTask().addName('Test').clickStartButton(); tasksPage.createNewTask().addName('Test').clickStartButton();
taskFiltersDemoPage.myTasksFilter().clickTaskFilter(); taskFiltersDemoPage.myTasksFilter().clickTaskFilter();
tasksListPage.getDataTable().checkContentIsDisplayed('Test'); tasksListPage.checkContentIsDisplayed('Test');
expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('My Tasks'); expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('My Tasks');
expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined(); expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined();
@@ -150,7 +150,7 @@ describe('Task', () => {
taskFiltersDemoPage.involvedTasksFilter().clickTaskFilter(); taskFiltersDemoPage.involvedTasksFilter().clickTaskFilter();
expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Involved Tasks'); expect(taskFiltersDemoPage.checkActiveFilterActive()).toBe('Involved Tasks');
tasksListPage.getDataTable().checkContentIsDisplayed('Test'); tasksListPage.checkContentIsDisplayed('Test');
expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined(); expect(taskDetailsPage.checkTaskDetailsDisplayed()).toBeDefined();
taskFiltersDemoPage.completedTasksFilter().clickTaskFilter(); taskFiltersDemoPage.completedTasksFilter().clickTaskFilter();
@@ -167,9 +167,9 @@ describe('Task', () => {
tasksPage.createNewTask().addName('Test3').clickStartButton(); tasksPage.createNewTask().addName('Test3').clickStartButton();
tasksPage.createNewTask().addName('Test4').clickStartButton(); tasksPage.createNewTask().addName('Test4').clickStartButton();
tasksListPage.getDataTable().checkContentIsDisplayed('Test4'); tasksListPage.checkContentIsDisplayed('Test4');
tasksListPage.getDataTable().checkRowIsSelected('Test4'); tasksListPage.checkRowIsSelected('Test4');
tasksListPage.getDataTable().checkContentIsDisplayed('Test3'); tasksListPage.checkContentIsDisplayed('Test3');
taskDetailsPage.checkTaskDetailsDisplayed(); taskDetailsPage.checkTaskDetailsDisplayed();
tasksPage.clickSortByNameAsc(); tasksPage.clickSortByNameAsc();
@@ -178,23 +178,23 @@ describe('Task', () => {
expect(tasksListPage.getDataTable().contentInPosition(1)).toBe('Test4'); expect(tasksListPage.getDataTable().contentInPosition(1)).toBe('Test4');
taskFiltersDemoPage.completedTasksFilter().clickTaskFilter(); taskFiltersDemoPage.completedTasksFilter().clickTaskFilter();
tasksListPage.getDataTable().checkContentIsDisplayed('Test1'); tasksListPage.checkContentIsDisplayed('Test1');
tasksListPage.getDataTable().checkContentIsDisplayed('Test2'); tasksListPage.checkContentIsDisplayed('Test2');
expect(tasksListPage.getDataTable().contentInPosition(1)).toBe('Test2'); expect(tasksListPage.getDataTable().contentInPosition(1)).toBe('Test2');
tasksPage.clickSortByNameAsc(); tasksPage.clickSortByNameAsc();
expect(tasksListPage.getDataTable().contentInPosition(1)).toBe('Test1'); expect(tasksListPage.getDataTable().contentInPosition(1)).toBe('Test1');
taskFiltersDemoPage.involvedTasksFilter().clickTaskFilter(); taskFiltersDemoPage.involvedTasksFilter().clickTaskFilter();
tasksListPage.getDataTable().checkContentIsDisplayed('Test3'); tasksListPage.checkContentIsDisplayed('Test3');
tasksListPage.getDataTable().checkContentIsDisplayed('Test4'); tasksListPage.checkContentIsDisplayed('Test4');
}); });
it('[C277264] Should display task filter results when task filter is selected', () => { it('[C277264] Should display task filter results when task filter is selected', () => {
tasksPage.createNewTask().addName('Test').clickStartButton(); tasksPage.createNewTask().addName('Test').clickStartButton();
taskFiltersDemoPage.myTasksFilter().clickTaskFilter(); taskFiltersDemoPage.myTasksFilter().clickTaskFilter();
tasksListPage.getDataTable().checkContentIsDisplayed('Test'); tasksListPage.checkContentIsDisplayed('Test');
expect(taskDetailsPage.getTaskDetailsTitle()).toBe('Test'); expect(taskDetailsPage.getTaskDetailsTitle()).toBe('Test');
}); });
}); });

View File

@@ -83,7 +83,7 @@ describe('Task List Pagination', () => {
navigationBarPage.navigateToProcessServicesPage().goToTaskApp(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.default); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.default);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + nrOfTasks + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + nrOfTasks + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(nrOfTasks); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(nrOfTasks);
paginationPage.checkNextPageButtonIsDisabled(); paginationPage.checkNextPageButtonIsDisabled();
paginationPage.checkPreviousPageButtonIsDisabled(); paginationPage.checkPreviousPageButtonIsDisabled();
paginationPage.selectItemsPerPage(itemsPerPage.twenty); paginationPage.selectItemsPerPage(itemsPerPage.twenty);
@@ -97,22 +97,22 @@ describe('Task List Pagination', () => {
paginationPage.selectItemsPerPage(itemsPerPage.five); paginationPage.selectItemsPerPage(itemsPerPage.five);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fiveValue + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fiveValue + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.fiveValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
paginationPage.clickOnNextPage(); paginationPage.clickOnNextPage();
currentPage++; currentPage++;
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 6-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 6-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.fiveValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
paginationPage.clickOnNextPage(); paginationPage.clickOnNextPage();
currentPage++; currentPage++;
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.fiveValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
paginationPage.clickOnNextPage(); paginationPage.clickOnNextPage();
currentPage++; currentPage++;
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + itemsPerPage.fiveValue * currentPage + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.fiveValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
navigationBarPage.navigateToProcessServicesPage().goToTaskApp(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
@@ -125,11 +125,11 @@ describe('Task List Pagination', () => {
paginationPage.selectItemsPerPage(itemsPerPage.ten); paginationPage.selectItemsPerPage(itemsPerPage.ten);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.tenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
paginationPage.clickOnNextPage(); paginationPage.clickOnNextPage();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.twentyValue + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.twentyValue + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.tenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
navigationBarPage.navigateToProcessServicesPage().goToTaskApp(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
@@ -142,11 +142,11 @@ describe('Task List Pagination', () => {
paginationPage.selectItemsPerPage(itemsPerPage.fifteen); paginationPage.selectItemsPerPage(itemsPerPage.fifteen);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.fifteenValue + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.fifteenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fifteenValue);
paginationPage.clickOnNextPage(); paginationPage.clickOnNextPage();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.fifteen);
expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + itemsPerPage.twentyValue + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 16-' + itemsPerPage.twentyValue + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.fiveValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.fiveValue);
navigationBarPage.navigateToProcessServicesPage().goToTaskApp(); navigationBarPage.navigateToProcessServicesPage().goToTaskApp();
taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS); taskPage.filtersPage().goToFilter(CONSTANTS.TASK_FILTERS.INV_TASKS);
@@ -165,7 +165,7 @@ describe('Task List Pagination', () => {
expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages); expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.tenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
paginationPage.checkNextPageButtonIsEnabled(); paginationPage.checkNextPageButtonIsEnabled();
paginationPage.checkPreviousPageButtonIsDisabled(); paginationPage.checkPreviousPageButtonIsDisabled();
@@ -178,7 +178,7 @@ describe('Task List Pagination', () => {
expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages); expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 11-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.tenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
paginationPage.checkNextPageButtonIsDisabled(); paginationPage.checkNextPageButtonIsDisabled();
paginationPage.checkPreviousPageButtonIsEnabled(); paginationPage.checkPreviousPageButtonIsEnabled();
@@ -191,7 +191,7 @@ describe('Task List Pagination', () => {
expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages); expect(paginationPage.getTotalPages()).toEqual('of ' + totalPages);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten); expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.ten);
expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks); expect(paginationPage.getPaginationRange()).toEqual('Showing 1-' + itemsPerPage.tenValue * currentPage + ' of ' + nrOfTasks);
expect(taskPage.tasksListPage().getDataTable().getNumberOfRows()).toBe(itemsPerPage.tenValue); expect(taskPage.tasksListPage().getDataTable().numberOfRows()).toBe(itemsPerPage.tenValue);
paginationPage.checkNextPageButtonIsEnabled(); paginationPage.checkNextPageButtonIsEnabled();
paginationPage.checkPreviousPageButtonIsDisabled(); paginationPage.checkPreviousPageButtonIsDisabled();
}); });

View File

@@ -16,8 +16,8 @@
*/ */
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage'; import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { ConfigEditorPage } from '../../pages/adf/configEditorPage'; import { ConfigEditorPage } from '../../pages/adf/configEditorPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
@@ -33,14 +33,14 @@ import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor'; import { browser } from 'protractor';
import { Util } from '../../util/util'; import { Util } from '../../util/util';
describe('Search Radio Component', () => { describe('Search Checklist Component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const searchFiltersPage = new SearchFiltersPage(); const searchFiltersPage = new SearchFiltersPage();
const contentList = new ContentListPage();
const configEditorPage = new ConfigEditorPage(); const configEditorPage = new ConfigEditorPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const searchDialog = new SearchDialog(); const searchDialog = new SearchDialog();
const searchResults = new SearchResultsPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
let uploadActions = new UploadActions(); let uploadActions = new UploadActions();
@@ -54,7 +54,7 @@ describe('Search Radio Component', () => {
let randomName = Util.generateRandomString(); let randomName = Util.generateRandomString();
let nodeNames = { let nodeNames = {
document: `${randomName}.txt`, document: `${randomName}.txt`,
folder: randomName folder: `${randomName}Folder`
}; };
let createdFile, createdFolder; let createdFile, createdFolder;
@@ -79,7 +79,7 @@ describe('Search Radio Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
browser.get(TestConfig.adf.url + '/search;q=' + nodeNames.folder + ''); browser.get(TestConfig.adf.url + '/search;q=' + randomName + '');
done(); done();
}); });
@@ -106,29 +106,29 @@ describe('Search Radio Component', () => {
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder);
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.folder); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.folder);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsNotDisplayed(nodeNames.document); searchResults.checkContentIsNotDisplayed(nodeNames.document);
searchFiltersPage.checkListFiltersPage().clickClearAllButton(); searchFiltersPage.checkListFiltersPage().clickClearAllButton();
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsNotSelected(filterType.folder); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsNotSelected(filterType.folder);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder);
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.document); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.document);
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.folder); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.folder);
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.document); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.document);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder);
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.document); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.document);
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsNotSelected(filterType.folder); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsNotSelected(filterType.folder);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
contentList.checkContentIsNotDisplayed(nodeNames.folder); searchResults.checkContentIsNotDisplayed(nodeNames.folder);
}); });
describe('configuration change', () => { describe('configuration change', () => {
@@ -151,7 +151,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(5); expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(5);
@@ -190,7 +190,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(10); expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(10);
@@ -208,7 +208,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(10); expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(10);
@@ -226,7 +226,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(9); expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(9);
@@ -250,7 +250,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(5); expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(5);
@@ -276,7 +276,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(5); expect(searchFiltersPage.checkListFiltersPage().getCheckListOptionsNumberOnPage()).toBe(5);
@@ -319,19 +319,19 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder);
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.folder); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsSelected(filterType.folder);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsNotDisplayed(nodeNames.document); searchResults.checkContentIsNotDisplayed(nodeNames.document);
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.document); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.document);
contentList.checkContentIsNotDisplayed(nodeNames.folder); searchResults.checkContentIsNotDisplayed(nodeNames.folder);
contentList.checkContentIsNotDisplayed(nodeNames.document); searchResults.checkContentIsNotDisplayed(nodeNames.document);
browser.refresh(); browser.refresh();
}); });
@@ -346,7 +346,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickCheckListFilter(); searchFiltersPage.clickCheckListFilter();
searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsDisplayed(filterType.folder); searchFiltersPage.checkListFiltersPage().checkCheckListOptionIsDisplayed(filterType.folder);
@@ -355,14 +355,14 @@ describe('Search Radio Component', () => {
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.custom); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.custom);
contentList.checkContentIsNotDisplayed(nodeNames.folder); searchResults.checkContentIsNotDisplayed(nodeNames.folder);
contentList.checkContentIsNotDisplayed(nodeNames.document); searchResults.checkContentIsNotDisplayed(nodeNames.document);
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.document); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.document);
searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder); searchFiltersPage.checkListFiltersPage().clickCheckListOption(filterType.folder);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
}); });
}); });

View File

@@ -17,7 +17,7 @@
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { DataTablePage } from '../../pages/adf/dataTablePage'; import { DataTableComponentPage } from '../../pages/adf/dataTableComponentPage';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { DatePickerPage } from '../../pages/adf/material/datePickerPage'; import { DatePickerPage } from '../../pages/adf/material/datePickerPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
@@ -41,7 +41,7 @@ describe('Search Date Range Filter', () => {
let datePicker = new DatePickerPage(); let datePicker = new DatePickerPage();
let navigationBar = new NavigationBarPage(); let navigationBar = new NavigationBarPage();
let configEditor = new ConfigEditorPage(); let configEditor = new ConfigEditorPage();
let dataTable = new DataTablePage(); let dataTable = new DataTableComponentPage();
beforeAll(async (done) => { beforeAll(async (done) => {
@@ -137,7 +137,7 @@ describe('Search Date Range Filter', () => {
searchResults.sortByCreated(true); searchResults.sortByCreated(true);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
let nodeCreation = new Date(node.entry.createdAt); let nodeCreation = new Date(node.entry.createdAt);
@@ -149,7 +149,7 @@ describe('Search Date Range Filter', () => {
searchResults.sortByCreated(false); searchResults.sortByCreated(false);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword); await this.alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
let nodeCreation = new Date(node.entry.createdAt); let nodeCreation = new Date(node.entry.createdAt);

View File

@@ -17,7 +17,7 @@
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { DataTablePage } from '../../pages/adf/dataTablePage'; import { DataTableComponentPage } from '../../pages/adf/dataTableComponentPage';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ConfigEditorPage } from '../../pages/adf/configEditorPage'; import { ConfigEditorPage } from '../../pages/adf/configEditorPage';
@@ -42,7 +42,7 @@ describe('Search Number Range Filter', () => {
const searchResults = new SearchResultsPage(); const searchResults = new SearchResultsPage();
const navigationBar = new NavigationBarPage(); const navigationBar = new NavigationBarPage();
const configEditor = new ConfigEditorPage(); const configEditor = new ConfigEditorPage();
const dataTable = new DataTablePage(); const dataTable = new DataTableComponentPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
@@ -171,7 +171,7 @@ describe('Search Number Range Filter', () => {
searchResults.sortBySize(false); searchResults.sortBySize(false);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes <= toSize).toBe(true); await expect(node.entry.content.sizeInBytes <= toSize).toBe(true);
}); });
@@ -196,7 +196,7 @@ describe('Search Number Range Filter', () => {
searchResults.sortBySize(false); searchResults.sortBySize(false);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes <= toSize).toBe(true); await expect(node.entry.content.sizeInBytes <= toSize).toBe(true);
}); });
@@ -208,7 +208,7 @@ describe('Search Number Range Filter', () => {
searchResults.sortBySize(false); searchResults.sortBySize(false);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes <= toSize).toBe(true); await expect(node.entry.content.sizeInBytes <= toSize).toBe(true);
let name = node.entry.name; let name = node.entry.name;
@@ -237,7 +237,7 @@ describe('Search Number Range Filter', () => {
searchResults.tableIsLoaded(); searchResults.tableIsLoaded();
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes <= sliderSize).toBe(true); await expect(node.entry.content.sizeInBytes <= sliderSize).toBe(true);
}); });
@@ -252,7 +252,7 @@ describe('Search Number Range Filter', () => {
searchResults.tableIsLoaded(); searchResults.tableIsLoaded();
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes >= 1).toBe(true); await expect(node.entry.content.sizeInBytes >= 1).toBe(true);
await expect(node.entry.content.sizeInBytes <= sliderSize).toBe(true); await expect(node.entry.content.sizeInBytes <= sliderSize).toBe(true);
@@ -297,7 +297,7 @@ describe('Search Number Range Filter', () => {
searchResults.sortBySize(false); searchResults.sortBySize(false);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes).toEqual(0); await expect(node.entry.content.sizeInBytes).toEqual(0);
}); });
@@ -328,7 +328,7 @@ describe('Search Number Range Filter', () => {
searchResults.sortBySize(false); searchResults.sortBySize(false);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes <= 1).toBe(true); await expect(node.entry.content.sizeInBytes <= 1).toBe(true);
}); });
@@ -340,7 +340,7 @@ describe('Search Number Range Filter', () => {
expect(sizeRangeFilter.getToNumber()).toEqual(''); expect(sizeRangeFilter.getToNumber()).toEqual('');
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes >= 1).toBe(true); await expect(node.entry.content.sizeInBytes >= 1).toBe(true);
}); });
@@ -426,7 +426,7 @@ describe('Search Number Range Filter', () => {
searchResults.sortByCreated(false); searchResults.sortByCreated(false);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect((node.entry.createdAt.getFullYear()) <= toYear).toBe(true); await expect((node.entry.createdAt.getFullYear()) <= toYear).toBe(true);
}); });
@@ -435,7 +435,7 @@ describe('Search Number Range Filter', () => {
searchResults.sortByCreated(true); searchResults.sortByCreated(true);
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect((node.entry.createdAt.getFullYear()) >= fromYear).toBe(true); await expect((node.entry.createdAt.getFullYear()) >= fromYear).toBe(true);
}); });

View File

@@ -17,7 +17,7 @@
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage'; import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { ConfigEditorPage } from '../../pages/adf/configEditorPage'; import { ConfigEditorPage } from '../../pages/adf/configEditorPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
@@ -37,10 +37,10 @@ describe('Search Radio Component', () => {
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const searchFiltersPage = new SearchFiltersPage(); const searchFiltersPage = new SearchFiltersPage();
const contentList = new ContentListPage();
const configEditorPage = new ConfigEditorPage(); const configEditorPage = new ConfigEditorPage();
const navigationBarPage = new NavigationBarPage(); const navigationBarPage = new NavigationBarPage();
const searchDialog = new SearchDialog(); const searchDialog = new SearchDialog();
const searchResults = new SearchResultsPage();
let acsUser = new AcsUserModel(); let acsUser = new AcsUserModel();
let uploadActions = new UploadActions(); let uploadActions = new UploadActions();
@@ -56,7 +56,7 @@ describe('Search Radio Component', () => {
let randomName = Util.generateRandomString(); let randomName = Util.generateRandomString();
let nodeNames = { let nodeNames = {
document: `${randomName}.txt`, document: `${randomName}.txt`,
folder: randomName folder: `${randomName}Folder`
}; };
let createdFile, createdFolder; let createdFile, createdFolder;
@@ -84,7 +84,7 @@ describe('Search Radio Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser); loginPage.loginToContentServicesUsingUserModel(acsUser);
browser.get(TestConfig.adf.url + '/search;q=' + nodeNames.folder + ''); browser.get(TestConfig.adf.url + '/search;q=' + randomName);
done(); done();
}); });
@@ -110,26 +110,26 @@ describe('Search Radio Component', () => {
searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.none); searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.none);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.folder); searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.folder);
searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.folder); searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.folder);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsNotDisplayed(nodeNames.document); searchResults.checkContentIsNotDisplayed(nodeNames.document);
searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.document); searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.document);
searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.document); searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.document);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
contentList.checkContentIsNotDisplayed(nodeNames.folder); searchResults.checkContentIsNotDisplayed(nodeNames.folder);
searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.all); searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.all);
searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.all); searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsChecked(filterType.all);
contentList.checkContentIsDisplayed(nodeNames.folder); searchResults.checkContentIsDisplayed(nodeNames.folder);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
}); });
describe('configuration change', () => { describe('configuration change', () => {
@@ -158,7 +158,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10); expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10);
@@ -174,7 +174,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10); expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(10);
@@ -190,7 +190,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(9); expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(9);
@@ -218,7 +218,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(5); expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(5);
@@ -251,7 +251,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(5); expect(searchFiltersPage.typeFiltersPage().getRadioButtonsNumberOnPage()).toBe(5);
@@ -304,7 +304,7 @@ describe('Search Radio Component', () => {
configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile)); configEditorPage.enterBigConfigurationText(JSON.stringify(jsonFile));
configEditorPage.clickSaveButton(); configEditorPage.clickSaveButton();
searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(nodeNames.folder); searchDialog.clickOnSearchIcon().checkSearchBarIsVisible().enterTextAndPressEnter(randomName);
searchFiltersPage.clickTypeFilterHeader(); searchFiltersPage.clickTypeFilterHeader();
searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsDisplayed(filterType.none); searchFiltersPage.typeFiltersPage().checkFilterRadioButtonIsDisplayed(filterType.none);
@@ -316,8 +316,8 @@ describe('Search Radio Component', () => {
searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.custom); searchFiltersPage.typeFiltersPage().clickFilterRadioButton(filterType.custom);
contentList.checkContentIsDisplayed(nodeNames.document); searchResults.checkContentIsDisplayed(nodeNames.document);
contentList.checkContentIsNotDisplayed(nodeNames.folder); searchResults.checkContentIsNotDisplayed(nodeNames.folder);
}); });
}); });

View File

@@ -17,7 +17,7 @@
import { LoginPage } from '../../pages/adf/loginPage'; import { LoginPage } from '../../pages/adf/loginPage';
import { SearchDialog } from '../../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
import { DataTablePage } from '../../pages/adf/dataTablePage'; import { DataTableComponentPage } from '../../pages/adf/dataTableComponentPage';
import { SearchResultsPage } from '../../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { ConfigEditorPage } from '../../pages/adf/configEditorPage'; import { ConfigEditorPage } from '../../pages/adf/configEditorPage';
@@ -42,7 +42,7 @@ describe('Search Number Range Filter', () => {
const searchResults = new SearchResultsPage(); const searchResults = new SearchResultsPage();
const navigationBar = new NavigationBarPage(); const navigationBar = new NavigationBarPage();
const configEditor = new ConfigEditorPage(); const configEditor = new ConfigEditorPage();
const dataTable = new DataTablePage(); const dataTable = new DataTableComponentPage();
const acsUser = new AcsUserModel(); const acsUser = new AcsUserModel();
@@ -123,7 +123,7 @@ describe('Search Number Range Filter', () => {
.tableIsLoaded(); .tableIsLoaded();
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes <= size).toBe(true); await expect(node.entry.content.sizeInBytes <= size).toBe(true);
}); });
@@ -136,7 +136,7 @@ describe('Search Number Range Filter', () => {
.tableIsLoaded(); .tableIsLoaded();
browser.controlFlow().execute(async () => { browser.controlFlow().execute(async () => {
let firstResult = await dataTable.getNodeIdFirstElement(); let firstResult = await dataTable.getFirstElementDetail('Node id');
await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => { await this.alfrescoJsApi.core.nodesApi.getNode(firstResult).then(async (node) => {
await expect(node.entry.content.sizeInBytes >= size).toBe(true); await expect(node.entry.content.sizeInBytes >= size).toBe(true);
}); });

View File

@@ -254,11 +254,33 @@ describe('Search Sorting Picker', () => {
}); });
it('[C277286] Should be able to sort the search results by "Created Date" ASC', () => { it('[C277286] Should be able to sort the search results by "Created Date" ASC', () => {
expect(searchResults.sortAndCheckListIsOrderedByCreated(true)).toBe(true); searchResults.sortByCreated(true);
browser.controlFlow().execute(async () => {
let idList = await contentServices.getElementsDisplayedId();
let numberOfElements = await contentServices.numberOfResultsDisplayed();
let nodeList = await nodeActions.getNodesDisplayed(this.alfrescoJsApi, idList, numberOfElements);
let dateList = [];
for (let i = 0; i < nodeList.length; i++) {
dateList.push(new Date(nodeList[i].entry.createdAt));
}
expect(contentServices.checkElementsSortedAsc(dateList)).toBe(true);
});
}); });
it('[C277287] Should be able to sort the search results by "Created Date" DESC', () => { it('[C277287] Should be able to sort the search results by "Created Date" DESC', () => {
expect(searchResults.sortAndCheckListIsOrderedByCreated(false)).toBe(true); searchResults.sortByCreated(false);
browser.controlFlow().execute(async () => {
let idList = await contentServices.getElementsDisplayedId();
let numberOfElements = await contentServices.numberOfResultsDisplayed();
let nodeList = await nodeActions.getNodesDisplayed(this.alfrescoJsApi, idList, numberOfElements);
let dateList = [];
for (let i = 0; i < nodeList.length; i++) {
dateList.push(new Date(nodeList[i].entry.createdAt));
}
expect(contentServices.checkElementsSortedDesc(dateList)).toBe(true);
});
}); });
it('[C277288] Should be able to sort the search results by "Modified Date" ASC', () => { it('[C277288] Should be able to sort the search results by "Modified Date" ASC', () => {

View File

@@ -19,7 +19,7 @@ import { LoginPage } from '../pages/adf/loginPage';
import { SearchDialog } from '../pages/adf/dialog/searchDialog'; import { SearchDialog } from '../pages/adf/dialog/searchDialog';
import { SearchFiltersPage } from '../pages/adf/searchFiltersPage'; import { SearchFiltersPage } from '../pages/adf/searchFiltersPage';
import { PaginationPage } from '../pages/adf/paginationPage'; import { PaginationPage } from '../pages/adf/paginationPage';
import { ContentListPage } from '../pages/adf/dialog/contentListPage'; import { DocumentListPage } from '../pages/adf/content-services/documentListPage';
import { NavigationBarPage } from '../pages/adf/navigationBarPage'; import { NavigationBarPage } from '../pages/adf/navigationBarPage';
import { ConfigEditorPage } from '../pages/adf/configEditorPage'; import { ConfigEditorPage } from '../pages/adf/configEditorPage';
import { SearchResultsPage } from '../pages/adf/searchResultsPage'; import { SearchResultsPage } from '../pages/adf/searchResultsPage';
@@ -43,7 +43,7 @@ describe('Search Filters', () => {
let searchFiltersPage = new SearchFiltersPage(); let searchFiltersPage = new SearchFiltersPage();
let uploadActions = new UploadActions(); let uploadActions = new UploadActions();
let paginationPage = new PaginationPage(); let paginationPage = new PaginationPage();
let contentList = new ContentListPage(); let contentList = new DocumentListPage();
let navigationBar = new NavigationBarPage(); let navigationBar = new NavigationBarPage();
let configEditor = new ConfigEditorPage(); let configEditor = new ConfigEditorPage();
let searchResults = new SearchResultsPage(); let searchResults = new SearchResultsPage();
@@ -149,7 +149,7 @@ describe('Search Filters', () => {
let bucketNumberForFilter = searchFiltersPage.fileTypeCheckListFiltersPage().getBucketNumberOfFilterType(filter.type); let bucketNumberForFilter = searchFiltersPage.fileTypeCheckListFiltersPage().getBucketNumberOfFilterType(filter.type);
let resultFileNames = contentList.getAllRowsNameColumn(); let resultFileNames = contentList.getAllRowsColumnValues('Display name');
expect(bucketNumberForFilter).not.toEqual('0'); expect(bucketNumberForFilter).not.toEqual('0');

3543
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -101,16 +101,16 @@
"zone.js": "~0.8.26" "zone.js": "~0.8.26"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "~0.10.0", "@angular-devkit/build-angular": "^0.13.4",
"@angular-devkit/build-ng-packagr": "~0.10.0", "@angular-devkit/build-ng-packagr": "~0.10.0",
"@angular/cli": "^7.0.5", "@angular/cli": "^7.0.5",
"@angular/compiler-cli": "7.0.3", "@angular/compiler-cli": "^7.2.7",
"@nrwl/nx": "7.1.1",
"@nrwl/schematics": "7.1.1",
"@types/hammerjs": "2.0.35", "@types/hammerjs": "2.0.35",
"@types/jasmine": "~2.8.3", "@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2", "@types/jasminewd2": "~2.0.2",
"@types/node": "6.0.90", "@types/node": "6.0.90",
"@nrwl/nx": "7.1.1",
"@nrwl/schematics": "7.1.1",
"ajv-cli": "^3.0.0", "ajv-cli": "^3.0.0",
"bundlesize": "^0.15.3", "bundlesize": "^0.15.3",
"chalk": "^2.3.2", "chalk": "^2.3.2",
@@ -164,8 +164,8 @@
"scss-bundle": "2.3.2", "scss-bundle": "2.3.2",
"spdx-license-list": "^5.0.0", "spdx-license-list": "^5.0.0",
"stylelint": "^9.7.1", "stylelint": "^9.7.1",
"tsickle": "^0.34.0",
"ts-node": "~4.1.0", "ts-node": "~4.1.0",
"tsickle": "^0.34.0",
"tslib": "^1.9.0", "tslib": "^1.9.0",
"tslint": "5.9.1", "tslint": "5.9.1",
"typedoc": "^0.11.1", "typedoc": "^0.11.1",