[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 3409 additions and 3840 deletions
@@ -88,7 +88,8 @@ describe('Comment Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
navigationBar.clickContentServicesButton();
contentServicesPage.waitForTableBody();
done();
});
@@ -195,7 +196,7 @@ describe('Comment Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
navigationBar.clickContentServicesButton();
done();
});
@@ -20,7 +20,6 @@ import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { CreateFolderDialog } from '../../pages/adf/dialog/createFolderDialog';
import { NotificationPage } from '../../pages/adf/notificationPage';
import { MetadataViewPage } from '../../pages/adf/metadataViewPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import TestConfig = require('../../test.config');
@@ -34,7 +33,6 @@ describe('Create folder directive', function () {
let createFolderDialog = new CreateFolderDialog();
let notificationPage = new NotificationPage();
let metadataViewPage = new MetadataViewPage();
let contentListPage = new ContentListPage();
let acsUser = new AcsUserModel();
@@ -103,7 +101,7 @@ describe('Create folder directive', function () {
contentServicesPage.createNewFolder(folderName);
contentServicesPage.checkContentIsDisplayed(folderName);
contentServicesPage.navigateToFolder(folderName);
contentServicesPage.doubleClickRow(folderName);
contentServicesPage.createNewFolder(folderName);
contentServicesPage.checkContentIsDisplayed(folderName);
@@ -122,7 +120,7 @@ describe('Create folder directive', function () {
contentServicesPage.checkContentIsDisplayed(folderName);
contentListPage.metadataContent(folderName);
contentServicesPage.metadataContent(folderName);
expect(metadataViewPage.getPropertyText('properties.cm:description')).toEqual('this is the description');
});
@@ -18,7 +18,6 @@
import { browser } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import TestConfig = require('../../test.config');
import resources = require('../../util/resources');
@@ -31,7 +30,7 @@ describe('Document List Component - Actions', () => {
let loginPage = new LoginPage();
let contentServicesPage = new ContentServicesPage();
let contentListPage = new ContentListPage();
let contentListPage = contentServicesPage.getDocumentList();
let uploadedFolder, secondUploadedFolder;
let uploadActions = new UploadActions();
let acsUser = null;
@@ -88,8 +87,8 @@ describe('Document List Component - Actions', () => {
it('[C213257] Should be able to copy a file', () => {
browser.driver.sleep(15000);
contentListPage.rightClickOnRowNamed(pdfUploadedNode.entry.name);
contentListPage.pressContextMenuActionNamed('Copy');
contentListPage.rightClickOnRow(pdfUploadedNode.entry.name);
contentServicesPage.pressContextMenuActionNamed('Copy');
contentServicesPage.typeIntoNodeSelectorSearchField(folderName);
contentServicesPage.clickContentNodeSelectorResult(folderName);
contentServicesPage.clickCopyButton();
@@ -99,45 +98,45 @@ describe('Document List Component - Actions', () => {
});
it('[C280561] Should be able to delete a file via dropdown menu', () => {
contentListPage.deleteContent(pdfFileModel.name);
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name);
contentServicesPage.deleteContent(pdfFileModel.name);
contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
pdfUploadedNode = null;
});
it('[C280562] Should be able to delete multiple files via dropdown menu', () => {
contentListPage.clickRowToSelect(pdfFileModel.name);
contentListPage.clickRowToSelect(testFileModel.name);
contentListPage.deleteContent(pdfFileModel.name);
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name);
contentListPage.checkContentIsDisplayed(testFileModel.name);
contentListPage.selectRow(pdfFileModel.name);
contentListPage.selectRow(testFileModel.name);
contentServicesPage.deleteContent(pdfFileModel.name);
contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
contentServicesPage.checkContentIsDisplayed(testFileModel.name);
});
it('[C280565] Should be able to delete a file using context menu', () => {
contentListPage.rightClickOnRowNamed(pdfFileModel.name);
contentListPage.pressContextMenuActionNamed('Delete');
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name);
contentListPage.rightClickOnRow(pdfFileModel.name);
contentServicesPage.pressContextMenuActionNamed('Delete');
contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.name);
pdfUploadedNode = null;
});
it('[C280566] Should be able to open context menu with right click', () => {
contentListPage.rightClickOnRowNamed(pdfFileModel.name);
contentListPage.checkContextActionIsVisible('Download');
contentListPage.checkContextActionIsVisible('Copy');
contentListPage.checkContextActionIsVisible('Move');
contentListPage.checkContextActionIsVisible('Delete');
contentListPage.checkContextActionIsVisible('Info');
contentListPage.checkContextActionIsVisible('Manage versions');
contentListPage.checkContextActionIsVisible('Permission');
contentListPage.checkContextActionIsVisible('Lock');
contentListPage.rightClickOnRow(pdfFileModel.name);
contentServicesPage.checkContextActionIsVisible('Download');
contentServicesPage.checkContextActionIsVisible('Copy');
contentServicesPage.checkContextActionIsVisible('Move');
contentServicesPage.checkContextActionIsVisible('Delete');
contentServicesPage.checkContextActionIsVisible('Info');
contentServicesPage.checkContextActionIsVisible('Manage versions');
contentServicesPage.checkContextActionIsVisible('Permission');
contentServicesPage.checkContextActionIsVisible('Lock');
});
it('[C280567] Should be able to delete multiple files using context menu', () => {
contentListPage.clickRowToSelect(pdfFileModel.name);
contentListPage.clickRowToSelect(testFileModel.name);
contentListPage.rightClickOnRowNamed(pdfFileModel.name);
contentListPage.pressContextMenuActionNamed('Delete');
contentListPage.checkContentIsNotDisplayed(pdfFileModel.name);
contentListPage.checkContentIsDisplayed(testFileModel.name);
contentListPage.selectRow(pdfFileModel.name);
contentListPage.selectRow(testFileModel.name);
contentListPage.rightClickOnRow(pdfFileModel.name);
contentServicesPage.pressContextMenuActionNamed('Delete');
contentServicesPage.checkContentIsNotDisplayed(pdfFileModel.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', () => {
contentListPage.deleteContent(folderName);
contentListPage.checkContentIsNotDisplayed(folderName);
contentServicesPage.deleteContent(folderName);
contentServicesPage.checkContentIsNotDisplayed(folderName);
uploadedFolder = null;
});
it('[C280568] Should be able to open context menu with right click', () => {
contentListPage.rightClickOnRowNamed(folderName);
contentListPage.checkContextActionIsVisible('Download');
contentListPage.checkContextActionIsVisible('Copy');
contentListPage.checkContextActionIsVisible('Move');
contentListPage.checkContextActionIsVisible('Delete');
contentListPage.checkContextActionIsVisible('Info');
contentListPage.checkContextActionIsVisible('Permission');
contentListPage.rightClickOnRow(folderName);
contentServicesPage.checkContextActionIsVisible('Download');
contentServicesPage.checkContextActionIsVisible('Copy');
contentServicesPage.checkContextActionIsVisible('Move');
contentServicesPage.checkContextActionIsVisible('Delete');
contentServicesPage.checkContextActionIsVisible('Info');
contentServicesPage.checkContextActionIsVisible('Permission');
});
it('[C260138] Should be able to copy a folder', () => {
browser.driver.sleep(15000);
contentListPage.copyContent(folderName);
contentServicesPage.copyContent(folderName);
contentServicesPage.typeIntoNodeSelectorSearchField(secondFolderName);
contentServicesPage.clickContentNodeSelectorResult(secondFolderName);
contentServicesPage.clickCopyButton();
@@ -91,6 +91,8 @@ describe('Document List Component', () => {
afterAll(async (done) => {
await this.alfrescoJsApi.core.sitesApi.deleteSite(privateSite.entry.id);
navBar.openLanguageMenu();
navBar.chooseLanguage('English');
done();
});
@@ -178,8 +180,12 @@ describe('Document List Component', () => {
done();
});
beforeEach(async (done) => {
await loginPage.loginToContentServicesUsingUserModel(acsUser);
done();
});
it('[C279926] Should only display the user\'s files and folders', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.checkContentIsDisplayed(folderName);
contentServicesPage.checkContentIsDisplayed(pdfFileModel.name);
@@ -188,7 +194,6 @@ describe('Document List Component', () => {
});
it('[C279927] Should display default columns', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.checkColumnNameHeader();
contentServicesPage.checkColumnSizeHeader();
@@ -199,7 +204,6 @@ describe('Document List Component', () => {
it('[C279928] Should be able to display date with timeAgo', async (done) => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
timeAgoUploadedNode = await uploadActions.uploadFile(this.alfrescoJsApi, timeAgoFileModel.location, timeAgoFileModel.name, '-my-');
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
let dateValue = contentServicesPage.getColumnValueForRow(timeAgoFileModel.name, 'Created');
expect(dateValue).toContain('ago');
@@ -210,7 +214,6 @@ describe('Document List Component', () => {
await this.alfrescoJsApi.login(acsUser.id, acsUser.password);
mediumDateUploadedNode = await uploadActions.uploadFile(this.alfrescoJsApi, mediumFileModel.location, mediumFileModel.name, '-my-');
let createdDate = moment(mediumDateUploadedNode.createdAt).format('ll');
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.enableMediumTimeFormat();
let dateValue = contentServicesPage.getColumnValueForRow(mediumFileModel.name, 'Created');
@@ -240,16 +243,20 @@ describe('Document List Component', () => {
beforeAll(async (done) => {
acsUser = new AcsUserModel();
let user = new AcsUserModel();
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-');
fileBNode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileB.location, fakeFileB.name, '-my-');
fileCNode = await uploadActions.uploadFile(this.alfrescoJsApi, fakeFileC.location, fakeFileC.name, '-my-');
loginPage.loginToContentServicesUsingUserModel(user);
contentServicesPage.goToDocumentList();
done();
});
@@ -268,39 +275,27 @@ describe('Document List Component', () => {
});
it('[C260112] Should be able to sort by name (Ascending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByName('asc');
expect(contentServicesPage.sortAndCheckListIsOrderedByName('asc')).toBe(true, 'List is not sorted.');
});
it('[C272770] Should be able to sort by name (Descending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByName('desc');
expect(contentServicesPage.sortAndCheckListIsOrderedByName('desc')).toBe(true, 'List is not sorted.');
});
it('[C272771] Should be able to sort by author (Ascending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByAuthor('asc');
expect(contentServicesPage.sortAndCheckListIsOrderedByAuthor('asc')).toBe(true, 'List is not sorted.');
});
it('[C272772] Should be able to sort by author (Descending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByAuthor('desc');
expect(contentServicesPage.sortAndCheckListIsOrderedByAuthor('desc')).toBe(true, 'List is not sorted.');
});
it('[C272773] Should be able to sort by date (Ascending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByCreated('asc');
expect(contentServicesPage.sortAndCheckListIsOrderedByCreated('asc')).toBe(true, 'List is not sorted.');
});
it('[C272774] Should be able to sort by date (Descending)', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.sortAndCheckListIsOrderedByCreated('desc');
expect(contentServicesPage.sortAndCheckListIsOrderedByCreated('desc')).toBe(true, 'List is not sorted.');
});
});
@@ -323,7 +318,7 @@ describe('Document List Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.createNewFolder(folderName);
contentServicesPage.navigateToFolder(folderName);
contentServicesPage.doubleClickRow(folderName);
contentServicesPage.checkEmptyFolderTextToBe('This folder is empty');
contentServicesPage.checkEmptyFolderImageUrlToContain('/assets/images/empty_doc_lib.svg');
done();
@@ -344,7 +339,7 @@ describe('Document List Component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.goToDocumentList();
contentServicesPage.checkContentIsDisplayed(uploadedFolder.entry.name);
contentServicesPage.navigateToFolder(uploadedFolder.entry.name);
contentServicesPage.doubleClickRow(uploadedFolder.entry.name);
contentServicesPage.uploadFile(testFile.location);
contentServicesPage.checkContentIsDisplayed(testFile.name);
done();
@@ -645,7 +640,7 @@ describe('Document List Component', () => {
it('[C280130] Should be able to go back to List View', () => {
contentServicesPage.clickGridViewButton();
contentServicesPage.checkAcsContainer();
contentServicesPage.navigateToFolder(folderName);
contentServicesPage.doubleClickRow(folderName);
contentServicesPage.checkRowIsDisplayed(pdfFile.name);
});
@@ -28,6 +28,7 @@ import { Util } from '../../util/util';
import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions';
import { browser } from 'protractor';
describe('Document List - Pagination', function () {
let pagination = {
@@ -54,10 +55,10 @@ describe('Document List - Pagination', function () {
let navigationBarPage = new NavigationBarPage();
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 folderTwoModel = new FolderModel({ 'name': 'folderTwo' });
let folderThreeModel = new FolderModel({ 'name': 'folderThree' });
let folderTwoModel = new FolderModel({'name': 'folderTwo'});
let folderThreeModel = new FolderModel({'name': 'folderThree'});
beforeAll(async (done) => {
let uploadActions = new UploadActions();
@@ -90,7 +91,7 @@ describe('Document List - Pagination', function () {
it('[C260062] Should use default pagination settings', function () {
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
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 () {
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
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 () {
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
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 () {
currentPage = 1;
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
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 () {
currentPage = 1;
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name);
@@ -258,15 +259,15 @@ describe('Document List - Pagination', function () {
it('[C91320] Pagination should preserve sorting', function () {
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name);
paginationPage.selectItemsPerPage(itemsPerPage.twenty);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
contentServicesPage.getElementsDisplayedName().then(function (list) {
contentServicesPage.checkElementsSortedAsc(list);
contentServicesPage.getElementsDisplayedName().then((elements) => {
contentServicesPage.checkElementsSortedAsc(elements);
});
contentServicesPage.sortByName(false);
@@ -302,20 +303,20 @@ describe('Document List - Pagination', function () {
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
contentServicesPage.navigateToFolder(newFolderModel.name);
contentServicesPage.doubleClickRow(newFolderModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(newFolderModel.name);
expect(paginationPage.getCurrentItemsPerPage()).toEqual(itemsPerPage.five);
contentServicesPage.createNewFolder(folderTwoModel.name).checkContentIsDisplayed(folderTwoModel.name);
contentServicesPage.navigateToFolder(folderTwoModel.name);
contentServicesPage.doubleClickRow(folderTwoModel.name);
contentServicesPage.checkPaginationIsNotDisplayed();
});
it('[C260071] Should be able to change pagination when having 25 files', function () {
currentPage = 1;
contentServicesPage.goToDocumentList();
contentServicesPage.navigateToFolder(folderThreeModel.name);
contentServicesPage.doubleClickRow(folderThreeModel.name);
contentServicesPage.checkAcsContainer();
contentServicesPage.waitForTableBody();
expect(contentServicesPage.getActiveBreadcrumb()).toEqual(folderThreeModel.name);
+23 -22
View File
@@ -37,9 +37,8 @@ describe('Lock File', () => {
const loginPage = new LoginPage();
const navigationBarPage = new NavigationBarPage();
const contentServicesPage = new ContentServicesPage();
const contentList = contentServicesPage.getUploadAreaDocumentList();
const lockFilePage = new LockFilePage();
const contentServices = new ContentServicesPage();
let adminUser = new AcsUserModel();
let managerUser = new AcsUserModel();
@@ -105,7 +104,9 @@ describe('Lock File', () => {
loginPage.loginToContentServicesUsingUserModel(adminUser);
navigationBarPage.openContentServicesFolder(documentLibrary);
await navigationBarPage.openContentServicesFolder(documentLibrary);
contentServices.waitForTableBody();
done();
});
@@ -129,7 +130,7 @@ describe('Lock File', () => {
});
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.checkCancelButtonIsDisplayed();
@@ -137,38 +138,38 @@ describe('Lock File', () => {
});
it('[C286625] Should be able to click Cancel to cancel lock file operation', () => {
contentList.lockContent(pngFileModel.name);
contentServices.lockContent(pngFileModel.name);
lockFilePage.checkLockFileCheckboxIsDisplayed();
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', () => {
contentList.lockContent(pngFileToLock.name);
contentServices.lockContent(pngFileToLock.name);
lockFilePage.checkLockFileCheckboxIsDisplayed();
lockFilePage.clickLockFileCheckbox();
lockFilePage.clickSaveButton();
contentList.checkLockedIcon(pngFileToLock.name);
contentServices.checkLockedIcon(pngFileToLock.name);
});
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.clickLockFileCheckbox();
lockFilePage.clickSaveButton();
contentList.checkLockedIcon(pngFileModel.name);
contentList.lockContent(pngFileModel.name);
contentServices.checkLockedIcon(pngFileModel.name);
contentServices.lockContent(pngFileModel.name);
lockFilePage.clickLockFileCheckbox();
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 () => {
await contentList.lockContent(pngFileModel.name);
await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed();
await lockFilePage.clickLockFileCheckbox();
@@ -214,7 +215,7 @@ describe('Lock File', () => {
});
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.clickLockFileCheckbox();
@@ -230,7 +231,7 @@ describe('Lock File', () => {
});
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.clickLockFileCheckbox();
@@ -245,7 +246,7 @@ describe('Lock File', () => {
});
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.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 () => {
await contentList.lockContent(pngFileModel.name);
await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed();
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 () => {
await contentList.lockContent(pngFileModel.name);
await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed();
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 () => {
await contentList.lockContent(pngFileModel.name);
await contentServices.lockContent(pngFileModel.name);
await lockFilePage.checkLockFileCheckboxIsDisplayed();
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', () => {
contentList.lockContent(pngFileToLock.name);
contentServices.lockContent(pngFileToLock.name);
lockFilePage.checkLockFileCheckboxIsDisplayed();
lockFilePage.clickLockFileCheckbox();
lockFilePage.clickAllowOwnerCheckbox();
lockFilePage.clickSaveButton();
contentList.deleteContentWithRoot(pngFileToBeLocked.entry.name);
contentList.checkContentIsNotDisplayed(pngFileToBeLocked.entry.name);
contentServices.deleteContent(pngFileToBeLocked.entry.name);
contentServices.checkContentIsNotDisplayed(pngFileToBeLocked.entry.name);
});
});
@@ -21,12 +21,12 @@ import { ContentServicesPage } from '../pages/adf/contentServicesPage';
import { AcsUserModel } from '../models/ACS/acsUserModel';
import TestConfig = require('../test.config');
import resources = require('../util/resources');
import { ContentListPage } from '../pages/adf/dialog/contentListPage';
import AlfrescoApi = require('alfresco-js-api-node');
import { FileModel } from '../models/ACS/fileModel';
import { UploadActions } from '../actions/ACS/upload.actions';
import { Util } from '../util/util';
import { browser } from 'protractor';
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
describe('Permissions Component', function () {
@@ -34,9 +34,10 @@ describe('Permissions Component', function () {
let contentServicesPage = new ContentServicesPage();
let permissionsPage = new PermissionsPage();
let uploadActions = new UploadActions();
let contentList = new ContentListPage();
let contentList = contentServicesPage.getDocumentList();
let fileOwnerUser, filePermissionUser, file;
let publicSite, folderName;
const navigationBar = new NavigationBarPage();
let fileModel = new FileModel({
'name': resources.Files.ADF_DOCUMENTS.TXT_0B.file_name,
@@ -48,7 +49,7 @@ describe('Permissions Component', function () {
displayName: Util.generateRandomString()
};
let groupId;
let group;
let alfrescoJsApi = new AlfrescoApi({
provider: 'ECM',
hostEcm: TestConfig.adf.url
@@ -57,71 +58,60 @@ describe('Permissions Component', function () {
fileOwnerUser = 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) => {
await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await alfrescoJsApi.core.peopleApi.addPerson(fileOwnerUser);
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
await alfrescoJsApi.login(fileOwnerUser.id, fileOwnerUser.password);
let siteName = `PUBLIC_TEST_SITE_${Util.generateRandomString(5)}`;
folderName = `MEESEEKS_${Util.generateRandomString(5)}`;
let publicSiteBody = { visibility: 'PUBLIC', title: siteName };
let siteName = Util.generateRandomString(5);
let publicSiteBody = {'title': siteName, 'visibility': 'PUBLIC'};
publicSite = await alfrescoJsApi.core.sitesApi.createSite(publicSiteBody);
folderName = Util.generateRandomString(5);
await uploadActions.createFolder(alfrescoJsApi, folderName, publicSite.entry.guid);
done();
});
afterAll(async (done) => {
await alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
await alfrescoJsApi.core.sitesApi.deleteSite(publicSite.entry.id);
await alfrescoJsApi.core.groupsApi.deleteGroup(groupId);
await alfrescoJsApi.core.groupsApi.deleteGroup(group.entry.id);
done();
});
describe('Inherit and assigning permissions', function () {
beforeEach(async (done) => {
beforeAll(async (done) => {
await alfrescoJsApi.login(fileOwnerUser.id, fileOwnerUser.password);
file = await uploadActions.uploadFile(alfrescoJsApi, fileModel.location, fileModel.name, '-my-');
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
contentServicesPage.goToDocumentList();
contentList.checkContentIsDisplayed(fileModel.name);
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.rightClickOnRowNamed(fileModel.name);
contentList.pressContextMenuActionNamed('Permission');
done();
});
afterEach(async (done) => {
afterAll(async (done) => {
await uploadActions.deleteFilesOrFolder(alfrescoJsApi, file.entry.id);
done();
});
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();
});
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);
beforeEach(() => {
navigationBar.clickContentServicesButton();
contentServicesPage.checkContentIsDisplayed(fileModel.name);
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.rightClickOnRow(fileModel.name);
contentServicesPage.pressContextMenuActionNamed('Permission');
});
it('[C268974] Inherit Permission', () => {
@@ -136,6 +126,26 @@ describe('Permissions Component', function () {
expect(permissionsPage.getPermissionInheritedButtonText()).toBe('Permission Inherited');
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 () {
@@ -148,10 +158,10 @@ describe('Permissions Component', function () {
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
contentServicesPage.goToDocumentList();
contentList.checkContentIsDisplayed(fileModel.name);
contentServicesPage.checkContentIsDisplayed(fileModel.name);
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.clickRowMenuActionsButton(fileModel.name);
contentList.clickMenuActionNamed('PERMISSION');
contentList.rightClickOnRow(fileModel.name);
contentServicesPage.pressContextMenuActionNamed('Permission');
permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton();
permissionsPage.checkAddPermissionDialogIsDisplayed();
@@ -217,10 +227,10 @@ describe('Permissions Component', function () {
beforeEach(async (done) => {
loginPage.loginToContentServicesUsingUserModel(fileOwnerUser);
browser.get(TestConfig.adf.url + '/files/' + publicSite.entry.guid);
contentList.checkContentIsDisplayed(folderName);
contentServicesPage.checkContentIsDisplayed(folderName);
contentServicesPage.checkSelectedSiteIsDisplayed('My files');
contentList.clickRowMenuActionsButton(folderName);
contentList.clickMenuActionNamed('PERMISSION');
contentList.rightClickOnRow(folderName);
contentServicesPage.pressContextMenuActionNamed('Permission');
permissionsPage.checkPermissionInheritedButtonIsDisplayed();
permissionsPage.checkAddPermissionButtonIsDisplayed();
permissionsPage.clickAddPermissionButton();
@@ -35,7 +35,7 @@ describe('Share file', () => {
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const contentListPage = contentServicesPage.getUploadAreaDocumentList();
const contentListPage = contentServicesPage.getDocumentList();
const shareDialog = new ShareDialog();
const navigationBarPage = new NavigationBarPage();
const viewerPage = new ViewerPage();
@@ -66,6 +66,10 @@ describe('Share file', () => {
nodeId = pngUploadedFile.entry.id;
loginPage.loginToContentServicesUsingUserModel(acsUser);
navigationBarPage.clickContentServicesButton();
done();
});
@@ -81,16 +85,21 @@ describe('Share file', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
done();
});
afterEach(async (done) => {
await browser.refresh();
contentServicesPage.waitForTableBody();
done();
});
it('[C286549] Should check automatically toggle button in Share dialog', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.shareToggleButtonIsChecked();
@@ -99,6 +108,7 @@ describe('Share file', () => {
});
it('[C286544] Should display notification when clicking URL copy button', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickShareLinkButton();
@@ -111,6 +121,7 @@ describe('Share file', () => {
});
it('[C286543] Should be possible to close Share dialog', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.checkShareLinkIsDisplayed();
@@ -118,7 +129,16 @@ describe('Share file', () => {
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 () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickDateTimePickerButton();
@@ -137,6 +157,7 @@ describe('Share file', () => {
});
it('[C286578] Should disable today option in expiration day calendar', () => {
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickDateTimePickerButton();
@@ -147,7 +168,7 @@ describe('Share file', () => {
describe('Shared link preview', () => {
afterEach( (done) => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
navigationBarPage.clickContentServicesButton();
done();
});
@@ -155,7 +176,7 @@ describe('Share file', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
@@ -163,7 +184,7 @@ describe('Share file', () => {
});
it('[C286565] Should open file when logged user access shared link', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
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 () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickShareLinkButton();
@@ -192,7 +213,7 @@ describe('Share file', () => {
});
it('[C286539] Should open file when non-logged user access shared link', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.checkShareLinkIsDisplayed();
@@ -20,7 +20,6 @@ import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { ErrorPage } from '../../pages/adf/errorPage';
import { ShareDialog } from '../../pages/adf/dialog/shareDialog';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -35,8 +34,8 @@ describe('Unshare file', () => {
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const contentListPage = contentServicesPage.getUploadAreaDocumentList();
let navBar = new NavigationBarPage();
const contentListPage = contentServicesPage.getDocumentList();
const navBar = new NavigationBarPage();
const errorPage = new ErrorPage();
const shareDialog = new ShareDialog();
const siteName = `PRIVATE-TEST-SITE-${Util.generateRandomString(5)}`;
@@ -102,7 +101,8 @@ describe('Unshare file', () => {
nodeId = pngUploadedFile.entry.id;
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
navBar.clickContentServicesButton();
contentServicesPage.waitForTableBody();
done();
});
@@ -118,7 +118,7 @@ describe('Unshare file', () => {
});
it('[C286550] Should display unshare confirmation dialog', () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickUnShareFile();
@@ -126,7 +126,7 @@ describe('Unshare file', () => {
});
it('[C286551] Should be able to cancel unshare action', () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickUnShareFile();
@@ -136,7 +136,7 @@ describe('Unshare file', () => {
});
it('[C286552] Should be able to confirm unshare action', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.clickUnShareFile();
@@ -146,7 +146,7 @@ describe('Unshare file', () => {
});
it('[C280556] Should redirect to 404 when trying to access an unshared file', async () => {
contentListPage.clickRowToSelectWithRoot(pngFileModel.name);
contentListPage.selectRow(pngFileModel.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
let sharedLink = await shareDialog.getShareLink();
@@ -168,8 +168,8 @@ describe('Unshare file', () => {
it('[C286555] Should NOT be able to unshare file without permission', () => {
navBar.goToSite(testSite);
contentListPage.navigateToFolder('documentLibrary');
contentListPage.clickRowToSelect(nodeBody.name);
contentListPage.doubleClickRow('documentLibrary');
contentListPage.selectRow(nodeBody.name);
contentServicesPage.clickShareButton();
shareDialog.checkDialogIsDisplayed();
shareDialog.shareToggleButtonIsChecked();
@@ -81,14 +81,12 @@ describe('Upload component', () => {
});
afterEach(async (done) => {
let nodesPromise = await contentServicesPage.getContentList().getAllNodeIdInList();
let nodesPromise = await contentServicesPage.getElementsDisplayedId();
nodesPromise.forEach(async (currentNodePromise) => {
await currentNodePromise.then(async (currentNode) => {
if (currentNode && currentNode !== 'Node id') {
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, currentNode);
}
});
nodesPromise.forEach(async (currentNode) => {
if (currentNode && currentNode !== 'Node id') {
await uploadActions.deleteFilesOrFolder(this.alfrescoJsApi, currentNode);
}
});
done();
@@ -107,92 +107,221 @@ describe('Upload component', () => {
contentServicesPage.goToDocumentList();
});
afterEach(async (done) => {
let nodesPromise = await contentServicesPage.getContentList().getAllNodeIdInList();
describe('', () => {
nodesPromise.forEach(async (currentNodePromise) => {
await currentNodePromise.then(async (currentNode) => {
if (currentNode && currentNode !== 'Node id') {
beforeEach(() => {
contentServicesPage.goToDocumentList();
});
afterEach(async (done) => {
contentServicesPage.getElementsDisplayedId().then((nodeList) => {
nodeList.forEach(async (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', () => {
expect(contentServicesPage.getSingleFileButtonTooltip()).toEqual('Custom tooltip');
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);
contentServicesPage
.checkUploadButton()
.checkContentIsDisplayed(firstPdfFileModel.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', () => {
contentServicesPage
.uploadFile(pdfFileModel.location)
.checkContentIsDisplayed(pdfFileModel.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();
});
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', () => {
contentServicesPage
.uploadFile(docxFileModel.location)
.checkContentIsDisplayed(docxFileModel.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
});
uploadDialog.fileIsUploaded(docxFileModel.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
});
it('[C272790] Should be able to upload text file', () => {
contentServicesPage
.uploadFile(docxFileModel.location)
.checkContentIsDisplayed(docxFileModel.name);
it('[C260141] Should be possible to upload PNG file', () => {
contentServicesPage
.uploadFile(pngFileModel.location)
.checkContentIsDisplayed(pngFileModel.name);
uploadDialog.fileIsUploaded(docxFileModel.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
});
uploadDialog.fileIsUploaded(pngFileModel.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
});
it('[C260141] Should be possible to upload PNG file', () => {
contentServicesPage
.uploadFile(pngFileModel.location)
.checkContentIsDisplayed(pngFileModel.name);
it('[C260143] Should be possible to maximize/minimize the upload dialog', () => {
contentServicesPage
.uploadFile(docxFileModel.location)
.checkContentIsDisplayed(docxFileModel.name);
uploadDialog.fileIsUploaded(pngFileModel.name);
uploadDialog.clickOnCloseButton().dialogIsNotDisplayed();
});
uploadDialog.fileIsUploaded(docxFileModel.name).checkCloseButtonIsDisplayed();
expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1');
expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1');
uploadDialog.minimizeUploadDialog().dialogIsMinimized();
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('[C260143] Should be possible to maximize/minimize the upload dialog', () => {
contentServicesPage
.uploadFile(docxFileModel.location)
.checkContentIsDisplayed(docxFileModel.name);
it('[C272794] Should display tooltip for uploading files', () => {
uploadToggles.enableMultipleFileUpload();
browser.driver.sleep(1000);
expect(contentServicesPage.getMultipleFileButtonTooltip()).toEqual('Custom tooltip');
uploadToggles.disableMultipleFileUpload();
uploadDialog.fileIsUploaded(docxFileModel.name).checkCloseButtonIsDisplayed();
expect(uploadDialog.numberOfCurrentFilesUploaded()).toEqual('1');
expect(uploadDialog.numberOfInitialFilesUploaded()).toEqual('1');
uploadDialog.minimizeUploadDialog().dialogIsMinimized();
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', () => {
@@ -227,130 +356,6 @@ describe('Upload component', () => {
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 () => {
let folderName = Util.generateRandomString(8);
@@ -19,7 +19,6 @@ import { by, element } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage';
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 { Util } from '../../util/util';
import path = require('path');
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Version component actions', () => {
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const contentListPage = new ContentListPage();
const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage();
let acsUser = new AcsUserModel();
@@ -75,8 +75,9 @@ describe('Version component actions', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
contentListPage.versionManagerContent(txtFileModel.name);
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentServicesPage.versionManagerContent(txtFileModel.name);
done();
});
@@ -18,11 +18,11 @@
import { element, by } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { UploadDialog } from '../../pages/adf/dialog/uploadDialog';
import { NotificationPage } from '../../pages/adf/notificationPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
import { FileModel } from '../../models/ACS/fileModel';
@@ -40,11 +40,11 @@ import CONSTANTS = require('../../util/constants');
describe('Version component permissions', () => {
const loginPage = new LoginPage();
const contentListPage = new ContentListPage();
const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage();
const uploadDialog = new UploadDialog();
const notificationPage = new NotificationPage();
const contentServices = new ContentServicesPage();
let site;
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', () => {
contentListPage.versionManagerContent(differentCreatorFile.name);
contentServices.versionManagerContent(differentCreatorFile.name);
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', () => {
contentListPage.versionManagerContent(lockFileModel.name);
contentServices.versionManagerContent(lockFileModel.name);
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', () => {
contentListPage.versionManagerContent(sameCreatorFile.name);
contentServices.versionManagerContent(sameCreatorFile.name);
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', () => {
contentListPage.versionManagerContent(differentCreatorFile.name);
contentServices.versionManagerContent(differentCreatorFile.name);
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', () => {
contentListPage.versionManagerContent(lockFileModel.name);
contentServices.versionManagerContent(lockFileModel.name);
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', () => {
contentListPage.versionManagerContent(sameCreatorFile.name);
contentServices.versionManagerContent(sameCreatorFile.name);
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', () => {
contentListPage.versionManagerContent(differentCreatorFile.name);
contentServices.versionManagerContent(differentCreatorFile.name);
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', () => {
contentListPage.versionManagerContent(lockFileModel.name);
contentServices.versionManagerContent(lockFileModel.name);
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', () => {
contentListPage.versionManagerContent(sameCreatorFile.name);
contentServices.versionManagerContent(sameCreatorFile.name);
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', () => {
contentListPage.versionManagerContent(lockFileModel.name);
contentServices.versionManagerContent(lockFileModel.name);
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', () => {
contentListPage.versionManagerContent(differentCreatorFile.name);
contentServices.versionManagerContent(differentCreatorFile.name);
versionManagePage.showNewVersionButton.click();
@@ -19,7 +19,6 @@ import { by, element } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -31,13 +30,14 @@ import resources = require('../../util/resources');
import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Version Properties', () => {
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const contentListPage = new ContentListPage();
const versionManagePage = new VersionManagePage();
const navigationBarPage = new NavigationBarPage();
let acsUser = new AcsUserModel();
@@ -74,8 +74,9 @@ describe('Version Properties', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
contentListPage.versionManagerContent(txtFileModel.name);
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentServicesPage.versionManagerContent(txtFileModel.name);
done();
});
@@ -19,7 +19,6 @@ import { browser } from 'protractor';
import { LoginPage } from '../../pages/adf/loginPage';
import { ContentServicesPage } from '../../pages/adf/contentServicesPage';
import { ContentListPage } from '../../pages/adf/dialog/contentListPage';
import { VersionManagePage } from '../../pages/adf/versionManagerPage';
import { AcsUserModel } from '../../models/ACS/acsUserModel';
@@ -31,13 +30,14 @@ import resources = require('../../util/resources');
import AlfrescoApi = require('alfresco-js-api-node');
import { UploadActions } from '../../actions/ACS/upload.actions';
import { Util } from '../../util/util';
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
describe('Version component', () => {
let txtUploadedFile;
const loginPage = new LoginPage();
const contentServicesPage = new ContentServicesPage();
const contentListPage = new ContentListPage();
const navigationBarPage = new NavigationBarPage();
const versionManagePage = new VersionManagePage();
let acsUser = new AcsUserModel();
@@ -89,8 +89,9 @@ describe('Version component', () => {
loginPage.loginToContentServicesUsingUserModel(acsUser);
contentServicesPage.navigateToDocumentList();
contentListPage.versionManagerContent(txtFileModel.name);
navigationBarPage.clickContentServicesButton();
contentServicesPage.waitForTableBody();
contentServicesPage.versionManagerContent(txtFileModel.name);
done();
});