From fb6ba7cf6ada4bb80ce1e76eb879503ba667b1b6 Mon Sep 17 00:00:00 2001 From: Adina Parpalita Date: Fri, 17 Jan 2020 16:49:58 +0200 Subject: [PATCH] [ACA-2874] improve the execution time of actions-available tests (#1307) * some refactoring trying to improve the execution time of actions-available tests * copyright update --- .../breadcrumb/dropdown-breadcrumb.ts | 2 +- e2e/components/data-table/data-table.ts | 4 +- .../dialog/create-from-template-dialog.ts | 2 +- .../dialog/select-template-dialog.ts | 2 +- .../files-folders/favorites.test.ts | 116 ++- .../files-folders/personal.test.ts | 152 ++-- .../files-folders/recent.test.ts | 136 ++-- .../files-folders/search.test.ts | 201 ++--- .../files-folders/shared.test.ts | 94 +-- .../files-folders/test-data-files-folders.ts | 2 - .../files-folders/trash.test.ts | 52 +- .../files-folders/viewer.test.ts | 279 +++---- e2e/suites/actions-available/generic.test.ts | 206 +++-- .../libraries/library.test.ts | 102 ++- .../other-permissions.test.ts | 744 ++++-------------- .../permissions-favorites.test.ts | 133 ++-- .../permissions-my-libraries.test.ts | 181 ++--- .../permissions-search.test.ts | 253 +++--- .../permissions-shared.test.ts | 118 ++- .../permissions-viewer.test.ts | 298 +++---- e2e/suites/actions-available/test-util.ts | 107 ++- .../actions/create-file-from-template.test.ts | 2 +- e2e/utilities/admin-actions.ts | 12 +- .../repo-client/apis/sites/sites-api.ts | 28 +- e2e/utilities/repo-client/repo-client.ts | 2 +- .../create-from-template-dialog.service.ts | 2 +- src/assets/i18n/ar.json | 2 +- src/assets/i18n/cs.json | 2 +- src/assets/i18n/da.json | 2 +- src/assets/i18n/de.json | 2 +- src/assets/i18n/es.json | 2 +- src/assets/i18n/fi.json | 2 +- src/assets/i18n/fr.json | 2 +- src/assets/i18n/it.json | 2 +- src/assets/i18n/ja.json | 2 +- src/assets/i18n/nb.json | 2 +- src/assets/i18n/nl.json | 2 +- src/assets/i18n/pl.json | 2 +- src/assets/i18n/pt-BR.json | 2 +- src/assets/i18n/ru.json | 2 +- src/assets/i18n/sv.json | 2 +- src/assets/i18n/zh-CN.json | 2 +- 42 files changed, 1283 insertions(+), 1979 deletions(-) diff --git a/e2e/components/breadcrumb/dropdown-breadcrumb.ts b/e2e/components/breadcrumb/dropdown-breadcrumb.ts index 52b3129d0..9a5cbed69 100755 --- a/e2e/components/breadcrumb/dropdown-breadcrumb.ts +++ b/e2e/components/breadcrumb/dropdown-breadcrumb.ts @@ -2,7 +2,7 @@ * @license * Alfresco Example Content Application * - * Copyright (C) 2005 - 2019 Alfresco Software Limited + * Copyright (C) 2005 - 2020 Alfresco Software Limited * * This file is part of the Alfresco Example Content Application. * If the software was purchased under a paid Alfresco license, the terms of diff --git a/e2e/components/data-table/data-table.ts b/e2e/components/data-table/data-table.ts index 45a5ec1a5..f04198d34 100755 --- a/e2e/components/data-table/data-table.ts +++ b/e2e/components/data-table/data-table.ts @@ -276,11 +276,11 @@ export class DataTable extends Component { async selectMultipleItems(names: string[], location: string = ''): Promise { await this.clearSelection(); - await browser.actions().sendKeys(protractor.Key.COMMAND).perform(); + await Utils.pressCmd(); for (const name of names) { await this.selectItem(name, location); } - await browser.actions().sendKeys(protractor.Key.NULL).perform(); + await Utils.releaseKeyPressed(); } async clearSelection(): Promise { diff --git a/e2e/components/dialog/create-from-template-dialog.ts b/e2e/components/dialog/create-from-template-dialog.ts index 4bca2e05a..66df52621 100755 --- a/e2e/components/dialog/create-from-template-dialog.ts +++ b/e2e/components/dialog/create-from-template-dialog.ts @@ -2,7 +2,7 @@ * @license * Alfresco Example Content Application * - * Copyright (C) 2005 - 2019 Alfresco Software Limited + * Copyright (C) 2005 - 2020 Alfresco Software Limited * * This file is part of the Alfresco Example Content Application. * If the software was purchased under a paid Alfresco license, the terms of diff --git a/e2e/components/dialog/select-template-dialog.ts b/e2e/components/dialog/select-template-dialog.ts index 971c2cfbe..39acbada4 100755 --- a/e2e/components/dialog/select-template-dialog.ts +++ b/e2e/components/dialog/select-template-dialog.ts @@ -2,7 +2,7 @@ * @license * Alfresco Example Content Application * - * Copyright (C) 2005 - 2019 Alfresco Software Limited + * Copyright (C) 2005 - 2020 Alfresco Software Limited * * This file is part of the Alfresco Example Content Application. * If the software was purchased under a paid Alfresco license, the terms of diff --git a/e2e/suites/actions-available/files-folders/favorites.test.ts b/e2e/suites/actions-available/files-folders/favorites.test.ts index fd87ba925..38177a2df 100755 --- a/e2e/suites/actions-available/files-folders/favorites.test.ts +++ b/e2e/suites/actions-available/files-folders/favorites.test.ts @@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages'; import { FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-files-folders'; import * as testUtil from '../test-util'; @@ -36,43 +37,47 @@ describe('File/folder actions : on Favorites : ', () => { const username = `user-${random}`; - const parent = `parent-${random}`; let parentId; + const parent = `parent-${random}`; + let parentId: string; - let fileDocxFavId, fileFavId, fileDocxSharedFavId, fileSharedFavId, fileFavLockedId, fileSharedFavLockedId; - let folderFavId, folderFav2Id; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedFavId: string; + let fileSharedFavId: string; + let fileFavLockedId: string; + let fileSharedFavLockedId: string; + let folderFavId: string; + let folderFav2Id: string; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - parentId = (await apis.user.nodes.createFolder(parent)).entry.id; + parentId = (await userApi.nodes.createFolder(parent)).entry.id; - fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; - fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id; - fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; - fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; - fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; - fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; + fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; + fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id; + fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; + fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; + fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; + fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; - folderFavId = (await apis.user.nodes.createFolder(data.folderFav.name, parentId)).entry.id; - folderFav2Id = (await apis.user.nodes.createFolder(data.folderFav2.name, parentId)).entry.id; - await apis.user.favorites.addFavoriteById('folder', folderFavId); - await apis.user.favorites.addFavoriteById('folder', folderFav2Id); + folderFavId = (await userApi.nodes.createFolder(data.folderFav.name, parentId)).entry.id; + folderFav2Id = (await userApi.nodes.createFolder(data.folderFav2.name, parentId)).entry.id; - await apis.user.shared.shareFilesByIds([ + await userApi.favorites.addFavoritesByIds('folder', [folderFavId, folderFav2Id]); + await userApi.shared.shareFilesByIds([ fileDocxSharedFavId, fileSharedFavId, fileSharedFavLockedId ]); - - await apis.user.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -80,76 +85,67 @@ describe('File/folder actions : on Favorites : ', () => { fileFavLockedId, fileSharedFavLockedId ]); + await userApi.nodes.lockFile(fileFavLockedId); + await userApi.nodes.lockFile(fileSharedFavLockedId); - await apis.user.nodes.lockFile(fileFavLockedId); - await apis.user.nodes.lockFile(fileSharedFavLockedId); - - await apis.user.favorites.waitForApi({ expect: 8 }); - await apis.user.shared.waitForApi({ expect: 3 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 8 }), + userApi.shared.waitForApi({ expect: 3 }) + ]); await loginPage.loginWith(username); - done(); - }); - afterAll(async (done) => { - await apis.user.nodes.deleteNodeById(parentId); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.clickFavoritesAndWait(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await userApi.nodes.deleteNodeById(parentId); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('on a file', () => { it('File Office, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.favoritesContextMenu); }); it('File favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.favoritesContextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary, data.fileDocxSharedFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesContextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary, data.fileSharedFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.favoritesContextMenu); }); it('File favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.favoritesContextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary, data.fileSharedFavLocked.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesContextMenu); }); }); describe('on a folder', () => { it('Folder favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.favoritesContextMenu); }); }); @@ -157,26 +153,22 @@ describe('File/folder actions : on Favorites : ', () => { describe('on multiple selection', () => { it('multiple files - [C280656]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); it('multiple locked files - [C297631]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); it('multiple folders - [C280664]', async () => { await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); it('both files and folders - [C280657]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); }); }); diff --git a/e2e/suites/actions-available/files-folders/personal.test.ts b/e2e/suites/actions-available/files-folders/personal.test.ts index 01c51bf0a..d97137dc4 100755 --- a/e2e/suites/actions-available/files-folders/personal.test.ts +++ b/e2e/suites/actions-available/files-folders/personal.test.ts @@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages'; import { FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-files-folders'; import * as testUtil from '../test-util'; @@ -36,43 +37,52 @@ describe('File/folder actions : on Personal Files: ', () => { const username = `user-${random}`; - const parent = `parent-${random}`; let parentId; + const parent = `parent-${random}`; + let parentId: string; - let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId; - let folderFavId; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileLockedId: string; + let fileFavLockedId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; + let folderFavId: string; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); const { dataTable } = page; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - parentId = (await apis.user.nodes.createFolder(parent)).entry.id; + parentId = (await userApi.nodes.createFolder(parent)).entry.id; - await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name ); - fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; - await apis.user.nodes.createFile(data.file.name, parentId); - fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id; - fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id; - fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; - fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id; - fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; - fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; - fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; + await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name ); + fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; + await userApi.nodes.createFile(data.file.name, parentId); + fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id; + fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id; + fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; + fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id; + fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; + fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; + fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; - await apis.user.nodes.createFolder(data.folder.name, parentId); - folderFavId = (await apis.user.nodes.createFolder(data.folderFav.name, parentId)).entry.id; - await apis.user.favorites.addFavoriteById('folder', folderFavId); + await userApi.nodes.createFolder(data.folder.name, parentId); + folderFavId = (await userApi.nodes.createFolder(data.folderFav.name, parentId)).entry.id; + await userApi.favorites.addFavoriteById('folder', folderFavId); - await apis.user.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -81,7 +91,7 @@ describe('File/folder actions : on Personal Files: ', () => { fileSharedFavLockedId ]); - await apis.user.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -90,107 +100,90 @@ describe('File/folder actions : on Personal Files: ', () => { fileSharedFavLockedId ]); - await apis.user.nodes.lockFile(fileLockedId); - await apis.user.nodes.lockFile(fileFavLockedId); - await apis.user.nodes.lockFile(fileSharedLockedId); - await apis.user.nodes.lockFile(fileSharedFavLockedId); + await userApi.nodes.lockFile(fileLockedId); + await userApi.nodes.lockFile(fileFavLockedId); + await userApi.nodes.lockFile(fileSharedLockedId); + await userApi.nodes.lockFile(fileSharedFavLockedId); - await apis.user.favorites.waitForApi({ expect: 7 }); - await apis.user.shared.waitForApi({ expect: 6 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 7 }), + userApi.shared.waitForApi({ expect: 6 }) + ]); await loginPage.loginWith(username); - done(); - }); - afterAll(async (done) => { - await apis.user.nodes.deleteNodeById(parentId); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.clickPersonalFilesAndWait(); await dataTable.doubleClickOnRowByName(parent); await dataTable.waitForHeader(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await userApi.nodes.deleteNodeById(parentId); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); }); describe('on a file', () => { it('File Office - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.toolbarPrimary, data.fileDocx.toolbarMore); await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu); }); it('File Office, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu); }); it('File simple - []', async () => { - await testUtil.checkToolbarPrimary(data.file.name, data.file.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore); + await testUtil.checkToolbarActions(data.file.name, data.file.toolbarPrimary, data.file.toolbarMore); await testUtil.checkContextMenu(data.file.name, data.file.contextMenu); }); it('File favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.toolbarMore); await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu); }); it('File Office, shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.toolbarMore); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu); }); it('File shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.toolbarMore); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu); }); it('File locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.toolbarPrimary, data.fileLocked.toolbarMore); await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu); }); it('File favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu); }); it('File shared, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu); }); }); @@ -198,14 +191,12 @@ describe('File/folder actions : on Personal Files: ', () => { describe('on a folder', () => { it('Folder not favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folder.name, data.folder.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.toolbarMore); + await testUtil.checkToolbarActions(data.folder.name, data.folder.toolbarPrimary, data.folder.toolbarMore); await testUtil.checkContextMenu(data.folder.name, data.folder.contextMenu); }); it('Folder favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.toolbarMore); + await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.toolbarMore); await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu); }); }); @@ -213,32 +204,27 @@ describe('File/folder actions : on Personal Files: ', () => { describe('on multiple selection', () => { it('multiple files - [C217112]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple files - all favorite - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore); }); it('multiple locked files - [C297619]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple folders - [C280459]', async () => { await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folder.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('both files and folders - [C280460]', async () => { await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folder.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); }); }); diff --git a/e2e/suites/actions-available/files-folders/recent.test.ts b/e2e/suites/actions-available/files-folders/recent.test.ts index 5e57d938d..b7eb97b8d 100755 --- a/e2e/suites/actions-available/files-folders/recent.test.ts +++ b/e2e/suites/actions-available/files-folders/recent.test.ts @@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages'; import { FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-files-folders'; import * as testUtil from '../test-util'; @@ -36,38 +37,46 @@ describe('File actions : on Recent Files: ', () => { const username = `user-${random}`; - const parent = `parent-${random}`; let parentId; + const parent = `parent-${random}`; + let parentId: string; - let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileLockedId: string; + let fileFavLockedId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); - const { dataTable } = page; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - parentId = (await apis.user.nodes.createFolder(parent)).entry.id; + parentId = (await userApi.nodes.createFolder(parent)).entry.id; - await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name); - fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; - await apis.user.nodes.createFile(data.file.name, parentId); - fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id; - fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id; - fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; - fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id; - fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; - fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; - fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; + await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name); + fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; + await userApi.nodes.createFile(data.file.name, parentId); + fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id; + fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id; + fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; + fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id; + fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; + fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; + fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; - await apis.user.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -76,7 +85,7 @@ describe('File actions : on Recent Files: ', () => { fileSharedFavLockedId ]); - await apis.user.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -85,106 +94,88 @@ describe('File actions : on Recent Files: ', () => { fileSharedFavLockedId ]); - await apis.user.nodes.lockFile(fileLockedId); - await apis.user.nodes.lockFile(fileFavLockedId); - await apis.user.nodes.lockFile(fileSharedLockedId); - await apis.user.nodes.lockFile(fileSharedFavLockedId); + await userApi.nodes.lockFile(fileLockedId); + await userApi.nodes.lockFile(fileFavLockedId); + await userApi.nodes.lockFile(fileSharedLockedId); + await userApi.nodes.lockFile(fileSharedFavLockedId); - await apis.user.favorites.waitForApi({ expect: 6 }); - await apis.user.shared.waitForApi({ expect: 6 }); - await apis.user.search.waitForApi(username, { expect: 12 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 6 }), + userApi.shared.waitForApi({ expect: 6 }), + userApi.search.waitForApi(username, { expect: 12 }) + ]); await loginPage.loginWith(username); - done(); - }); - afterAll(async (done) => { - await apis.user.nodes.deleteNodeById(parentId); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.clickRecentFilesAndWait(); - await dataTable.waitForHeader(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await userApi.nodes.deleteNodeById(parentId); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); }); describe('on single selection', () => { it('File Office - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.toolbarPrimary, data.fileDocx.toolbarMore); await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu); }); it('File Office, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu); }); it('File simple - []', async () => { - await testUtil.checkToolbarPrimary(data.file.name, data.file.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore); + await testUtil.checkToolbarActions(data.file.name, data.file.toolbarPrimary, data.file.toolbarMore); await testUtil.checkContextMenu(data.file.name, data.file.contextMenu); }); it('File favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.toolbarMore); await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu); }); it('File Office, shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.toolbarMore); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu); }); it('File shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.toolbarMore); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu); }); it('File locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.toolbarPrimary, data.fileLocked.toolbarMore); await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu); }); it('File favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu); }); it('File shared, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu); }); }); @@ -192,20 +183,17 @@ describe('File actions : on Recent Files: ', () => { describe('on multiple selection', () => { it('multiple files - [C280468]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple files - all favorite - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore); }); it('multiple locked files - [C297624]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); }); diff --git a/e2e/suites/actions-available/files-folders/search.test.ts b/e2e/suites/actions-available/files-folders/search.test.ts index 0f24ed64b..155423e27 100755 --- a/e2e/suites/actions-available/files-folders/search.test.ts +++ b/e2e/suites/actions-available/files-folders/search.test.ts @@ -23,10 +23,11 @@ * along with Alfresco. If not, see . */ -import { LoginPage, BrowsingPage } from '../../../pages/pages'; +import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages'; import { FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-files-folders'; import * as testUtil from '../test-util'; @@ -36,43 +37,53 @@ describe('File/folder actions : on Search Results : ', () => { const username = `user-${random}`; - const parent = `parent-${random}`; let parentId; + const parent = `parent-${random}`; + let parentId: string; - let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId; - let folderFavId; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileLockedId: string; + let fileFavLockedId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; + let folderFavId: string; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); const { searchInput } = page.header; + const searchResultsPage = new SearchResultsPage(); - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - parentId = (await apis.user.nodes.createFolder(parent)).entry.id; + parentId = (await userApi.nodes.createFolder(parent)).entry.id; - await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name ); - fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; - await apis.user.nodes.createFile(data.file.name, parentId); - fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id; - fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id; - fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; - fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id; - fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; - fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; - fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; + await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name ); + fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; + await userApi.nodes.createFile(data.file.name, parentId); + fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id; + fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id; + fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; + fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id; + fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; + fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; + fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; - await apis.user.nodes.createFolder(data.folder.name, parentId); - folderFavId = (await apis.user.nodes.createFolder(data.folderFav.name, parentId)).entry.id; - await apis.user.favorites.addFavoriteById('folder', folderFavId); + await userApi.nodes.createFolder(data.folder.name, parentId); + folderFavId = (await userApi.nodes.createFolder(data.folderFav.name, parentId)).entry.id; + await userApi.favorites.addFavoriteById('folder', folderFavId); - await apis.user.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -81,7 +92,7 @@ describe('File/folder actions : on Search Results : ', () => { fileSharedFavLockedId ]); - await apis.user.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -90,202 +101,158 @@ describe('File/folder actions : on Search Results : ', () => { fileSharedFavLockedId ]); - await apis.user.nodes.lockFile(fileLockedId); - await apis.user.nodes.lockFile(fileFavLockedId); - await apis.user.nodes.lockFile(fileSharedLockedId); - await apis.user.nodes.lockFile(fileSharedFavLockedId); + await userApi.nodes.lockFile(fileLockedId); + await userApi.nodes.lockFile(fileFavLockedId); + await userApi.nodes.lockFile(fileSharedLockedId); + await userApi.nodes.lockFile(fileSharedFavLockedId); - await apis.user.favorites.waitForApi({ expect: 7 }); - await apis.user.shared.waitForApi({ expect: 6 }); - await apis.user.search.waitForApi(username, { expect: 12 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 7 }), + userApi.shared.waitForApi({ expect: 6 }), + userApi.search.waitForApi(username, { expect: 12 }) + ]); await loginPage.loginWith(username); - done(); }); - afterAll(async (done) => { - await apis.user.nodes.deleteNodeById(parentId); - done(); + afterAll(async () => { + await userApi.nodes.deleteNodeById(parentId); + }); + + beforeEach(async () => { + await Utils.pressEscape(); }); describe('on a file', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickPersonalFiles(); await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor('file-'); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); + await searchResultsPage.waitForResults(); }); it('File Office - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.searchToolbarPrimary, data.fileDocx.searchToolbarMore); await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.searchContextMenu); }); it('File Office, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary, data.fileDocxFav.searchToolbarMore); await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.searchContextMenu); }); it('File simple - []', async () => { - await testUtil.checkToolbarPrimary(data.file.name, data.file.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.file.name, data.file.searchToolbarMore); + await testUtil.checkToolbarActions(data.file.name, data.file.searchToolbarPrimary, data.file.searchToolbarMore); await testUtil.checkContextMenu(data.file.name, data.file.searchContextMenu); }); it('File favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.searchToolbarPrimary, data.fileFav.searchToolbarMore); await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.searchContextMenu); }); it('File Office, shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary, data.fileDocxShared.searchToolbarMore); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.searchContextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary, data.fileDocxSharedFav.searchToolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchContextMenu); }); it('File shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.searchToolbarPrimary, data.fileShared.searchToolbarMore); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.searchContextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary, data.fileSharedFav.searchToolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.searchContextMenu); }); it('File locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.searchToolbarPrimary, data.fileLocked.searchToolbarMore); await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.searchContextMenu); }); it('File favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary, data.fileFavLocked.searchToolbarMore); await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.searchContextMenu); }); it('File shared, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary, data.fileSharedLocked.searchToolbarMore); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.searchContextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary, data.fileSharedFavLocked.searchToolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchContextMenu); }); }); describe('on a folder', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickPersonalFiles(); await searchInput.clickSearchButton(); - await searchInput.checkOnlyFolders(); await searchInput.searchFor('folder-'); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); + await searchResultsPage.waitForResults(); }); it('Folder not favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folder.name, data.folder.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.searchToolbarMore); + await testUtil.checkToolbarActions(data.folder.name, data.folder.searchToolbarPrimary, data.folder.searchToolbarMore); await testUtil.checkContextMenu(data.folder.name, data.folder.searchContextMenu); }); it('Folder favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.searchToolbarMore); + await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.searchToolbarPrimary, data.folderFav.searchToolbarMore); await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.searchContextMenu); }); }); describe('on multiple selection', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); - await page.clickPersonalFiles(); - done(); - }); - afterEach(async (done) => { - await Utils.pressEscape(); - done(); + beforeAll(async () => { + await page.clickPersonalFiles(); + await searchInput.clickSearchButton(); + await searchInput.searchFor('file-'); + await searchResultsPage.waitForResults(); }); it('multiple files - [C291820]', async () => { - await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); - await searchInput.searchFor('file-'); - await testUtil.checkMultipleSelContextMenu([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore); }); it('multiple files - all favorite - []', async () => { - await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); - await searchInput.searchFor('file-'); - await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchToolbarPrimary, data.multipleSelAllFav.searchToolbarMore); }); it('multiple locked files - [C297626]', async () => { - await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); - await searchInput.searchFor('file-'); - await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore); }); it('multiple folders - [C291821]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFolders(); await searchInput.searchFor('folder-'); + await searchResultsPage.waitForResults(); await testUtil.checkMultipleSelContextMenu([ data.folder.name, data.folderFav.name ], data.multipleSel.searchContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore); }); it('both files and folders - [C291822]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkFilesAndFolders(); await searchInput.searchFor(`=${data.file.name} or =${data.folderFav.name}`); + await searchResultsPage.waitForResults(); await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folderFav.name ], data.multipleSel.searchContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore); }); }); }); diff --git a/e2e/suites/actions-available/files-folders/shared.test.ts b/e2e/suites/actions-available/files-folders/shared.test.ts index 48a8a480a..1bbdc5d83 100755 --- a/e2e/suites/actions-available/files-folders/shared.test.ts +++ b/e2e/suites/actions-available/files-folders/shared.test.ts @@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages'; import { FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-files-folders'; import * as testUtil from '../test-util'; @@ -36,37 +37,42 @@ describe('File actions : on Shared Files : ', () => { const username = `user-${random}`; - const parent = `parent-${random}`; let parentId; + const parent = `parent-${random}`; + let parentId: string; - let fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileSharedLockedId, fileSharedFavLockedId; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - parentId = (await apis.user.nodes.createFolder(parent)).entry.id; + parentId = (await userApi.nodes.createFolder(parent)).entry.id; - fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id; - fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; - fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; - fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; + fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id; + fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; + fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; + fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; - await apis.user.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxSharedFavId, fileSharedFavId, fileSharedFavLockedId ]); - await apis.user.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -75,66 +81,55 @@ describe('File actions : on Shared Files : ', () => { fileSharedFavLockedId ]); - await apis.user.nodes.lockFile(fileSharedLockedId); - await apis.user.nodes.lockFile(fileSharedFavLockedId); + await userApi.nodes.lockFile(fileSharedLockedId); + await userApi.nodes.lockFile(fileSharedFavLockedId); - await apis.user.favorites.waitForApi({ expect: 3 }); - await apis.user.shared.waitForApi({ expect: 6 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 3 }), + userApi.shared.waitForApi({ expect: 6 }) + ]); await loginPage.loginWith(username); - done(); - }); - afterAll(async (done) => { - await apis.user.nodes.deleteNodeById(parentId); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.clickSharedFilesAndWait(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await userApi.nodes.deleteNodeById(parentId); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); }); describe('single selection', () => { it('File Office, shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.sharedToolbarMore); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.sharedContextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.sharedToolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedContextMenu); }); it('File shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.sharedToolbarMore); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.sharedContextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.sharedToolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.sharedContextMenu); }); it('File shared, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.sharedToolbarMore); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.sharedContextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.sharedToolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu); }); }); @@ -142,20 +137,17 @@ describe('File actions : on Shared Files : ', () => { describe('multiple selection', () => { it('multiple files - [C280467]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple files - all favorite - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.toolbarMore); }); it('multiple locked files - [C297623]', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); }); diff --git a/e2e/suites/actions-available/files-folders/test-data-files-folders.ts b/e2e/suites/actions-available/files-folders/test-data-files-folders.ts index 2e526adb2..2eb081344 100644 --- a/e2e/suites/actions-available/files-folders/test-data-files-folders.ts +++ b/e2e/suites/actions-available/files-folders/test-data-files-folders.ts @@ -66,7 +66,6 @@ const viewerLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Favori // TODO: add Edit Offline when ACA-2174 is fixed // TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue - const favoritesSharedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; // TODO: add Edit Offline when ACA-2174 is fixed // TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue @@ -129,7 +128,6 @@ const sharedFilesSharedFavToolbarMore = ['Upload New Version', 'Remove Favorite' - export const fileDocx = { name: `file-docx-${Utils.random()}.docx`, description: 'file not shared, not fav, office, not locked', diff --git a/e2e/suites/actions-available/files-folders/trash.test.ts b/e2e/suites/actions-available/files-folders/trash.test.ts index 73da01cdc..c4844a541 100755 --- a/e2e/suites/actions-available/files-folders/trash.test.ts +++ b/e2e/suites/actions-available/files-folders/trash.test.ts @@ -26,6 +26,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-files-folders'; import * as testUtil from '../test-util'; @@ -33,49 +34,44 @@ describe('File/folder actions : on Trash : ', () => { const username = `user-${Utils.random()}`; - let fileInTrashId, file2InTrashId, folderInTrashId, folder2InTrashId; + let fileInTrashId: string; + let file2InTrashId: string; + let folderInTrashId: string; + let folder2InTrashId: string; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - fileInTrashId = (await apis.user.nodes.createFile(data.fileInTrash.name)).entry.id; - file2InTrashId = (await apis.user.nodes.createFile(data.file2InTrash.name)).entry.id; - folderInTrashId = (await apis.user.nodes.createFolder(data.folderInTrash.name)).entry.id; - folder2InTrashId = (await apis.user.nodes.createFolder(data.folder2InTrash.name)).entry.id; + fileInTrashId = (await userApi.nodes.createFile(data.fileInTrash.name)).entry.id; + file2InTrashId = (await userApi.nodes.createFile(data.file2InTrash.name)).entry.id; + folderInTrashId = (await userApi.nodes.createFolder(data.folderInTrash.name)).entry.id; + folder2InTrashId = (await userApi.nodes.createFolder(data.folder2InTrash.name)).entry.id; - await apis.user.nodes.deleteNodeById(fileInTrashId, false); - await apis.user.nodes.deleteNodeById(file2InTrashId, false); - await apis.user.nodes.deleteNodeById(folderInTrashId, false); - await apis.user.nodes.deleteNodeById(folder2InTrashId, false); + await userApi.nodes.deleteNodeById(fileInTrashId, false); + await userApi.nodes.deleteNodeById(file2InTrashId, false); + await userApi.nodes.deleteNodeById(folderInTrashId, false); + await userApi.nodes.deleteNodeById(folder2InTrashId, false); - await apis.user.trashcan.waitForApi({ expect: 4 }); + await userApi.trashcan.waitForApi({ expect: 4 }); await loginPage.loginWith(username); - done(); - }); - afterAll(async (done) => { - await apis.user.trashcan.emptyTrash(); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.clickTrashAndWait(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await userApi.trashcan.emptyTrash(); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); }); it('on a file - [C286258]', async () => { diff --git a/e2e/suites/actions-available/files-folders/viewer.test.ts b/e2e/suites/actions-available/files-folders/viewer.test.ts index 9ff56c6cb..e9c1fa0ab 100755 --- a/e2e/suites/actions-available/files-folders/viewer.test.ts +++ b/e2e/suites/actions-available/files-folders/viewer.test.ts @@ -23,10 +23,11 @@ * along with Alfresco. If not, see . */ -import { LoginPage, BrowsingPage } from '../../../pages/pages'; +import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages'; import { FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-files-folders'; import * as testUtil from '../test-util'; @@ -36,39 +37,49 @@ describe('File/folder actions : in the viewer : ', () => { const username = `user-${random}`; - const parent = `parent-${random}`; let parentId; + const parent = `parent-${random}`; + let parentId: string; - let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileLockedId: string; + let fileFavLockedId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); + const searchResultsPage = new SearchResultsPage(); const { dataTable } = page; const { searchInput } = page.header; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - parentId = (await apis.user.nodes.createFolder(parent)).entry.id; + parentId = (await userApi.nodes.createFolder(parent)).entry.id; - await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name ); - fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; - await apis.user.nodes.createFile(data.file.name, parentId); - fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id; - fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id; - fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; - fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id; - fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; - fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; - fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; + await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name ); + fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id; + await userApi.nodes.createFile(data.file.name, parentId); + fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id; + fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id; + fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; + fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id; + fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id; + fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; + fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id; - await apis.user.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -77,7 +88,7 @@ describe('File/folder actions : in the viewer : ', () => { fileSharedFavLockedId ]); - await apis.user.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -86,335 +97,259 @@ describe('File/folder actions : in the viewer : ', () => { fileSharedFavLockedId ]); - await apis.user.nodes.lockFile(fileLockedId); - await apis.user.nodes.lockFile(fileFavLockedId); - await apis.user.nodes.lockFile(fileSharedLockedId); - await apis.user.nodes.lockFile(fileSharedFavLockedId); + await userApi.nodes.lockFile(fileLockedId); + await userApi.nodes.lockFile(fileFavLockedId); + await userApi.nodes.lockFile(fileSharedLockedId); + await userApi.nodes.lockFile(fileSharedFavLockedId); - await apis.user.favorites.waitForApi({ expect: 6 }); - await apis.user.shared.waitForApi({ expect: 6 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 6 }), + userApi.shared.waitForApi({ expect: 6 }) + ]); await loginPage.loginWith(username); - done(); }); - afterAll(async (done) => { - await apis.user.nodes.deleteNodeById(parentId); - done(); + afterAll(async () => { + await userApi.nodes.deleteNodeById(parentId); + }); + + beforeEach(async () => { + await Utils.pressEscape(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('file opened from Personal Files', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickPersonalFilesAndWait(); await dataTable.doubleClickOnRowByName(parent); await dataTable.waitForHeader(); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); }); it('File Office - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore); }); it('File Office, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore); }); it('File simple - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore); + await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore); }); it('File favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore); }); it('File Office, shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore); }); it('File favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore); }); it('File shared, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); describe('file opened from Recent Files', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickRecentFilesAndWait(); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); }); it('File Office - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore); }); it('File Office, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore); }); it('File simple - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore); + await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore); }); it('File favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore); }); it('File Office, shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore); }); it('File favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore); }); it('File shared, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); describe('file opened from Favorites', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickFavoritesAndWait(); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); }); it('File Office, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore); }); it('File favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); describe('file opened from Shared Files', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickSharedFilesAndWait(); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); }); it('File Office, shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File shared, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); describe('file opened from Search Results', () => { - beforeAll(async (done) => { - await Utils.pressEscape(); - await page.clickPersonalFiles(); + beforeAll(async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor('file-'); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); + await searchResultsPage.waitForResults(); }); it('File Office - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.searchViewerToolbarMore); }); it('File Office, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.searchViewerToolbarMore); }); it('File simple - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.searchViewerToolbarMore); }); it('File favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.searchViewerToolbarMore); }); it('File Office, shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.searchViewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.searchViewerToolbarMore); }); it('File shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.searchViewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.searchViewerToolbarMore); }); it('File locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.searchViewerToolbarMore); }); it('File favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.searchViewerToolbarMore); }); it('File shared, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.searchViewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchViewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.searchViewerToolbarMore); }); }); diff --git a/e2e/suites/actions-available/generic.test.ts b/e2e/suites/actions-available/generic.test.ts index f8e1f9bef..c92cd1571 100755 --- a/e2e/suites/actions-available/generic.test.ts +++ b/e2e/suites/actions-available/generic.test.ts @@ -23,202 +23,194 @@ * along with Alfresco. If not, see . */ -import { browser, protractor } from 'protractor'; import { LoginPage, BrowsingPage } from '../../pages/pages'; -import { RepoClient } from '../../utilities/repo-client/repo-client'; +import { RepoClient, NodeContentTree } from '../../utilities/repo-client/repo-client'; import { Utils } from '../../utilities/utils'; - +import { AdminActions } from '../../utilities/admin-actions'; describe('Generic tests : ', () => { - const random = Utils.random(); const username = `user-${random}`; - const parent = `parent-${random}`; let parentId; + const parent = `parent-${random}`; const file1 = `file1-${random}.txt`; const file2 = `file2-${random}.txt`; - const folder1 = `my-folder1-${Utils.random()}`; - const folder2 = `my-folder2-${Utils.random()}`; + const folder1 = `my-folder1-${random}`; + const folder2 = `my-folder2-${random}`; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) + const content: NodeContentTree = { + name: parent, + files: [file1, file2], + folders: [folder1, folder2] }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); + const loginPage = new LoginPage(); const page = new BrowsingPage(); const { dataTable, toolbar } = page; const { searchInput } = page.header; const contextMenu = dataTable.menu; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - parentId = (await apis.user.nodes.createFolder(parent)).entry.id; - await apis.user.nodes.createFile(file1, parentId); - await apis.user.nodes.createFile(file2, parentId); - - await apis.user.nodes.createFolder(folder1, parentId); - await apis.user.nodes.createFolder(folder2, parentId); + await userApi.nodes.createContent(content); await loginPage.loginWith(username); - done(); }); - afterAll(async (done) => { - await apis.user.nodes.deleteNodeById(parentId); - done(); + afterAll(async () => { + await userApi.nodes.deleteNodeByPath(parent); }); - beforeEach(async (done) => { + beforeEach(async () => { await Utils.pressEscape(); - await page.clickPersonalFilesAndWait(); - await dataTable.doubleClickOnRowByName(parent); - await dataTable.waitForHeader(); - done(); }); - afterEach(async (done) => { - await Utils.pressEscape(); - done(); - }); + describe('single selection', () => { + beforeEach(async () => { + await page.clickPersonalFilesAndWait(); + await dataTable.doubleClickOnRowByName(parent); + await dataTable.waitForHeader(); + }); - it('selected row is marked with a check circle icon - [C213134]', async () => { - await dataTable.selectItem(file1); - expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, 'check mark missing'); - }); + it('selected row is marked with a check circle icon - [C213134]', async () => { + await dataTable.selectItem(file1); + expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, 'check mark missing'); + }); - it('Row is marked with a check circle icon on direct right click - [C286252]', async () => { - await dataTable.rightClickOnItem(file2); - expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, 'check mark missing'); - }); + it('Row is marked with a check circle icon on direct right click - [C286252]', async () => { + await dataTable.rightClickOnItem(file2); + expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, 'check mark missing'); + }); - it('Context menu appears on direct right click on an item - [C286253]', async () => { - await dataTable.rightClickOnItem(file1); - expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); - }); + it('Context menu appears on direct right click on an item - [C286253]', async () => { + await dataTable.rightClickOnItem(file1); + expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); + }); - it('Context menu appears when selecting an item and then right clicking on it - [C286254]', async () => { - await dataTable.selectItem(file2); - await dataTable.rightClickOnItem(file2); - expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); - }); + it('Context menu appears when selecting an item and then right clicking on it - [C286254]', async () => { + await dataTable.selectItem(file2); + await dataTable.rightClickOnItem(file2); + expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); + }); - it('Context menu appears correctly when right clicking on another item - [C284666]', async () => { - await dataTable.selectItem(file1); - await dataTable.rightClickOnItem(file2); - expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed`); - expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, `${file2} is not selected`); - expect(await dataTable.hasCheckMarkIcon(file1)).toBe(false, `${file1} is not selected`); - }); + it('Context menu appears correctly when right clicking on another item - [C284666]', async () => { + await dataTable.selectItem(file1); + await dataTable.rightClickOnItem(file2); + expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed`); + expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, `${file2} is not selected`); + expect(await dataTable.hasCheckMarkIcon(file1)).toBe(false, `${file1} is not selected`); + }); - it('Context menu closes when clicking away from it - [C280619]', async () => { - await dataTable.rightClickOnItem(file1); - expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); - await page.breadcrumb.getCurrentItem().click(); - expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed'); + it('Context menu closes when clicking away from it - [C280619]', async () => { + await dataTable.rightClickOnItem(file1); + expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); + await page.breadcrumb.getCurrentItem().click(); + expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed'); + }); }); describe('Actions are not displayed when no item is selected', () => { + it('on Personal Files - [C213120]', async () => { await page.clickPersonalFilesAndWait(); - await dataTable.clearSelection(); expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`); }); it('on Trash - [C280452]', async () => { await page.clickTrash(); - await dataTable.clearSelection(); expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`); }); it('on Favorites - [C280449]', async () => { await page.clickFavorites(); - await dataTable.clearSelection(); expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`); }); it('on Recent Files - [C280447]', async () => { + await userApi.search.waitForApi(username, { expect: 2 }); await page.clickRecentFilesAndWait(); - await dataTable.clearSelection(); expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`); }); it('on Shared Files - [C280445]', async () => { await page.clickSharedFiles(); - await dataTable.clearSelection(); expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`); }); it('on My Libraries - [C280439]', async () => { await page.goToMyLibraries(); - await dataTable.clearSelection(); expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`); }); it('on Favorite Libraries - [C280439]', async () => { await page.goToFavoriteLibraries(); - await dataTable.clearSelection(); expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`); }); it('on Search Results - [C291815]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkFilesAndFolders(); await searchInput.searchFor('*'); - expect(await toolbar.isToggleSearchFiltersPresent()).toBe(true, `Search filter toggle is not displayed`); - expect(await toolbar.numberOfAvailableActions()).toBe(1, `more than 1 action is present`); + expect(await toolbar.getButtons()).toEqual(['Toggle search filter']); }); }); - it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => { - await dataTable.selectMultipleItems([ file1, file2 ]); - await dataTable.rightClickOnMultipleSelection(); + describe('multiple selection', () => { + beforeEach(async () => { + await page.clickPersonalFilesAndWait(); + await dataTable.doubleClickOnRowByName(parent); + await dataTable.waitForHeader(); + }); - expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); - }); + it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => { + await dataTable.selectMultipleItems([ file1, file2 ]); + await dataTable.rightClickOnMultipleSelection(); - it('Context menu appears when right clicking on a single item while having multiple items selected - [C286269]', async () => { - await dataTable.selectMultipleItems([ file2, folder1 ]); - await dataTable.rightClickOnItem(file1); + expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed'); + }); - expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${file1}`); - expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect number of selected rows'); - expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`); - expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, `${file1} is not selected`); - expect(await dataTable.hasCheckMarkIcon(file2)).toBe(false, `${file2} is selected`); - expect(await dataTable.hasCheckMarkIcon(folder1)).toBe(false, `${folder1} is selected`); - }); + it('Context menu appears when right clicking on a single item while having multiple items selected - [C286269]', async () => { + await dataTable.selectMultipleItems([ file2, folder1 ]); + await dataTable.rightClickOnItem(file1); - it('Unselect items with single click - [C280458]', async () => { - await dataTable.selectMultipleItems([file1, file2, folder1, folder2]); + expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${file1}`); + expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect number of selected rows'); + expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`); + expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, `${file1} is not selected`); + expect(await dataTable.hasCheckMarkIcon(file2)).toBe(false, `${file2} is selected`); + expect(await dataTable.hasCheckMarkIcon(folder1)).toBe(false, `${folder1} is selected`); + }); - expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number'); + it('Unselect items with single click - [C280458]', async () => { + await dataTable.selectMultipleItems([file1, file2, folder1, folder2]); + expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number'); - await dataTable.clickItem(file1); + await dataTable.clickItem(file1); + expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect selected rows number'); + }); - expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect selected rows number'); - }); + it('Select / unselect items by CMD+click - [C217110]', async () => { + await Utils.pressCmd(); + await dataTable.clickItem(file1); + await dataTable.clickItem(file2); + await dataTable.clickItem(folder1); + await dataTable.clickItem(folder2); + await Utils.releaseKeyPressed(); + expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number'); - it('Select / unselect items by CMD+click - [C217110]', async () => { - await browser.actions().sendKeys(protractor.Key.COMMAND).perform(); - await dataTable.clickItem(file1); - await dataTable.clickItem(file2); - await dataTable.clickItem(folder1); - await dataTable.clickItem(folder2); - await browser.actions().sendKeys(protractor.Key.NULL).perform(); - - expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number'); - - await browser.actions().sendKeys(protractor.Key.COMMAND).perform(); - await dataTable.clickItem(file1); - await dataTable.clickItem(file2); - await browser.actions().sendKeys(protractor.Key.NULL).perform(); - - expect(await dataTable.getSelectedRowsCount()).toEqual(2, 'incorrect selected rows number'); + await Utils.pressCmd(); + await dataTable.clickItem(file1); + await dataTable.clickItem(file2); + await Utils.releaseKeyPressed(); + expect(await dataTable.getSelectedRowsCount()).toEqual(2, 'incorrect selected rows number'); + }); }); }); diff --git a/e2e/suites/actions-available/libraries/library.test.ts b/e2e/suites/actions-available/libraries/library.test.ts index 4add21e6d..0746077d6 100755 --- a/e2e/suites/actions-available/libraries/library.test.ts +++ b/e2e/suites/actions-available/libraries/library.test.ts @@ -24,76 +24,72 @@ */ import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages'; -import { SITE_VISIBILITY } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-libraries'; import * as testUtil from '../test-util'; describe('Library actions : ', () => { const username = `user-${Utils.random()}`; - const apis = { - admin: new RepoClient(), - user: new RepoClient(username, username) - }; + const userApi = new RepoClient(username, username); + + const adminApiActions = new AdminActions(); const loginPage = new LoginPage(); const page = new BrowsingPage(); const searchResultsPage = new SearchResultsPage(); const { searchInput } = searchResultsPage.header; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username }); + beforeAll(async () => { + await adminApiActions.createUser({ username }); - await apis.user.sites.createSite(data.publicUserMemberFav.name); - await apis.user.sites.createSite(data.privateUserMemberFav.name, SITE_VISIBILITY.PRIVATE); - await apis.user.sites.createSite(data.moderatedUserMemberFav.name, SITE_VISIBILITY.MODERATED); + await userApi.sites.createSite(data.publicUserMemberFav.name); + await userApi.sites.createSitePrivate(data.privateUserMemberFav.name); + await userApi.sites.createSiteModerated(data.moderatedUserMemberFav.name); - const publicUserMemberNotFavId = (await apis.user.sites.createSite(data.publicUserMemberNotFav.name)).entry.guid; - const privateUserMemberNotFavId = (await apis.user.sites.createSite(data.privateUserMemberNotFav.name, SITE_VISIBILITY.PRIVATE)).entry.guid; - const moderatedUserMemberNotFavId = (await apis.user.sites.createSite(data.moderatedUserMemberNotFav.name, SITE_VISIBILITY.MODERATED)).entry.guid; + const publicUserMemberNotFavId = (await userApi.sites.createSite(data.publicUserMemberNotFav.name)).entry.guid; + const privateUserMemberNotFavId = (await userApi.sites.createSitePrivate(data.privateUserMemberNotFav.name)).entry.guid; + const moderatedUserMemberNotFavId = (await userApi.sites.createSiteModerated(data.moderatedUserMemberNotFav.name)).entry.guid; - await apis.admin.sites.createSite(data.publicNotMemberFav.name); - await apis.admin.sites.createSite(data.moderatedNotMemberFav.name, SITE_VISIBILITY.MODERATED); + await adminApiActions.sites.createSite(data.publicNotMemberFav.name); + await adminApiActions.sites.createSiteModerated(data.moderatedNotMemberFav.name); - await apis.admin.sites.createSite(data.publicNotMemberNotFav.name); - await apis.admin.sites.createSite(data.moderatedNotMemberNotFav.name, SITE_VISIBILITY.MODERATED); + await adminApiActions.sites.createSite(data.publicNotMemberNotFav.name); + await adminApiActions.sites.createSiteModerated(data.moderatedNotMemberNotFav.name); - await apis.admin.sites.createSite(data.moderatedRequestedJoinFav.name, SITE_VISIBILITY.MODERATED); - await apis.admin.sites.createSite(data.moderatedRequestedJoinNotFav.name, SITE_VISIBILITY.MODERATED); + await adminApiActions.sites.createSiteModerated(data.moderatedRequestedJoinFav.name); + await adminApiActions.sites.createSiteModerated(data.moderatedRequestedJoinNotFav.name); - await apis.user.sites.createSite(data.siteInTrash.name, SITE_VISIBILITY.PUBLIC); - await apis.user.sites.createSite(data.site2InTrash.name, SITE_VISIBILITY.PUBLIC); + await userApi.sites.createSite(data.siteInTrash.name); + await userApi.sites.createSite(data.site2InTrash.name); - await apis.user.sites.waitForApi({ expect: 8 }); - await apis.admin.sites.waitForApi({ expect: 6 }); + await Promise.all([ + userApi.sites.waitForApi({ expect: 8 }), + adminApiActions.sites.waitForApi({ expect: 6 + 1 }) + ]); - await apis.user.favorites.removeFavoriteById(publicUserMemberNotFavId); - await apis.user.favorites.removeFavoriteById(privateUserMemberNotFavId); - await apis.user.favorites.removeFavoriteById(moderatedUserMemberNotFavId); + await userApi.favorites.removeFavoritesByIds([publicUserMemberNotFavId, privateUserMemberNotFavId, moderatedUserMemberNotFavId]); - await apis.user.favorites.addFavoriteById('site', data.publicNotMemberFav.name); - await apis.user.favorites.addFavoriteById('site', data.moderatedNotMemberFav.name); - await apis.user.favorites.addFavoriteById('site', data.moderatedRequestedJoinFav.name); + await userApi.favorites.addFavoritesByIds('site', [data.publicNotMemberFav.name, data.moderatedNotMemberFav.name, data.moderatedRequestedJoinFav.name]); - await apis.user.sites.requestToJoin(data.moderatedRequestedJoinFav.name); - await apis.user.sites.requestToJoin(data.moderatedRequestedJoinNotFav.name); + await userApi.sites.requestToJoin(data.moderatedRequestedJoinFav.name); + await userApi.sites.requestToJoin(data.moderatedRequestedJoinNotFav.name); - await apis.user.queries.waitForSites('site-', { expect: 13 }); + await userApi.queries.waitForSites('site-', { expect: 14 + 1 }); - await apis.user.sites.deleteSite(data.siteInTrash.name, false); - await apis.user.sites.deleteSite(data.site2InTrash.name, false); + await userApi.sites.deleteSite(data.siteInTrash.name, false); + await userApi.sites.deleteSite(data.site2InTrash.name, false); - await apis.user.trashcan.waitForApi({ expect: 2 }); + await userApi.trashcan.waitForApi({ expect: 2 }); await loginPage.loginWith(username); - done(); }); - afterAll(async (done) => { + afterAll(async () => { await Promise.all([ - apis.user.sites.deleteSites([ + userApi.sites.deleteSites([ data.publicUserMemberFav.name, data.privateUserMemberFav.name, data.moderatedUserMemberFav.name, @@ -101,7 +97,7 @@ describe('Library actions : ', () => { data.privateUserMemberNotFav.name, data.moderatedUserMemberNotFav.name ]), - apis.admin.sites.deleteSites([ + adminApiActions.sites.deleteSites([ data.publicNotMemberFav.name, data.moderatedNotMemberFav.name, data.publicNotMemberNotFav.name, @@ -109,22 +105,19 @@ describe('Library actions : ', () => { data.moderatedRequestedJoinFav.name, data.moderatedRequestedJoinNotFav.name ]), - apis.user.trashcan.emptyTrash() + userApi.trashcan.emptyTrash() ]); - done(); }); describe('on My Libraries', () => { - beforeEach(async (done) => { + beforeAll(async () => { await Utils.pressEscape(); await page.goToMyLibrariesAndWait(); - done(); }); - afterEach(async (done) => { + beforeEach(async () => { await Utils.pressEscape(); - done(); }); it('Public library, user is a member, favorite - []', async () => { @@ -167,15 +160,13 @@ describe('Library actions : ', () => { describe('on Favorite Libraries', () => { - beforeEach(async (done) => { + beforeAll(async () => { await Utils.pressEscape(); await page.goToFavoriteLibrariesAndWait(); - done(); }); - afterEach(async (done) => { + beforeEach(async () => { await Utils.pressEscape(); - done(); }); it('Public library, user is a member, favorite - []', async () => { @@ -217,18 +208,16 @@ describe('Library actions : ', () => { describe('on Search Results', () => { - beforeEach(async (done) => { + beforeAll(async () => { await Utils.pressEscape(); await page.clickPersonalFiles(); await searchInput.clickSearchButton(); await searchInput.checkLibraries(); await searchInput.searchFor('site-'); - done(); }); - afterEach(async (done) => { + beforeEach(async () => { await Utils.pressEscape(); - done(); }); it('Public library, user is a member, favorite - []', async () => { @@ -305,14 +294,13 @@ describe('Library actions : ', () => { }); describe('on Trash', () => { - beforeEach(async (done) => { + beforeAll(async () => { + await Utils.pressEscape(); await page.clickTrashAndWait(); - done(); }); - afterEach(async (done) => { + beforeEach(async () => { await Utils.pressEscape(); - done(); }); it('single library - []', async () => { diff --git a/e2e/suites/actions-available/special-permissions/other-permissions.test.ts b/e2e/suites/actions-available/special-permissions/other-permissions.test.ts index 7199dbf1c..78c7d8e5e 100755 --- a/e2e/suites/actions-available/special-permissions/other-permissions.test.ts +++ b/e2e/suites/actions-available/special-permissions/other-permissions.test.ts @@ -24,36 +24,40 @@ */ import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages'; -import { SITE_VISIBILITY, SITE_ROLES, FILES } from '../../../configs'; +import { SITE_ROLES, FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; -import { Viewer } from '../../../components/viewer/viewer'; +import { AdminActions } from '../../../utilities/admin-actions'; +import * as testUtil from '../test-util'; describe('', () => { - const userConsumer = `consumer-${Utils.random()}`; - const userCollaborator = `collaborator-${Utils.random()}`; - const userDemoted = `demoted-${Utils.random()}`; + const random = Utils.random(); - const siteName = `site-private-${Utils.random()}`; - const file1 = `my-file1-${Utils.random()}.txt`; - let file1Id; - const file2 = `my-file2-${Utils.random()}.txt`; - let file2Id; - const file3 = `my-file3-${Utils.random()}.txt`; - let file3Id; - const fileLocked = `my-file-locked-${Utils.random()}.txt`; - let fileLockedId; + const userConsumer = `consumer-${random}`; + const userCollaborator = `collaborator-${random}`; + const userDemoted = `demoted-${random}`; - const folder1 = `my-folder1-${Utils.random()}`; - let folder1Id; - const folder2 = `my-folder2-${Utils.random()}`; - let folder2Id; + const siteName = `site-private-${random}`; + const file1 = `my-file1-${random}.txt`; + let file1Id: string; + const file2 = `my-file2-${random}.txt`; + let file2Id: string; + const file3 = `my-file3-${random}.txt`; + let file3Id: string; + const fileLocked = `my-file-locked-${random}.txt`; + let fileLockedId: string; + + const folder1 = `my-folder1-${random}`; + let folder1Id: string; + const folder2 = `my-folder2-${random}`; + let folder2Id: string; const docxFile = FILES.docxFile; - let docxFileId; + let docxFileId: string; + + const adminApiActions = new AdminActions(); const apis = { - admin: new RepoClient(), userConsumer: new RepoClient(userConsumer, userConsumer), userCollaborator: new RepoClient(userCollaborator, userCollaborator), userDemoted: new RepoClient(userDemoted, userDemoted) @@ -61,777 +65,339 @@ describe('', () => { const loginPage = new LoginPage(); const page = new BrowsingPage(); - const { dataTable, toolbar } = page; - const viewer = new Viewer(); - const viewerToolbar = viewer.toolbar; + const { dataTable } = page; const searchResultsPage = new SearchResultsPage(); const { searchInput } = searchResultsPage.header; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username: userConsumer }); - await apis.admin.people.createUser({ username: userCollaborator }); - await apis.admin.people.createUser({ username: userDemoted }); + beforeAll(async () => { + await adminApiActions.createUser({ username: userConsumer }); + await adminApiActions.createUser({ username: userCollaborator }); + await adminApiActions.createUser({ username: userDemoted }); - await apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE); - const docLibId = await apis.admin.sites.getDocLibId(siteName); + await adminApiActions.sites.createSitePrivate(siteName); + const docLibId = await adminApiActions.sites.getDocLibId(siteName); - file1Id = (await apis.admin.nodes.createFile(file1, docLibId)).entry.id; - file2Id = (await apis.admin.nodes.createFile(file2, docLibId)).entry.id; - file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id; - folder1Id = (await apis.admin.nodes.createFolder(folder1, docLibId)).entry.id; - folder2Id = (await apis.admin.nodes.createFolder(folder2, docLibId)).entry.id; + file1Id = (await adminApiActions.nodes.createFile(file1, docLibId)).entry.id; + file2Id = (await adminApiActions.nodes.createFile(file2, docLibId)).entry.id; + file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id; + folder1Id = (await adminApiActions.nodes.createFolder(folder1, docLibId)).entry.id; + folder2Id = (await adminApiActions.nodes.createFolder(folder2, docLibId)).entry.id; - docxFileId = (await apis.admin.upload.uploadFile(docxFile, docLibId)).entry.id; + docxFileId = (await adminApiActions.upload.uploadFile(docxFile, docLibId)).entry.id; - await apis.admin.sites.addSiteMember(siteName, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE); - await apis.admin.sites.addSiteMember(siteName, userCollaborator, SITE_ROLES.SITE_COLLABORATOR.ROLE); - await apis.admin.sites.addSiteMember(siteName, userDemoted, SITE_ROLES.SITE_MANAGER.ROLE); + await adminApiActions.sites.addSiteConsumer(siteName, userConsumer); + await adminApiActions.sites.addSiteCollaborator(siteName, userCollaborator); + await adminApiActions.sites.addSiteManager(siteName, userDemoted); - fileLockedId = (await apis.admin.nodes.createFile(fileLocked, docLibId)).entry.id; + fileLockedId = (await adminApiActions.nodes.createFile(fileLocked, docLibId)).entry.id; await apis.userDemoted.nodes.lockFile(fileLockedId); await apis.userDemoted.favorites.addFavoriteById('file', fileLockedId); await apis.userDemoted.shared.shareFileById(fileLockedId); - await apis.admin.sites.updateSiteMember(siteName, userDemoted, SITE_ROLES.SITE_CONSUMER.ROLE); + await adminApiActions.sites.updateSiteMember(siteName, userDemoted, SITE_ROLES.SITE_CONSUMER.ROLE); - await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); + await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); - await apis.userConsumer.shared.shareFileById(file1Id); - await apis.userConsumer.shared.shareFileById(file2Id); - await apis.userConsumer.shared.shareFileById(docxFileId); - await apis.userConsumer.shared.shareFileById(file3Id); - await apis.userConsumer.shared.waitForApi({ expect: 5 }); + await apis.userConsumer.shared.shareFilesByIds([file1Id, file2Id, docxFileId, file3Id]); await apis.userConsumer.favorites.addFavoritesByIds('file', [file1Id, file2Id, file3Id, docxFileId]); await apis.userConsumer.favorites.addFavoritesByIds('folder', [folder1Id, folder2Id]); - await apis.userConsumer.favorites.waitForApi({ expect: 6 }); await apis.userCollaborator.favorites.addFavoritesByIds('file', [file1Id, docxFileId]); - await apis.userCollaborator.favorites.waitForApi({ expect: 2 }); - await apis.admin.favorites.addFavoriteById('file', fileLockedId); + await adminApiActions.favorites.addFavoriteById('file', fileLockedId); - done(); + await Promise.all([ + apis.userConsumer.shared.waitForApi({ expect: 5 }), + apis.userConsumer.favorites.waitForApi({ expect: 6 }), + apis.userCollaborator.favorites.waitForApi({ expect: 2 }) + ]); }); - afterAll(async (done) => { - await apis.admin.sites.deleteSite(siteName); - done(); + afterAll(async () => { + await adminApiActions.sites.deleteSite(siteName); + }); + + beforeEach(async () => { + await Utils.pressEscape(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('Collaborator', () => { - beforeAll(async (done) => { + beforeAll(async () => { await loginPage.loginWith(userCollaborator); - done(); }); it('on File Libraries - [C297647]', async () => { await page.clickFileLibrariesAndWait(); await dataTable.doubleClickOnRowByName(siteName); await dataTable.waitForHeader(); - await dataTable.selectItem(file1); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${file1}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`); - expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${file1}`); - expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${file1}`); - expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore); }); it('on Shared Files - [C297651]', async () => { await page.clickSharedFilesAndWait(); - await page.dataTable.selectItem(file1); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + // TODO: add 'Edit Offline' when ACA-2173 is done + const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await toolbar.openMoreMenu(); - - // TODO: change expect to true when ACA-2173 is done - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${file1}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`); - expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${file1}`); - expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${file1}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore); }); it('on Favorites - [C297652]', async () => { await page.clickFavoritesAndWait(); - await dataTable.selectItem(file1); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared Link Settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + // TODO: add 'Edit Offline' when ACA-2174 is done + // TODO: remove 'Delete' when ACA-1737 is done + // TODO: remove 'Move' when ACA-1737 is done + const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions']; - await toolbar.openMoreMenu(); - - // TODO: change expect to true when ACA-2174 is done - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is not displayed for ${file1}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`); - // TODO: change expect to false when ACA-1737 is done - expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is displayed for ${file1}`); - // TODO: change expect to false when ACA-1737 is done - expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is displayed for ${file1}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore); }); it('on Search Results - [C297653]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor(file1); - await dataTable.selectItem(file1); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${file1}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`); - expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${file1}`); - expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${file1}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore); }); describe('in the viewer', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); - await dataTable.clearSelection(); - await page.clickPersonalFiles(); - done(); - }); - - afterAll(async (done) => { - await Utils.pressEscape(); - done(); - }); - it('file opened from File Libraries - [C297654]', async () => { await page.clickFileLibrariesAndWait(); await dataTable.doubleClickOnRowByName(siteName); await dataTable.waitForHeader(); - await dataTable.doubleClickOnRowByName(docxFile); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Shared Files - [C297655]', async () => { await page.clickSharedFilesAndWait(); - await dataTable.doubleClickOnRowByName(docxFile); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Favorites - [C297656]', async () => { await page.clickFavoritesAndWait(); - await dataTable.doubleClickOnRowByName(docxFile); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove Favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Search Results - [C306992]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor(docxFile); - await dataTable.waitForBody(); - await dataTable.doubleClickOnRowByName(docxFile); - await viewer.waitForViewerToOpen(); + await searchResultsPage.waitForResults(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore); }); }); }); describe('File locked - lock owner : ', () => { - beforeAll(async (done) => { + beforeAll(async () => { await loginPage.loginWith(userDemoted); - done(); }); it('on File Libraries - [C297657]', async () => { await page.clickFileLibrariesAndWait(); await dataTable.doubleClickOnRowByName(siteName); await dataTable.waitForHeader(); - await dataTable.selectItem(fileLocked); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked}`); - expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked}`); - expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('on Shared Files - [C297658]', async () => { await page.clickSharedFilesAndWait(); - await page.dataTable.selectItem(fileLocked); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + // TODO: add 'Cancel Editing' when ACA-2173 is done + const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - // TODO: change expect to true when ACA-2173 is done - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked}`); - expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('on Favorites - [C297659]', async () => { await page.clickFavoritesAndWait(); - await dataTable.selectItem(fileLocked); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared Link Settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + // TODO: add 'Cancel Editing' when ACA-2174 is fixed + // TODO: remove 'Move' when ACA-1737 is fixed + // TODO: remove 'Delete' when ACA-1737 is fixed + const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - // TODO: change expect to true when ACA-2174 is fixed - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - // TODO: change expect to false when ACA-1737 is fixed - expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is displayed for ${fileLocked}`); - // TODO: change expect to false when ACA-1737 is fixed - expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is displayed for ${fileLocked}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('on Search Results - [C297660]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor(fileLocked); - await dataTable.selectItem(fileLocked); + await searchResultsPage.waitForResults(); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked}`); - expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); describe('in the viewer', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); - await dataTable.clearSelection(); - await page.clickPersonalFiles(); - done(); - }); - - afterAll(async (done) => { - await Utils.pressEscape(); - done(); - }); - it('file opened from File Libraries - [C297661]', async () => { await page.clickFileLibrariesAndWait(); await dataTable.doubleClickOnRowByName(siteName); await dataTable.waitForHeader(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Shared Files - [C297662]', async () => { await page.clickSharedFilesAndWait(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Favorites - [C297663]', async () => { await page.clickFavoritesAndWait(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isEmpty()).toBe(false, `viewer toolbar is empty`); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Search Results - [C306993]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor(fileLocked); - await dataTable.waitForBody(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); + await searchResultsPage.waitForResults(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); }); }); - describe('File locked - manager : ', () => { - beforeAll(async (done) => { + describe('File locked by other user - manager : ', () => { + beforeAll(async () => { await loginPage.loginWithAdmin(); - done(); }); it('on File Libraries - [C297664]', async () => { await page.clickFileLibrariesAndWait(); await dataTable.doubleClickOnRowByName(siteName); await dataTable.waitForHeader(); - await dataTable.selectItem(fileLocked); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, 'Upload new version is displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('on Shared Files - [C297665]', async () => { await page.clickSharedFilesAndWait(); - await page.dataTable.selectItem(fileLocked); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + // TODO: add 'Cancel Editing' when ACA-2173 is done + // TODO: remove 'Upload New Version' when ACA-2173 is done + const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - // TODO: change expect to true when ACA-2173 is done - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - // TODO: change expect to false when ACA-2173 is done - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('on Favorites - [C297666]', async () => { await page.clickFavoritesAndWait(); - await dataTable.selectItem(fileLocked); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared Link Settings is not displayed`); + const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + // TODO: add 'Cancel Editing' when ACA-2174 is fixed + // TODO: remove 'Upload New Version' when ACA-1737 is done + const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - // TODO: change expect to true when ACA-2174 is fixed - expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - // TODO: change expect to false when ACA-1737 is done - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('on Search Results - [C297667]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor(fileLocked); - await dataTable.selectItem(fileLocked); + await searchResultsPage.waitForResults(); - expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`); - expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`); - expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`); - expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`); - expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`); + const expectedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await toolbar.openMoreMenu(); - - expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`); - expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked} in Search Results`); - expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked} in Search Results`); - expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`); - expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed'); - expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, 'Upload new version is displayed'); - - await toolbar.closeMoreMenu(); + await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); describe('in the viewer', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); - await dataTable.clearSelection(); - await page.clickPersonalFiles(); - done(); - }); - - afterAll(async (done) => { - await Utils.pressEscape(); - done(); - }); - it('file opened from File Libraries - [C297671]', async () => { await page.clickFileLibrariesAndWait(); await dataTable.doubleClickOnRowByName(siteName); await dataTable.waitForHeader(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Shared Files - [C297672]', async () => { await page.clickSharedFilesAndWait(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Favorites - [C297673]', async () => { await page.clickFavoritesAndWait(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); - expect(await viewerToolbar.isEmpty()).toBe(false, `viewer toolbar is empty`); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - expect(await viewerToolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`); - expect(await viewerToolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); it('file opened from Search Results - [C306994]', async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor(fileLocked); - await dataTable.waitForBody(); - await dataTable.doubleClickOnRowByName(fileLocked); - await viewer.waitForViewerToOpen(); + await searchResultsPage.waitForResults(); - expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`); - expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`); - expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`); - expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`); - expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed'); - expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`); + const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions']; + // TODO: add 'Move' when ACA-2319 is fixed + // TODO: add 'Delete' when ACA-2319 is fixed + const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions']; - await viewerToolbar.openMoreMenu(); - - expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`); - expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`); - expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`); - expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`); - expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`); - // TODO: change expect to true when ACA-2319 is fixed - expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is not displayed`); - // TODO: change expect to true when ACA-2319 is fixed - expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is not displayed`); - expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`); - expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`); - - await viewerToolbar.closeMoreMenu(); + await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore); }); }); }); diff --git a/e2e/suites/actions-available/special-permissions/permissions-favorites.test.ts b/e2e/suites/actions-available/special-permissions/permissions-favorites.test.ts index 6d57f700c..5200a5074 100755 --- a/e2e/suites/actions-available/special-permissions/permissions-favorites.test.ts +++ b/e2e/suites/actions-available/special-permissions/permissions-favorites.test.ts @@ -24,54 +24,60 @@ */ import { LoginPage, BrowsingPage } from '../../../pages/pages'; -import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs'; +import { FILES, SITE_ROLES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-permissions'; import * as testUtil from '../test-util'; describe('Special permissions actions : on Favorites : ', () => { + const random = Utils.random(); - const site = `site-private-${Utils.random()}`; + const site = `site-private-${random}`; - const userConsumer = `consumer-${Utils.random()}`; + const userConsumer = `consumer-${random}`; - let fileDocxFavId, fileFavId, fileDocxSharedFavId, fileSharedFavId, fileFavLockedId, fileSharedFavLockedId; - let folderFavId, folderFav2Id; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedFavId: string; + let fileSharedFavId: string; + let fileFavLockedId: string; + let fileSharedFavLockedId: string; + let folderFavId: string; + let folderFav2Id: string; - const file3 = `file-3-${Utils.random()}.txt`; - let file3Id; + const file3 = `file-3-${random}.txt`; + let file3Id: string; - const apis = { - admin: new RepoClient(), - userConsumer: new RepoClient(userConsumer, userConsumer) - }; + const adminApiActions = new AdminActions(); + + const userApi = new RepoClient(userConsumer, userConsumer); const loginPage = new LoginPage(); const page = new BrowsingPage(); - beforeAll(async (done) => { - await apis.admin.people.createUser({ username: userConsumer }); + beforeAll(async () => { + await adminApiActions.createUser({ username: userConsumer }); - await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE); - const docLibId = await apis.admin.sites.getDocLibId(site); - await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE); + await adminApiActions.sites.createSitePrivate(site); + const docLibId = await adminApiActions.sites.getDocLibId(site); + await adminApiActions.sites.addSiteConsumer(site, userConsumer); - fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; - fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id; - fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; - fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; - fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; - fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; + fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; + fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id; + fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; + fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; + fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; + fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; - file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id; + file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id; - folderFavId = (await apis.admin.nodes.createFolder(data.folderFav.name, docLibId)).entry.id; - folderFav2Id = (await apis.admin.nodes.createFolder(data.folderFav2.name, docLibId)).entry.id; - await apis.userConsumer.favorites.addFavoriteById('folder', folderFavId); - await apis.userConsumer.favorites.addFavoriteById('folder', folderFav2Id); + folderFavId = (await adminApiActions.nodes.createFolder(data.folderFav.name, docLibId)).entry.id; + folderFav2Id = (await adminApiActions.nodes.createFolder(data.folderFav2.name, docLibId)).entry.id; + await userApi.favorites.addFavoritesByIds('folder', [folderFavId, folderFav2Id]); - await apis.userConsumer.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -81,84 +87,76 @@ describe('Special permissions actions : on Favorites : ', () => { file3Id ]); - await apis.userConsumer.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedFavId, fileSharedFavId, fileSharedFavLockedId, file3Id ]); - await apis.admin.nodes.lockFile(fileFavLockedId); - await apis.admin.nodes.lockFile(fileSharedFavLockedId); + await adminApiActions.nodes.lockFile(fileFavLockedId); + await adminApiActions.nodes.lockFile(fileSharedFavLockedId); - await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); + await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); - await apis.userConsumer.favorites.waitForApi({ expect: 9 }); - await apis.userConsumer.shared.waitForApi({ expect: 4 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 9 }), + userApi.shared.waitForApi({ expect: 4 }) + ]); await loginPage.loginWith(userConsumer); - done(); - }); - afterAll(async (done) => { - await apis.admin.sites.deleteSite(site); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.clickFavoritesAndWait(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await adminApiActions.sites.deleteSite(site); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('on a file', () => { it('File Office, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.favoritesContextMenu); }); it('File favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.favoritesContextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary, data.fileDocxSharedFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesContextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary, data.fileSharedFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.favoritesContextMenu); }); it('File favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.favoritesContextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary, data.fileSharedFavLocked.favoritesToolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesContextMenu); }); }); describe('on a folder', () => { it('Folder favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.favoritesToolbarMore); + await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.favoritesToolbarMore); await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.favoritesContextMenu); }); }); @@ -166,32 +164,27 @@ describe('Special permissions actions : on Favorites : ', () => { describe('on multiple selection', () => { it('multiple files - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); it('multiple locked files - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); it('multiple folders - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); it('both files and folders - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); it('multiple files with different granular permissions - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileFav.name, file3 ], data.multipleSelAllFav.favoritesContextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileFav.name, file3 ], data.multipleSelAllFav.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFav.name, file3 ], data.multipleSelAllFav.favoritesToolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileFav.name, file3 ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore); }); }); diff --git a/e2e/suites/actions-available/special-permissions/permissions-my-libraries.test.ts b/e2e/suites/actions-available/special-permissions/permissions-my-libraries.test.ts index f85d574b7..370770ab5 100755 --- a/e2e/suites/actions-available/special-permissions/permissions-my-libraries.test.ts +++ b/e2e/suites/actions-available/special-permissions/permissions-my-libraries.test.ts @@ -24,64 +24,71 @@ */ import { LoginPage, BrowsingPage } from '../../../pages/pages'; -import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs'; +import { FILES, SITE_ROLES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-permissions'; import * as testUtil from '../test-util'; describe('Special permissions actions : on File Libraries : ', () => { + const random = Utils.random(); - const site = `site-private-${Utils.random()}`; + const site = `site-private-${random}`; - const userConsumer = `consumer-${Utils.random()}`; + const userConsumer = `consumer-${random}`; - const file3 = `file-3-${Utils.random()}.txt`; - let file3Id; + const file3 = `file-3-${random}.txt`; + let file3Id: string; - let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId; - let folderFavId; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileLockedId: string; + let fileFavLockedId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; + let folderFavId: string; - const apis = { - admin: new RepoClient(), - userConsumer: new RepoClient(userConsumer, userConsumer) - }; + const adminApiActions = new AdminActions(); + + const userApi = new RepoClient(userConsumer, userConsumer); const loginPage = new LoginPage(); const page = new BrowsingPage(); const { dataTable } = page; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username: userConsumer }); + beforeAll(async () => { + await adminApiActions.createUser({ username: userConsumer }); - await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE); - const docLibId = await apis.admin.sites.getDocLibId(site); - await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE); + await adminApiActions.sites.createSitePrivate(site); + const docLibId = await adminApiActions.sites.getDocLibId(site); + await adminApiActions.sites.addSiteConsumer(site, userConsumer); - await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name ); - fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; - await apis.admin.nodes.createFile(data.file.name, docLibId); - fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id; - fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id; - fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; - fileLockedId = (await apis.admin.nodes.createFile(data.fileLocked.name, docLibId)).entry.id; - fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; - fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; - fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; + await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name ); + fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; + await adminApiActions.nodes.createFile(data.file.name, docLibId); + fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id; + fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id; + fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; + fileLockedId = (await adminApiActions.nodes.createFile(data.fileLocked.name, docLibId)).entry.id; + fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; + fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; + fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; - file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id; + file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id; - await apis.admin.nodes.createFolder(data.folder.name, docLibId); - folderFavId = (await apis.admin.nodes.createFolder(data.folderFav.name, docLibId)).entry.id; - done(); - }); + await adminApiActions.nodes.createFolder(data.folder.name, docLibId); + folderFavId = (await adminApiActions.nodes.createFolder(data.folderFav.name, docLibId)).entry.id; - beforeAll(async (done) => { - await apis.userConsumer.favorites.addFavoriteById('folder', folderFavId); + await userApi.favorites.addFavoriteById('folder', folderFavId); - await apis.userConsumer.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -91,7 +98,7 @@ describe('Special permissions actions : on File Libraries : ', () => { file3Id ]); - await apis.userConsumer.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -101,112 +108,96 @@ describe('Special permissions actions : on File Libraries : ', () => { file3Id ]); - await apis.admin.nodes.lockFile(fileLockedId); - await apis.admin.nodes.lockFile(fileFavLockedId); - await apis.admin.nodes.lockFile(fileSharedLockedId); - await apis.admin.nodes.lockFile(fileSharedFavLockedId); + await adminApiActions.nodes.lockFile(fileLockedId); + await adminApiActions.nodes.lockFile(fileFavLockedId); + await adminApiActions.nodes.lockFile(fileSharedLockedId); + await adminApiActions.nodes.lockFile(fileSharedFavLockedId); - await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); + await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); - await apis.userConsumer.favorites.waitForApi({ expect: 8 }); - await apis.userConsumer.shared.waitForApi({ expect: 7 }); - done(); - }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 8 }), + userApi.shared.waitForApi({ expect: 7 }) + ]); - beforeAll(async (done) => { await loginPage.loginWith(userConsumer); - done(); - }); - afterAll(async (done) => { - await apis.admin.sites.deleteSite(site); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.goToMyLibrariesAndWait(); await dataTable.doubleClickOnRowByName(site); await dataTable.waitForHeader(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await adminApiActions.sites.deleteSite(site); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('on a file', () => { it('File Office - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.toolbarPrimary, data.fileDocx.toolbarMore); await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu); }); it('File Office, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu); }); it('File simple - []', async () => { - await testUtil.checkToolbarPrimary(data.file.name, data.file.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore); + await testUtil.checkToolbarActions(data.file.name, data.file.toolbarPrimary, data.file.toolbarMore); await testUtil.checkContextMenu(data.file.name, data.file.contextMenu); }); it('File favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.toolbarMore); await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu); }); it('File Office, shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.toolbarMore); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu); }); it('File shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.toolbarMore); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu); }); it('File locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.toolbarPrimary, data.fileLocked.toolbarMore); await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu); }); it('File favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu); }); it('File shared, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu); }); }); @@ -214,14 +205,12 @@ describe('Special permissions actions : on File Libraries : ', () => { describe('on a folder', () => { it('Folder not favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folder.name, data.folder.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.toolbarMore); + await testUtil.checkToolbarActions(data.folder.name, data.folder.toolbarPrimary, data.folder.toolbarMore); await testUtil.checkContextMenu(data.folder.name, data.folder.contextMenu); }); it('Folder favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.toolbarMore); + await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.toolbarMore); await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu); }); }); @@ -229,38 +218,32 @@ describe('Special permissions actions : on File Libraries : ', () => { describe('on multiple selection', () => { it('multiple files - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple files - all favorite - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore); }); it('multiple locked files - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple folders - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folder.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('both files and folders - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folder.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple files with different granular permissions - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, file3 ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, file3 ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore); }); }); }); diff --git a/e2e/suites/actions-available/special-permissions/permissions-search.test.ts b/e2e/suites/actions-available/special-permissions/permissions-search.test.ts index 125998865..17ea05daf 100755 --- a/e2e/suites/actions-available/special-permissions/permissions-search.test.ts +++ b/e2e/suites/actions-available/special-permissions/permissions-search.test.ts @@ -23,61 +23,72 @@ * along with Alfresco. If not, see . */ -import { LoginPage, BrowsingPage } from '../../../pages/pages'; -import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs'; +import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages'; +import { FILES, SITE_ROLES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-permissions'; import * as testUtil from '../test-util'; describe('Special permissions actions : on Search Results : ', () => { + const random = Utils.random(); - const site = `site-private-${Utils.random()}`; + const site = `site-private-${random}`; - const userConsumer = `consumer-${Utils.random()}`; + const userConsumer = `consumer-${random}`; - const file3 = `file-3-${Utils.random()}.txt`; - let file3Id; + const file3 = `file-3-${random}.txt`; + let file3Id: string; - let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId; - let folderFavId; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileLockedId: string; + let fileFavLockedId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; + let folderFavId: string; - const apis = { - admin: new RepoClient(), - userConsumer: new RepoClient(userConsumer, userConsumer) - }; + const adminApiActions = new AdminActions(); + + const userApi = new RepoClient(userConsumer, userConsumer); const loginPage = new LoginPage(); const page = new BrowsingPage(); + const searchResultsPage = new SearchResultsPage(); const { searchInput } = page.header; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username: userConsumer }); + beforeAll(async () => { + await adminApiActions.createUser({ username: userConsumer }); - await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE); - const docLibId = await apis.admin.sites.getDocLibId(site); - await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE); + await adminApiActions.sites.createSitePrivate(site); + const docLibId = await adminApiActions.sites.getDocLibId(site); + await adminApiActions.sites.addSiteConsumer(site, userConsumer); - await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name ); - fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; - await apis.admin.nodes.createFile(data.file.name, docLibId); - fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id; - fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id; - fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; - fileLockedId = (await apis.admin.nodes.createFile(data.fileLocked.name, docLibId)).entry.id; - fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; - fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; - fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; + await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name ); + fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; + await adminApiActions.nodes.createFile(data.file.name, docLibId); + fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id; + fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id; + fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; + fileLockedId = (await adminApiActions.nodes.createFile(data.fileLocked.name, docLibId)).entry.id; + fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; + fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; + fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; - file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id; + file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id; - await apis.admin.nodes.createFolder(data.folder.name, docLibId); - folderFavId = (await apis.admin.nodes.createFolder(data.folderFav.name, docLibId)).entry.id; - await apis.userConsumer.favorites.addFavoriteById('folder', folderFavId); + await adminApiActions.nodes.createFolder(data.folder.name, docLibId); + folderFavId = (await adminApiActions.nodes.createFolder(data.folderFav.name, docLibId)).entry.id; + await userApi.favorites.addFavoriteById('folder', folderFavId); - await apis.userConsumer.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -87,7 +98,7 @@ describe('Special permissions actions : on Search Results : ', () => { file3Id ]); - await apis.userConsumer.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -97,214 +108,172 @@ describe('Special permissions actions : on Search Results : ', () => { file3Id ]); - await apis.admin.nodes.lockFile(fileLockedId); - await apis.admin.nodes.lockFile(fileFavLockedId); - await apis.admin.nodes.lockFile(fileSharedLockedId); - await apis.admin.nodes.lockFile(fileSharedFavLockedId); + await adminApiActions.nodes.lockFile(fileLockedId); + await adminApiActions.nodes.lockFile(fileFavLockedId); + await adminApiActions.nodes.lockFile(fileSharedLockedId); + await adminApiActions.nodes.lockFile(fileSharedFavLockedId); - await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); + await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); - await apis.userConsumer.favorites.waitForApi({ expect: 8 }); - await apis.userConsumer.shared.waitForApi({ expect: 7 }); - await apis.userConsumer.search.waitForApi(userConsumer, { expect: 13 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 8 }), + userApi.shared.waitForApi({ expect: 7 }), + userApi.search.waitForApi(userConsumer, { expect: 13 }) + ]); await loginPage.loginWith(userConsumer); - done(); }); - afterAll(async (done) => { - await apis.admin.sites.deleteSite(site); - done(); + afterAll(async () => { + await adminApiActions.sites.deleteSite(site); + }); + + beforeEach(async () => { + await Utils.pressEscape(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('on a file', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickPersonalFiles(); await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor('file-'); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); + await searchResultsPage.waitForResults(); }); it('File Office - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.searchToolbarPrimary, data.fileDocx.toolbarMore); await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu); }); it('File Office, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary, data.fileDocxFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu); }); it('File simple - []', async () => { - await testUtil.checkToolbarPrimary(data.file.name, data.file.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore); + await testUtil.checkToolbarActions(data.file.name, data.file.searchToolbarPrimary, data.file.toolbarMore); await testUtil.checkContextMenu(data.file.name, data.file.contextMenu); }); it('File favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.searchToolbarPrimary, data.fileFav.toolbarMore); await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu); }); it('File Office, shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary, data.fileDocxShared.toolbarMore); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary, data.fileDocxSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu); }); it('File shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore); + await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.searchToolbarPrimary, data.fileShared.toolbarMore); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary, data.fileSharedFav.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu); }); it('File locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.searchToolbarPrimary, data.fileLocked.toolbarMore); await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu); }); it('File favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary, data.fileFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu); }); it('File shared, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary, data.fileSharedLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary, data.fileSharedFavLocked.toolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu); }); }); describe('on a folder', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickPersonalFiles(); await searchInput.clickSearchButton(); - await searchInput.checkOnlyFolders(); await searchInput.searchFor('folder-'); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); + await searchResultsPage.waitForResults(); }); it('Folder not favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folder.name, data.folder.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.toolbarMore); + await testUtil.checkToolbarActions(data.folder.name, data.folder.searchToolbarPrimary, data.folder.toolbarMore); await testUtil.checkContextMenu(data.folder.name, data.folder.contextMenu); }); it('Folder favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.searchToolbarPrimary); - await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.toolbarMore); + await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.searchToolbarPrimary, data.folderFav.toolbarMore); await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu); }); }); describe('on multiple selection', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); - await page.clickPersonalFiles(); - done(); - }); - afterEach(async (done) => { - await Utils.pressEscape(); - done(); - }); + describe('of files', () => { - it('multiple files - []', async () => { - await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); - await searchInput.searchFor('file-'); + beforeAll(async () => { + await page.clickPersonalFiles(); + await searchInput.clickSearchButton(); + await searchInput.searchFor('file-'); + await searchResultsPage.waitForResults(); + }); - await testUtil.checkMultipleSelContextMenu([ data.file.name, data.fileDocxShared.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.toolbarMore); - }); + it('multiple files - []', async () => { + await testUtil.checkMultipleSelContextMenu([ data.file.name, data.fileDocxShared.name ], data.multipleSel.contextMenu); + await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore); + }); - it('multiple files - all favorite - []', async () => { - await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); - await searchInput.searchFor('file-'); + it('multiple files - all favorite - []', async () => { + await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.contextMenu); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSelAllFav.toolbarMore); + }); - await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.toolbarMore); - }); + it('multiple locked files - []', async () => { + await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); + await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore); + }); - it('multiple locked files - []', async () => { - await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); - await searchInput.searchFor('file-'); - - await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore); + it('multiple files with different granular permissions - []', async () => { + await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.contextMenu); + await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, file3 ], data.multipleSel.searchToolbarPrimary, data.multipleSelAllFav.toolbarMore); + }); }); it('multiple folders - []', async () => { + await page.clickPersonalFiles(); await searchInput.clickSearchButton(); - await searchInput.checkOnlyFolders(); await searchInput.searchFor('folder-'); await testUtil.checkMultipleSelContextMenu([ data.folder.name, data.folderFav.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.folder.name, data.folderFav.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore); }); it('both files and folders - []', async () => { + await page.clickPersonalFiles(); await searchInput.clickSearchButton(); - await searchInput.checkFilesAndFolders(); await searchInput.searchFor(`=${data.file.name} or =${data.folderFav.name}`); await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folderFav.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folderFav.name ], data.multipleSel.toolbarMore); - }); - - it('multiple files with different granular permissions - []', async () => { - await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); - await searchInput.searchFor('file-'); - - await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, file3 ], data.multipleSel.searchToolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore); }); }); }); diff --git a/e2e/suites/actions-available/special-permissions/permissions-shared.test.ts b/e2e/suites/actions-available/special-permissions/permissions-shared.test.ts index 3d9db1940..34cd2fdcc 100755 --- a/e2e/suites/actions-available/special-permissions/permissions-shared.test.ts +++ b/e2e/suites/actions-available/special-permissions/permissions-shared.test.ts @@ -24,55 +24,61 @@ */ import { LoginPage, BrowsingPage } from '../../../pages/pages'; -import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs'; +import { FILES, SITE_ROLES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as data from './test-data-permissions'; import * as testUtil from '../test-util'; describe('Special permissions actions : on Shared Files : ', () => { + const random = Utils.random(); - const site = `site-private-${Utils.random()}`; + const site = `site-private-${random}`; - const userConsumer = `consumer-${Utils.random()}`; + const userConsumer = `consumer-${random}`; - const file3 = `file-3-${Utils.random()}.txt`; - let file3Id; + const file3 = `file-3-${random}.txt`; + let file3Id: string; - let fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileSharedLockedId, fileSharedFavLockedId; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; - const apis = { - admin: new RepoClient(), - userConsumer: new RepoClient(userConsumer, userConsumer) - }; + const adminApiActions = new AdminActions(); + + const userApi = new RepoClient(userConsumer, userConsumer); const loginPage = new LoginPage(); const page = new BrowsingPage(); - beforeAll(async (done) => { - await apis.admin.people.createUser({ username: userConsumer }); + beforeAll(async () => { + await adminApiActions.createUser({ username: userConsumer }); - await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE); - const docLibId = await apis.admin.sites.getDocLibId(site); - await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE); + await adminApiActions.sites.createSitePrivate(site); + const docLibId = await adminApiActions.sites.getDocLibId(site); + await adminApiActions.sites.addSiteConsumer(site, userConsumer); - fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id; - fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; - fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; - fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; + fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id; + fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; + fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; + fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; - file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id; + file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id; - await apis.userConsumer.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxSharedFavId, fileSharedFavId, fileSharedFavLockedId, file3Id ]); - await apis.userConsumer.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -82,70 +88,62 @@ describe('Special permissions actions : on Shared Files : ', () => { file3Id ]); - await apis.admin.nodes.lockFile(fileSharedLockedId); - await apis.admin.nodes.lockFile(fileSharedFavLockedId); + await adminApiActions.nodes.lockFile(fileSharedLockedId); + await adminApiActions.nodes.lockFile(fileSharedFavLockedId); - await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); + await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE); - await apis.userConsumer.favorites.waitForApi({ expect: 7 }); - await apis.userConsumer.shared.waitForApi({ expect: 4 }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 4 }), + userApi.shared.waitForApi({ expect: 7 }) + ]); await loginPage.loginWith(userConsumer); - done(); - }); - afterAll(async (done) => { - await apis - await apis.admin.sites.deleteSite(site); - done(); - }); - - beforeEach(async (done) => { - await Utils.pressEscape(); await page.clickSharedFilesAndWait(); - done(); }); - afterEach(async (done) => { + afterAll(async () => { + await adminApiActions.sites.deleteSite(site); + }); + + beforeEach(async () => { await Utils.pressEscape(); - done(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('single selection', () => { it('File Office, shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.sharedToolbarMore); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.sharedContextMenu); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.sharedToolbarMore); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedContextMenu); }); it('File shared - []', async () => { - await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.sharedToolbarMore); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.sharedContextMenu); }); it('File shared, favorite - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.sharedToolbarMore); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.sharedContextMenu); }); it('File shared, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.sharedToolbarMore); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.sharedContextMenu); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary); - await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedToolbarMore); + await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.sharedToolbarMore); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu); }); }); @@ -153,26 +151,22 @@ describe('Special permissions actions : on Shared Files : ', () => { describe('multiple selection', () => { it('multiple files - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple files - all favorite - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore); }); it('multiple locked files - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore); }); it('multiple files with different granular permissions - []', async () => { await testUtil.checkMultipleSelContextMenu([ data.fileSharedFav.name, file3 ], data.multipleSelAllFav.contextMenu); - await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedFav.name, file3 ], data.multipleSel.toolbarPrimary); - await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedFav.name, file3 ], data.multipleSelAllFav.toolbarMore); + await testUtil.checkMultipleSelToolbarActions([ data.fileSharedFav.name, file3 ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore); }); }); diff --git a/e2e/suites/actions-available/special-permissions/permissions-viewer.test.ts b/e2e/suites/actions-available/special-permissions/permissions-viewer.test.ts index 8a7473a56..4b8c3564a 100755 --- a/e2e/suites/actions-available/special-permissions/permissions-viewer.test.ts +++ b/e2e/suites/actions-available/special-permissions/permissions-viewer.test.ts @@ -23,56 +23,64 @@ * along with Alfresco. If not, see . */ -import { LoginPage, BrowsingPage } from '../../../pages/pages'; -import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs'; +import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages'; +import { FILES } from '../../../configs'; import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { Utils } from '../../../utilities/utils'; import * as data from './test-data-permissions'; +import { AdminActions } from '../../../utilities/admin-actions'; import * as testUtil from '../test-util'; describe('Special permissions actions : in the Viewer : ', () => { - const site = `site-private-${Utils.random()}`; + const random = Utils.random(); - const userConsumer = `consumer-${Utils.random()}`; + const site = `site-private-${random}`; - let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId; + const userConsumer = `consumer-${random}`; - const apis = { - admin: new RepoClient(), - userConsumer: new RepoClient(userConsumer, userConsumer) - }; + let fileDocxFavId: string; + let fileFavId: string; + let fileDocxSharedId: string; + let fileDocxSharedFavId: string; + let fileSharedId: string; + let fileSharedFavId: string; + let fileLockedId: string; + let fileFavLockedId: string; + let fileSharedLockedId: string; + let fileSharedFavLockedId: string; + + const adminApiActions = new AdminActions(); + + const userApi = new RepoClient(userConsumer, userConsumer); const loginPage = new LoginPage(); const page = new BrowsingPage(); + const searchResultsPage = new SearchResultsPage(); const { dataTable } = page; const { searchInput } = page.header; - beforeAll(async (done) => { - await apis.admin.people.createUser({ username: userConsumer }); + beforeAll(async () => { + await adminApiActions.createUser({ username: userConsumer }); - await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE); - const docLibId = await apis.admin.sites.getDocLibId(site); - await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE); + await adminApiActions.sites.createSitePrivate(site); + const docLibId = await adminApiActions.sites.getDocLibId(site); + await adminApiActions.sites.addSiteConsumer(site, userConsumer); - await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name ); - fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; - await apis.admin.nodes.createFile(data.file.name, docLibId); - fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id; - fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; - fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; - fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id; - fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; - fileLockedId = (await apis.admin.nodes.createFile(data.fileLocked.name, docLibId)).entry.id; - fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; - fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; - fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; + await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name ); + fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id; + await adminApiActions.nodes.createFile(data.file.name, docLibId); + fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id; + fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id; + fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id; + fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id; + fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id; + fileLockedId = (await adminApiActions.nodes.createFile(data.fileLocked.name, docLibId)).entry.id; + fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id; + fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id; + fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id; - done(); - }); - - beforeAll(async (done) => { - await apis.userConsumer.favorites.addFavoritesByIds('file', [ + await userApi.favorites.addFavoritesByIds('file', [ fileDocxFavId, fileFavId, fileDocxSharedFavId, @@ -81,7 +89,7 @@ describe('Special permissions actions : in the Viewer : ', () => { fileSharedFavLockedId ]); - await apis.userConsumer.shared.shareFilesByIds([ + await userApi.shared.shareFilesByIds([ fileDocxSharedId, fileDocxSharedFavId, fileSharedId, @@ -90,312 +98,204 @@ describe('Special permissions actions : in the Viewer : ', () => { fileSharedFavLockedId ]); - await apis.admin.nodes.lockFile(fileLockedId); - await apis.admin.nodes.lockFile(fileFavLockedId); - await apis.admin.nodes.lockFile(fileSharedLockedId); - await apis.admin.nodes.lockFile(fileSharedFavLockedId); + await adminApiActions.nodes.lockFile(fileLockedId); + await adminApiActions.nodes.lockFile(fileFavLockedId); + await adminApiActions.nodes.lockFile(fileSharedLockedId); + await adminApiActions.nodes.lockFile(fileSharedFavLockedId); - await apis.userConsumer.favorites.waitForApi({ expect: 6 }); - await apis.userConsumer.shared.waitForApi({ expect: 6 }); - done(); - }); + await Promise.all([ + userApi.favorites.waitForApi({ expect: 6 }), + userApi.shared.waitForApi({ expect: 6 }) + ]); - beforeAll(async (done) => { await loginPage.loginWith(userConsumer); - done(); }); - afterAll(async (done) => { - await apis.admin.sites.deleteSite(site); - done(); + afterAll(async () => { + await adminApiActions.sites.deleteSite(site); + }); + + beforeEach(async () => { + await Utils.pressEscape(); + }); + + afterEach(async () => { + await page.closeOpenDialogs(); }); describe('file opened from File Libraries', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.goToMyLibrariesAndWait(); await dataTable.doubleClickOnRowByName(site); await dataTable.waitForHeader(); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); }); it('File Office - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore); }); it('File Office, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore); }); it('File simple - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore); + await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore); }); it('File favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore); }); it('File Office, shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore); }); it('File favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore); }); it('File shared, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); describe('file opened from Favorites', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickFavoritesAndWait(); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); }); it('File Office, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore); }); it('File favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); describe('file opened from Shared Files', () => { - beforeEach(async (done) => { - await Utils.pressEscape(); + beforeAll(async () => { await page.clickSharedFilesAndWait(); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); }); it('File Office, shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File shared, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); describe('file opened from Search Results', () => { - beforeAll(async (done) => { - await Utils.pressEscape(); - await page.clickPersonalFiles(); + beforeAll(async () => { await searchInput.clickSearchButton(); - await searchInput.checkOnlyFiles(); await searchInput.searchFor('file-'); - done(); - }); - - afterEach(async (done) => { - await Utils.pressEscape(); - done(); + await searchResultsPage.waitForResults(); }); it('File Office - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore); }); it('File Office, favorite - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore); }); it('File simple - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore); + await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore); }); it('File favorite - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore); }); it('File Office, shared - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore); }); it('File Office, shared, favorite - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore); }); it('File shared - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore); }); it('File shared, favorite - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore); }); it('File locked - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore); }); it('File favorite, locked - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore); }); it('File shared, locked - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore); }); it('File shared, favorite, locked - []', async () => { - // await searchInput.clickSearchButton(); - // await searchInput.checkOnlyFiles(); - // await searchInput.searchFor('file-'); - - await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary); - await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore); + await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore); }); }); }); diff --git a/e2e/suites/actions-available/test-util.ts b/e2e/suites/actions-available/test-util.ts index a37c14999..ade2a26de 100644 --- a/e2e/suites/actions-available/test-util.ts +++ b/e2e/suites/actions-available/test-util.ts @@ -33,101 +33,132 @@ const contextMenu = dataTable.menu; const viewer = new Viewer(); const viewerToolbar = viewer.toolbar; - -export async function checkContextMenu(item: string, expectedContextMenu: string[]) { +export async function checkContextMenu(item: string, expectedContextMenu: string[]): Promise { await dataTable.rightClickOnItem(item); + const actualActions = await contextMenu.getMenuItems(); - expect(actualActions.length).toBe(expectedContextMenu.length, 'Incorrect number of context menu items'); - expect(JSON.stringify(actualActions)).toEqual(JSON.stringify(expectedContextMenu), 'Incorrect context menu actions'); + expect(actualActions).toEqual(expectedContextMenu); + + await Utils.pressEscape(); } -export async function checkToolbarPrimary(item: string, expectedToolbarPrimary: string[]) { +export async function checkToolbarPrimary(item: string, expectedToolbarPrimary: string[]): Promise { await dataTable.selectItem(item); const actualPrimaryActions = await toolbar.getButtons(); - expect(actualPrimaryActions.length).toBe(expectedToolbarPrimary.length, 'Incorrect number of toolbar primary items'); - expect(JSON.stringify(actualPrimaryActions)).toEqual(JSON.stringify(expectedToolbarPrimary), 'Incorrect toolbar primary actions'); + expect(actualPrimaryActions).toEqual(expectedToolbarPrimary); } -export async function checkToolbarMoreActions(item: string, expectedToolbarMore: string[]) { +export async function checkToolbarMoreActions(item: string, expectedToolbarMore: string[]): Promise { await dataTable.selectItem(item); - await toolbar.openMoreMenu(); const actualMoreActions = await toolbar.menu.getMenuItems(); - expect(actualMoreActions.length).toBe(expectedToolbarMore.length, 'Incorrect number of toolbar More menu items'); - expect(JSON.stringify(actualMoreActions)).toEqual(JSON.stringify(expectedToolbarMore), 'Incorrect toolbar More actions'); + expect(actualMoreActions).toEqual(expectedToolbarMore); await toolbar.closeMoreMenu(); } -export async function checkMultipleSelContextMenu(items: string[], expectedContextMenu: string[]) { +export async function checkToolbarActions(item: string, expectedToolbarPrimary: string[], expectedToolbarMore: string[]): Promise { + await dataTable.selectItem(item); + + const actualPrimaryActions = await toolbar.getButtons(); + expect(actualPrimaryActions).toEqual(expectedToolbarPrimary); + + await toolbar.openMoreMenu(); + + const actualMoreActions = await toolbar.menu.getMenuItems(); + expect(actualMoreActions).toEqual(expectedToolbarMore); + + await toolbar.closeMoreMenu(); +} + +export async function checkMultipleSelContextMenu(items: string[], expectedContextMenu: string[]): Promise { await dataTable.selectMultipleItems(items); await dataTable.rightClickOnMultipleSelection(); const actualActions = await contextMenu.getMenuItems(); - expect(actualActions.length).toBe(expectedContextMenu.length, 'Incorrect number of context menu items'); - expect(JSON.stringify(actualActions)).toEqual(JSON.stringify(expectedContextMenu), 'Incorrect context menu actions'); + expect(actualActions).toEqual(expectedContextMenu); + + await Utils.pressEscape(); } -export async function checkMultipleSelToolbarPrimary(items: string[], expectedToolbarPrimary: string[]) { +export async function checkMultipleSelToolbarPrimary(items: string[], expectedToolbarPrimary: string[]): Promise { await dataTable.selectMultipleItems(items); const actualPrimaryActions = await toolbar.getButtons(); - expect(actualPrimaryActions.length).toBe(expectedToolbarPrimary.length, 'Incorrect number of toolbar primary items'); - expect(JSON.stringify(actualPrimaryActions)).toEqual(JSON.stringify(expectedToolbarPrimary), 'Incorrect toolbar primary actions'); + expect(actualPrimaryActions).toEqual(expectedToolbarPrimary); } -export async function checkMultipleSelToolbarMoreActions(items: string[], expectedToolbarMore: string[]) { +export async function checkMultipleSelToolbarMoreActions(items: string[], expectedToolbarMore: string[]): Promise { await dataTable.selectMultipleItems(items); - await toolbar.openMoreMenu(); const actualMoreActions = await toolbar.menu.getMenuItems(); - expect(actualMoreActions.length).toBe(expectedToolbarMore.length, 'Incorrect number of toolbar More menu items'); - expect(JSON.stringify(actualMoreActions)).toEqual(JSON.stringify(expectedToolbarMore), 'Incorrect toolbar More actions'); + expect(actualMoreActions).toEqual(expectedToolbarMore); await toolbar.closeMoreMenu(); } -export async function checkViewerToolbarPrimaryActions(item: string, expectedToolbarPrimary: string[]) { - // await dataTable.doubleClickOnRowByName(item); +export async function checkMultipleSelToolbarActions(items: string[], expectedToolbarPrimary: string[], expectedToolbarMore: string[]): Promise { + await dataTable.selectMultipleItems(items); + + const actualPrimaryActions = await toolbar.getButtons(); + expect(actualPrimaryActions).toEqual(expectedToolbarPrimary); + + await toolbar.openMoreMenu(); + + const actualMoreActions = await toolbar.menu.getMenuItems(); + expect(actualMoreActions).toEqual(expectedToolbarMore); + + await toolbar.closeMoreMenu(); +} + +export async function checkViewerToolbarPrimaryActions(item: string, expectedToolbarPrimary: string[]): Promise { await dataTable.selectItem(item); await toolbar.clickView(); await viewer.waitForViewerToOpen(); let actualPrimaryActions = await viewerToolbar.getButtons(); - actualPrimaryActions = removeClosePreviousNextOldInfo(actualPrimaryActions); - - expect(actualPrimaryActions.length).toBe(expectedToolbarPrimary.length, 'Incorrect number of viewer toolbar primary items'); - expect(JSON.stringify(actualPrimaryActions)).toEqual(JSON.stringify(expectedToolbarPrimary), 'Incorrect viewer toolbar primary actions'); + expect(actualPrimaryActions).toEqual(expectedToolbarPrimary); await Utils.pressEscape(); } -export async function checkViewerToolbarMoreActions(item: string, expectedToolbarMore: string[]) { - // await dataTable.doubleClickOnRowByName(item); +export async function checkViewerToolbarMoreActions(item: string, expectedToolbarMore: string[]): Promise { await dataTable.selectItem(item); await toolbar.clickView(); await viewer.waitForViewerToOpen(); await viewerToolbar.openMoreMenu(); const actualMoreActions = await viewerToolbar.menu.getMenuItems(); - - expect(actualMoreActions.length).toBe(expectedToolbarMore.length, 'Incorrect number of toolbar More menu items'); - expect(JSON.stringify(actualMoreActions)).toEqual(JSON.stringify(expectedToolbarMore), 'Incorrect toolbar More actions'); + expect(actualMoreActions).toEqual(expectedToolbarMore); await toolbar.closeMoreMenu(); await Utils.pressEscape(); } +export async function checkViewerActions(item: string, expectedToolbarPrimary: string[], expectedToolbarMore: string[]): Promise { + await dataTable.selectItem(item); + await toolbar.clickView(); + await viewer.waitForViewerToOpen(); + + let actualPrimaryActions = await viewerToolbar.getButtons(); + actualPrimaryActions = removeClosePreviousNextOldInfo(actualPrimaryActions); + expect(actualPrimaryActions).toEqual(expectedToolbarPrimary); + + await viewerToolbar.openMoreMenu(); + + const actualMoreActions = await viewerToolbar.menu.getMenuItems(); + expect(actualMoreActions).toEqual(expectedToolbarMore); + + await toolbar.closeMoreMenu(); + await Utils.pressEscape(); +} + +const toRemove = ['Close', 'Previous File', 'Next File', 'View details']; function removeClosePreviousNextOldInfo(actions: string[]): string[] { - return actions.filter(elem => { - if ( (elem !== 'Close') && (elem !== 'Previous File') && (elem !== 'Next File') && (elem !== 'View details')) { - return elem; - } - return null - }).filter((action) => action != null); + return actions.filter((elem) => !toRemove.includes(elem)); } diff --git a/e2e/suites/actions/create-file-from-template.test.ts b/e2e/suites/actions/create-file-from-template.test.ts index 89feeb9f7..80537c409 100755 --- a/e2e/suites/actions/create-file-from-template.test.ts +++ b/e2e/suites/actions/create-file-from-template.test.ts @@ -2,7 +2,7 @@ * @license * Alfresco Example Content Application * - * Copyright (C) 2005 - 2019 Alfresco Software Limited + * Copyright (C) 2005 - 2020 Alfresco Software Limited * * This file is part of the Alfresco Example Content Application. * If the software was purchased under a paid Alfresco license, the terms of diff --git a/e2e/utilities/admin-actions.ts b/e2e/utilities/admin-actions.ts index dc0a5c63a..bf0618be3 100755 --- a/e2e/utilities/admin-actions.ts +++ b/e2e/utilities/admin-actions.ts @@ -2,7 +2,7 @@ * @license * Alfresco Example Content Application * - * Copyright (C) 2005 - 2019 Alfresco Software Limited + * Copyright (C) 2005 - 2020 Alfresco Software Limited * * This file is part of the Alfresco Example Content Application. * If the software was purchased under a paid Alfresco license, the terms of @@ -27,6 +27,11 @@ import { RepoClient, NodeContentTree } from './repo-client/repo-client'; import { PersonEntry, NodeEntry } from '@alfresco/js-api'; import { PersonModel } from './repo-client/apis/people/people-api-models'; +import { SitesApi } from './repo-client/apis/sites/sites-api'; +import { UploadApi } from './repo-client/apis/upload/upload-api'; +import { NodesApi } from './repo-client/apis/nodes/nodes-api'; +import { FavoritesApi } from './repo-client/apis/favorites/favorites-api'; + export class AdminActions { private adminApi: RepoClient; @@ -34,6 +39,11 @@ export class AdminActions { this.adminApi = new RepoClient(); } + sites: SitesApi = new SitesApi(); + upload: UploadApi = new UploadApi(); + nodes: NodesApi = new NodesApi(); + favorites: FavoritesApi = new FavoritesApi(); + async getDataDictionaryId(): Promise { return await this.adminApi.nodes.getNodeIdFromParent('Data Dictionary', '-root-'); } diff --git a/e2e/utilities/repo-client/apis/sites/sites-api.ts b/e2e/utilities/repo-client/apis/sites/sites-api.ts index 8e80ec55a..c0e2a029a 100755 --- a/e2e/utilities/repo-client/apis/sites/sites-api.ts +++ b/e2e/utilities/repo-client/apis/sites/sites-api.ts @@ -24,8 +24,8 @@ */ import { RepoApi } from '../repo-api'; -import { SiteBody, SiteMemberRoleBody, SiteMemberBody, SiteEntry, SiteMembershipRequestEntry, SitesApi as AdfSiteApi } from '@alfresco/js-api'; -import { SITE_VISIBILITY } from '../../../../configs'; +import { SiteBody, SiteMemberRoleBody, SiteMemberBody, SiteEntry, SiteMembershipRequestEntry, SitesApi as AdfSiteApi, SiteMemberEntry } from '@alfresco/js-api'; +import { SITE_VISIBILITY, SITE_ROLES } from '../../../../configs'; import { Utils } from '../../../../utilities/utils'; export class SitesApi extends RepoApi { @@ -112,6 +112,14 @@ export class SitesApi extends RepoApi { } } + async createSitePrivate(title: string, description?: string, siteId?: string): Promise { + return this.createSite(title, SITE_VISIBILITY.PRIVATE, description, siteId); + } + + async createSiteModerated(title: string, description?: string, siteId?: string): Promise { + return this.createSite(title, SITE_VISIBILITY.MODERATED, description, siteId); + } + async createSites(titles: string[], visibility?: string) { try { return titles.reduce(async (previous: any, current: any) => { @@ -185,6 +193,22 @@ export class SitesApi extends RepoApi { } } + async addSiteConsumer(siteId: string, userId: string): Promise { + return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_CONSUMER.ROLE); + } + + async addSiteContributor(siteId: string, userId: string): Promise { + return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_CONTRIBUTOR.ROLE); + } + + async addSiteCollaborator(siteId: string, userId: string): Promise { + return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_COLLABORATOR.ROLE); + } + + async addSiteManager(siteId: string, userId: string): Promise { + return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_MANAGER.ROLE); + } + async deleteSiteMember(siteId: string, userId: string) { try { await this.apiAuth(); diff --git a/e2e/utilities/repo-client/repo-client.ts b/e2e/utilities/repo-client/repo-client.ts index ef326837d..da47aeb8e 100755 --- a/e2e/utilities/repo-client/repo-client.ts +++ b/e2e/utilities/repo-client/repo-client.ts @@ -48,7 +48,7 @@ export class RepoClient { return { username, password }; } - get people () { + get people() { return new PeopleApi(this.auth.username, this.auth.password); } diff --git a/src/app/dialogs/node-templates/create-from-template-dialog.service.ts b/src/app/dialogs/node-templates/create-from-template-dialog.service.ts index 56a603562..c6d95a3bf 100644 --- a/src/app/dialogs/node-templates/create-from-template-dialog.service.ts +++ b/src/app/dialogs/node-templates/create-from-template-dialog.service.ts @@ -2,7 +2,7 @@ * @license * Alfresco Example Content Application * - * Copyright (C) 2005 - 2019 Alfresco Software Limited + * Copyright (C) 2005 - 2020 Alfresco Software Limited * * This file is part of the Alfresco Example Content Application. * If the software was purchased under a paid Alfresco license, the terms of diff --git a/src/assets/i18n/ar.json b/src/assets/i18n/ar.json index b5e876dde..d1881440f 100644 --- a/src/assets/i18n/ar.json +++ b/src/assets/i18n/ar.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "حقوق الطبع والنشر © 2017 - 2019 Alfresco Software, Inc. جميع الحقوق محفوظة.", + "COPYRIGHT": "حقوق الطبع والنشر © 2017 - 2020 Alfresco Software, Inc. جميع الحقوق محفوظة.", "ABOUT": { "VERSION": "الإصدار:", "PLUGINS": { diff --git a/src/assets/i18n/cs.json b/src/assets/i18n/cs.json index a6f20733d..47128474e 100644 --- a/src/assets/i18n/cs.json +++ b/src/assets/i18n/cs.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Všechna práva vyhrazena.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Všechna práva vyhrazena.", "ABOUT": { "VERSION": "Verze:", "PLUGINS": { diff --git a/src/assets/i18n/da.json b/src/assets/i18n/da.json index fe98e639e..34c3cef28 100644 --- a/src/assets/i18n/da.json +++ b/src/assets/i18n/da.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alle rettigheder forbeholdes.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alle rettigheder forbeholdes.", "ABOUT": { "VERSION": "Version:", "PLUGINS": { diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 798a1a2f6..12cb115c4 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alle Rechte vorbehalten.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alle Rechte vorbehalten.", "ABOUT": { "VERSION": "Version:", "PLUGINS": { diff --git a/src/assets/i18n/es.json b/src/assets/i18n/es.json index 9a2267db4..8414654b6 100644 --- a/src/assets/i18n/es.json +++ b/src/assets/i18n/es.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Todos los derechos reservados.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Todos los derechos reservados.", "ABOUT": { "VERSION": "Versión:", "PLUGINS": { diff --git a/src/assets/i18n/fi.json b/src/assets/i18n/fi.json index 30924fc7f..8537975c7 100644 --- a/src/assets/i18n/fi.json +++ b/src/assets/i18n/fi.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Kaikki oikeudet pidätetään.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Kaikki oikeudet pidätetään.", "ABOUT": { "VERSION": "Versio:", "PLUGINS": { diff --git a/src/assets/i18n/fr.json b/src/assets/i18n/fr.json index 29b02fcf2..838bb21ef 100644 --- a/src/assets/i18n/fr.json +++ b/src/assets/i18n/fr.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Tous droits réservés.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Tous droits réservés.", "ABOUT": { "VERSION": "Version :", "PLUGINS": { diff --git a/src/assets/i18n/it.json b/src/assets/i18n/it.json index f2078249b..4d4309df9 100644 --- a/src/assets/i18n/it.json +++ b/src/assets/i18n/it.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Tutti i diritti riservati.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Tutti i diritti riservati.", "ABOUT": { "VERSION": "Versione:", "PLUGINS": { diff --git a/src/assets/i18n/ja.json b/src/assets/i18n/ja.json index a06a48857..59712b7aa 100644 --- a/src/assets/i18n/ja.json +++ b/src/assets/i18n/ja.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc。 All rights reserved。", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc。 All rights reserved。", "ABOUT": { "VERSION": "バージョン:", "PLUGINS": { diff --git a/src/assets/i18n/nb.json b/src/assets/i18n/nb.json index 8e537a7cf..45370420d 100644 --- a/src/assets/i18n/nb.json +++ b/src/assets/i18n/nb.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Med enerett.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Med enerett.", "ABOUT": { "VERSION": "Versjon:", "PLUGINS": { diff --git a/src/assets/i18n/nl.json b/src/assets/i18n/nl.json index 2a0ed49eb..c520b358e 100644 --- a/src/assets/i18n/nl.json +++ b/src/assets/i18n/nl.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alle rechten voorbehouden.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alle rechten voorbehouden.", "ABOUT": { "VERSION": "Versie:", "PLUGINS": { diff --git a/src/assets/i18n/pl.json b/src/assets/i18n/pl.json index 11daa02fa..5903b24be 100644 --- a/src/assets/i18n/pl.json +++ b/src/assets/i18n/pl.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Wszelkie prawa zastrzeżone.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Wszelkie prawa zastrzeżone.", "ABOUT": { "VERSION": "Wersja:", "PLUGINS": { diff --git a/src/assets/i18n/pt-BR.json b/src/assets/i18n/pt-BR.json index b90beadb0..b009f41a1 100644 --- a/src/assets/i18n/pt-BR.json +++ b/src/assets/i18n/pt-BR.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Todos os direitos reservados.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Todos os direitos reservados.", "ABOUT": { "VERSION": "Versão:", "PLUGINS": { diff --git a/src/assets/i18n/ru.json b/src/assets/i18n/ru.json index 82ff91604..e43690939 100644 --- a/src/assets/i18n/ru.json +++ b/src/assets/i18n/ru.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Все права защищены.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Все права защищены.", "ABOUT": { "VERSION": "Версия:", "PLUGINS": { diff --git a/src/assets/i18n/sv.json b/src/assets/i18n/sv.json index bd37a7457..ca30c0833 100644 --- a/src/assets/i18n/sv.json +++ b/src/assets/i18n/sv.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alla rättigheter förbehålls.", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alla rättigheter förbehålls.", "ABOUT": { "VERSION": "Version:", "PLUGINS": { diff --git a/src/assets/i18n/zh-CN.json b/src/assets/i18n/zh-CN.json index 3e659188a..d918b251e 100644 --- a/src/assets/i18n/zh-CN.json +++ b/src/assets/i18n/zh-CN.json @@ -1,6 +1,6 @@ { "APP": { - "COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc。保留所有权利。", + "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc。保留所有权利。", "ABOUT": { "VERSION": "版本:", "PLUGINS": {