mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-05-12 17:04:46 +00:00
[ACA-2380] refactor actions-available tests (#1144)
* compare arrays of actions instead of checking the available actions one by one add more tests for more file types reorganise and separate test files use correct capitalisation of “Leave Library”, according to ACA-2473 add some try catch blocks * fix test and rebalance suites * remove hidden old info button - that exists in DOM, even though hidden, after fix of [ACA-2288] issue * change actions order after ACA-2649
This commit is contained in:
parent
1bcb29473d
commit
b0121f06f8
@ -33,10 +33,10 @@ jobs:
|
||||
- npm run test:ci
|
||||
- bash <(curl -s https://codecov.io/bash) -X gcov
|
||||
- stage: e2e
|
||||
name: Test Suite appNavigation
|
||||
script: npm run build.e2e && SUITE="--suite authentication,listViews,navigation,application,pagination" npm run e2e:docker
|
||||
- name: Test Suite search&actionsAvailable
|
||||
script: npm run build.e2e && SUITE="--suite search,actionsAvailable" npm run e2e:docker
|
||||
name: Test Suite appNavigation&search
|
||||
script: npm run build.e2e && SUITE="--suite authentication,listViews,navigation,application,pagination,search" npm run e2e:docker
|
||||
- name: Test Suite actionsAvailable
|
||||
script: npm run build.e2e && SUITE="--suite actionsAvailable" npm run e2e:docker
|
||||
- name: Test Suite addRemoveContent
|
||||
script: npm run build.e2e && SUITE="--suite addRemoveContent" npm run e2e:docker
|
||||
- name: Test Suite manageContent
|
||||
|
@ -235,20 +235,29 @@ export class DataTable extends Component {
|
||||
const item = this.getRowFirstCell(name, location);
|
||||
await Utils.waitUntilElementClickable(item);
|
||||
await browser.actions().mouseMove(item).perform();
|
||||
await browser.actions().click().click().perform();
|
||||
await browser.actions().doubleClick().perform();
|
||||
} catch (error) {
|
||||
console.log('--- catch: doubleClickOnRowByName', error);
|
||||
}
|
||||
}
|
||||
|
||||
async selectItem(name: string, location: string = '') {
|
||||
try{
|
||||
const item = this.getRowFirstCell(name, location);
|
||||
await item.click();
|
||||
const isSelected = await this.hasCheckMarkIcon(name, location);
|
||||
if (!isSelected) {
|
||||
try {
|
||||
const item = this.getRowFirstCell(name, location);
|
||||
await item.click();
|
||||
|
||||
} catch (e) {
|
||||
console.log('--- select item catch : ', e);
|
||||
} catch (e) {
|
||||
console.log('--- select item catch : ', e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async clickItem(name: string, location: string = '') {
|
||||
const item = this.getRowFirstCell(name, location);
|
||||
await item.click();
|
||||
}
|
||||
|
||||
async clickNameLink(itemName: string) {
|
||||
|
@ -127,6 +127,13 @@ export class Menu extends Component {
|
||||
return await this.items.count();
|
||||
}
|
||||
|
||||
async getMenuItems(): Promise<string[]> {
|
||||
return this.items.map(async (elem) => {
|
||||
const text = await elem.element(by.css('span')).getText();
|
||||
return text;
|
||||
});
|
||||
}
|
||||
|
||||
async clickNthItem(nth: number) {
|
||||
try {
|
||||
const elem = this.getNthItem(nth);
|
||||
|
@ -43,7 +43,7 @@ export class Toolbar extends Component {
|
||||
print: `.mat-icon-button[title='Print']`,
|
||||
fullScreen: `.mat-icon-button[title='Activate full-screen mode']`,
|
||||
joinLibrary: `.mat-icon-button[title='Join']`,
|
||||
leaveLibrary: `.mat-icon-button[title='Leave library']`,
|
||||
leaveLibrary: `.mat-icon-button[title='Leave Library']`,
|
||||
permanentlyDelete: `.mat-icon-button[title='Permanently Delete']`,
|
||||
restore: `.mat-icon-button[title='Restore']`
|
||||
};
|
||||
@ -77,6 +77,12 @@ export class Toolbar extends Component {
|
||||
return await this.buttons.count();
|
||||
}
|
||||
|
||||
async getButtons(): Promise<string[]> {
|
||||
return this.buttons.map(async elem => {
|
||||
return await elem.getAttribute('title');
|
||||
});
|
||||
}
|
||||
|
||||
async isButtonPresent(title: string) {
|
||||
const elem = this.component.element(by.css(`${Toolbar.selectors.button}[title="${title}"]`));
|
||||
return await elem.isPresent();
|
||||
|
@ -1,656 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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';
|
||||
|
||||
describe('Context menu actions - multiple selection : ', () => {
|
||||
const username = `user-${Utils.random()}`;
|
||||
|
||||
const parent = `parent=${Utils.random()}`; let parentId;
|
||||
|
||||
const file1 = `my-file1-${Utils.random()}.txt`; let file1Id;
|
||||
const file2 = `my-file2-${Utils.random()}.txt`; let file2Id;
|
||||
const fileLocked1 = `my-fileLocked1-${Utils.random()}.txt`; let fileLocked1Id;
|
||||
const fileLocked2 = `my-fileLocked2-${Utils.random()}.txt`; let fileLocked2Id;
|
||||
|
||||
const folder1 = `my-folder1-${Utils.random()}`; let folder1Id;
|
||||
const folder2 = `my-folder2-${Utils.random()}`; let folder2Id;
|
||||
|
||||
const fileInTrash1 = `deletedFile1-${Utils.random()}.txt`; let fileInTrash1Id;
|
||||
const fileInTrash2 = `deletedFile2-${Utils.random()}.txt`; let fileInTrash2Id;
|
||||
const folderInTrash1 = `deletedFolder1-${Utils.random()}`; let folderInTrash1Id;
|
||||
const folderInTrash2 = `deletedFolder2-${Utils.random()}`; let folderInTrash2Id;
|
||||
|
||||
const siteName = `site-${Utils.random()}`;
|
||||
const file1Site = `my-inSite-file1-${Utils.random()}.txt`;
|
||||
const file2Site = `my-inSite-file2-${Utils.random()}.txt`;
|
||||
const fileLocked1Site = `my-inSite-fileLocked1-${Utils.random()}.txt`; let fileLocked1SiteId;
|
||||
const fileLocked2Site = `my-inSite-fileLocked2-${Utils.random()}.txt`; let fileLocked2SiteId;
|
||||
const folder1Site = `my-inSite-folder1-${Utils.random()}`;
|
||||
const folder2Site = `my-inSite-folder2-${Utils.random()}`;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable } = page;
|
||||
const contextMenu = dataTable.menu;
|
||||
const searchResultsPage = new SearchResultsPage();
|
||||
const { searchInput } = searchResultsPage.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||
|
||||
file1Id = (await apis.user.nodes.createFile(file1, parentId)).entry.id;
|
||||
file2Id = (await apis.user.nodes.createFile(file2, parentId)).entry.id;
|
||||
folder1Id = (await apis.user.nodes.createFolder(folder1, parentId)).entry.id;
|
||||
folder2Id = (await apis.user.nodes.createFolder(folder2, parentId)).entry.id;
|
||||
|
||||
fileLocked1Id = (await apis.user.nodes.createFile(fileLocked1, parentId)).entry.id;
|
||||
fileLocked2Id = (await apis.user.nodes.createFile(fileLocked2, parentId)).entry.id;
|
||||
await apis.user.nodes.lockFile(fileLocked1Id);
|
||||
await apis.user.nodes.lockFile(fileLocked2Id);
|
||||
|
||||
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
|
||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||
await apis.user.nodes.createFile(file1Site, docLibId);
|
||||
await apis.user.nodes.createFile(file2Site, docLibId);
|
||||
await apis.user.nodes.createFolder(folder1Site, docLibId);
|
||||
await apis.user.nodes.createFolder(folder2Site, docLibId);
|
||||
fileLocked1SiteId = (await apis.user.nodes.createFile(fileLocked1Site, docLibId)).entry.id;
|
||||
fileLocked2SiteId = (await apis.user.nodes.createFile(fileLocked2Site, docLibId)).entry.id;
|
||||
await apis.user.nodes.lockFile(fileLocked1SiteId);
|
||||
await apis.user.nodes.lockFile(fileLocked2SiteId);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([ file1Id, file2Id, fileLocked1Id, fileLocked2Id ]);
|
||||
await apis.user.shared.waitForApi({ expect: 4 });
|
||||
|
||||
await apis.user.favorites.addFavoritesByIds('file', [ file1Id, file2Id, fileLocked1Id, fileLocked2Id ]);
|
||||
await apis.user.favorites.addFavoritesByIds('folder', [ folder1Id, folder2Id ]);
|
||||
await apis.user.favorites.waitForApi({ expect: 6 + 1 });
|
||||
|
||||
fileInTrash1Id = (await apis.user.nodes.createFile(fileInTrash1)).entry.id;
|
||||
fileInTrash2Id = (await apis.user.nodes.createFile(fileInTrash2)).entry.id;
|
||||
folderInTrash1Id = (await apis.user.nodes.createFolder(folderInTrash1)).entry.id;
|
||||
folderInTrash2Id = (await apis.user.nodes.createFolder(folderInTrash2)).entry.id;
|
||||
await apis.user.nodes.deleteNodesById([ fileInTrash1Id, fileInTrash2Id, folderInTrash1Id, folderInTrash2Id ], false);
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.user.nodes.deleteNodeById(parentId);
|
||||
await apis.user.sites.deleteSite(siteName);
|
||||
await apis.user.trashcan.emptyTrash();
|
||||
done();
|
||||
});
|
||||
|
||||
describe('Generic tests', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
await dataTable.doubleClickOnRowByName(parent);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1, file2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
});
|
||||
|
||||
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 for ${file1}`);
|
||||
expect(await dataTable.countSelectedRows()).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`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Personal Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
await dataTable.doubleClickOnRowByName(parent);
|
||||
await dataTable.waitForBody();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280661]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297627]', async () => {
|
||||
await dataTable.selectMultipleItems([fileLocked1, fileLocked2]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C280632]', async () => {
|
||||
await dataTable.selectMultipleItems([folder1, folder2]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C280631]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on File Libraries', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.goToMyLibrariesAndWait();
|
||||
await dataTable.doubleClickOnRowByName(siteName);
|
||||
await dataTable.waitForHeader();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280641]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1Site, file2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297628]', async () => {
|
||||
await dataTable.selectMultipleItems([ fileLocked1Site, fileLocked2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C280574]', async () => {
|
||||
await dataTable.selectMultipleItems([ folder1Site, folder2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C280642]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1Site, file2Site, folder1Site, folder2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Shared Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickSharedFilesAndWait();
|
||||
await dataTable.clearSelection();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280648]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1, file2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is not displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297629]', async () => {
|
||||
await dataTable.selectMultipleItems([ fileLocked1, fileLocked2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is not displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Recent Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickRecentFilesAndWait();
|
||||
await dataTable.clearSelection();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280652]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1, file2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297630]', async () => {
|
||||
await dataTable.selectMultipleItems([ fileLocked1, fileLocked2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Favorites', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickFavoritesAndWait();
|
||||
await dataTable.clearSelection();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280656]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1, file2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297631]', async () => {
|
||||
await dataTable.selectMultipleItems([ fileLocked1, fileLocked2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C280664]', async () => {
|
||||
await dataTable.selectMultipleItems([ folder1, folder2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C280657]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1, file2, folder1, folder2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Trash', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickTrashAndWait();
|
||||
await dataTable.clearSelection();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C286273]', async () => {
|
||||
await dataTable.selectMultipleItems([ fileInTrash1, fileInTrash2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isPermanentDeletePresent()).toBe(true, 'Permanently delete is not displayed');
|
||||
expect(await contextMenu.isRestorePresent()).toBe(true, 'Restore is not displayed');
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(false, 'Download is displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is displayed`);
|
||||
// expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C286274]', async () => {
|
||||
await dataTable.selectMultipleItems([ folderInTrash1, folderInTrash2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isPermanentDeletePresent()).toBe(true, 'Permanently delete is not displayed');
|
||||
expect(await contextMenu.isRestorePresent()).toBe(true, 'Restore is not displayed');
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(false, 'Download is displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is displayed`);
|
||||
// expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C286275]', async () => {
|
||||
await dataTable.selectMultipleItems([ fileInTrash1, fileInTrash2, folderInTrash1, folderInTrash2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isPermanentDeletePresent()).toBe(true, 'Permanently delete is not displayed');
|
||||
expect(await contextMenu.isRestorePresent()).toBe(true, 'Restore is not displayed');
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(false, 'Download is displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is displayed`);
|
||||
// expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Search Results', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C291831]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('my-inSite-file');
|
||||
await dataTable.selectMultipleItems([ file1Site, file2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
|
||||
expect(await contextMenu.isToggleFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297632]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('my-inSite-file');
|
||||
await dataTable.selectMultipleItems([ fileLocked1Site, fileLocked2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
|
||||
expect(await contextMenu.isToggleFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C291832]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFolders();
|
||||
await searchInput.searchFor('my-inSite-folder');
|
||||
await dataTable.selectMultipleItems([ folder1Site, folder2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
|
||||
expect(await contextMenu.isToggleFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C291833]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkFilesAndFolders();
|
||||
await searchInput.searchFor('my-inSite-f');
|
||||
await dataTable.selectMultipleItems([ file1Site, file2Site, folder1Site, folder2Site ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
|
||||
expect(await contextMenu.isToggleFavoritePresent()).toBe(true, `Toggle favorite is not displayed`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
});
|
||||
});
|
||||
});
|
@ -1,697 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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';
|
||||
|
||||
describe('Context menu actions - single selection : ', () => {
|
||||
const username = `user-${Utils.random()}`;
|
||||
|
||||
const fileUser = `fileUser-${Utils.random()}.txt`; let fileUserId;
|
||||
const folderUser = `folderUser-${Utils.random()}`; let folderUserId;
|
||||
const fileInTrash = `fileForDelete-${Utils.random()}.txt`; let fileInTrashId;
|
||||
const folderInTrash = `folderForDelete-${Utils.random()}`; let folderInTrashId;
|
||||
const fileLocked = `fileLocked-${Utils.random()}.txt`; let fileLockedId;
|
||||
|
||||
const siteName = `userSite-${Utils.random()}`;
|
||||
const fileSiteUser = `fileUser-${Utils.random()}.txt`;
|
||||
const fileLockedInSite = `file-locked-site-${Utils.random()}.txt`; let fileLockedInSiteId;
|
||||
const folderSiteUser = `folderUser-${Utils.random()}`;
|
||||
|
||||
const adminPublic = `admin-public-${Utils.random()}`;
|
||||
const adminModerated = `admin-moderated-${Utils.random()}`;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable } = page;
|
||||
const contextMenu = dataTable.menu;
|
||||
const searchResultsPage = new SearchResultsPage();
|
||||
const { searchInput } = searchResultsPage.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
fileUserId = (await apis.user.nodes.createFile(fileUser)).entry.id;
|
||||
folderUserId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
|
||||
|
||||
fileLockedId = (await apis.user.nodes.createFile(fileLocked)).entry.id;
|
||||
await apis.user.nodes.lockFile(fileLockedId);
|
||||
|
||||
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
|
||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||
await apis.user.nodes.createFile(fileSiteUser, docLibId);
|
||||
fileLockedInSiteId = (await apis.user.nodes.createFile(fileLockedInSite, docLibId)).entry.id;
|
||||
await apis.user.nodes.createFolder(folderSiteUser, docLibId);
|
||||
await apis.user.nodes.lockFile(fileLockedInSiteId);
|
||||
|
||||
fileInTrashId = (await apis.user.nodes.createFiles([fileInTrash])).entry.id;
|
||||
folderInTrashId = (await apis.user.nodes.createFolders([ folderInTrash ])).entry.id;
|
||||
await apis.user.nodes.deleteNodeById(fileInTrashId, false);
|
||||
await apis.user.nodes.deleteNodeById(folderInTrashId, false);
|
||||
|
||||
await apis.user.shared.shareFileById(fileUserId);
|
||||
await apis.user.shared.shareFileById(fileLockedId);
|
||||
await apis.user.shared.waitForApi({ expect: 2 });
|
||||
|
||||
await apis.user.favorites.addFavoriteById('file', fileUserId);
|
||||
await apis.user.favorites.addFavoriteById('file', fileLockedId);
|
||||
await apis.user.favorites.addFavoriteById('folder', folderUserId);
|
||||
await apis.user.favorites.waitForApi({ expect: 4 });
|
||||
|
||||
await apis.admin.sites.createSite(adminPublic);
|
||||
await apis.admin.sites.createSite(adminModerated, SITE_VISIBILITY.MODERATED);
|
||||
await apis.user.favorites.addFavoriteById('site', adminPublic);
|
||||
await apis.user.favorites.addFavoriteById('site', adminModerated);
|
||||
await apis.user.sites.requestToJoin(adminModerated);
|
||||
|
||||
await apis.user.queries.waitForSites(siteName, { expect: 1 });
|
||||
await apis.user.queries.waitForSites(adminPublic, { expect: 1 });
|
||||
await apis.user.queries.waitForSites(adminModerated, { expect: 1 });
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.user.nodes.deleteNodeById(fileUserId);
|
||||
await apis.user.nodes.deleteNodeById(folderUserId);
|
||||
await apis.user.sites.deleteSite(siteName);
|
||||
await apis.admin.sites.deleteSite(adminPublic);
|
||||
await apis.admin.sites.deleteSite(adminModerated);
|
||||
await apis.user.trashcan.emptyTrash();
|
||||
done();
|
||||
});
|
||||
|
||||
describe('Generic tests', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Row is marked with a check circle icon on direct right click - [C286252]', async () => {
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(true, 'check mark missing');
|
||||
});
|
||||
|
||||
it('Context menu appears on direct right click on an item - [C286253]', async () => {
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
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(fileUser);
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
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(fileUser);
|
||||
await dataTable.rightClickOnItem(folderUser);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`);
|
||||
expect(await dataTable.hasCheckMarkIcon(folderUser)).toBe(true, `${folderUser} is not selected`);
|
||||
expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(false, `${fileUser} is not selected`);
|
||||
});
|
||||
|
||||
it('Context menu closes when clicking away from it - [C280619]', async () => {
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
|
||||
await page.sidenav.getActiveLink().click();
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed');
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Personal Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
await dataTable.clearSelection();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a file - [C280615]', async () => {
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileUser}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a locked file - [C297633]', async () => {
|
||||
await dataTable.rightClickOnItem(fileLocked);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileLocked}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a folder - [C280616]', async () => {
|
||||
await dataTable.rightClickOnItem(folderUser);
|
||||
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on File Libraries', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.goToMyLibrariesAndWait();
|
||||
await dataTable.doubleClickOnRowByName(siteName);
|
||||
await dataTable.waitForHeader();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a file - [C280594]', async () => {
|
||||
await dataTable.rightClickOnItem(fileSiteUser);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileSiteUser}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a locked file - [C297634]', async () => {
|
||||
await dataTable.rightClickOnItem(fileLockedInSite);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(true, `Cancel editing is displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLockedInSite}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileLockedInSite}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a folder - [C280595]', async () => {
|
||||
await dataTable.rightClickOnItem(folderSiteUser);
|
||||
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderSiteUser}`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on a library', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await dataTable.clearSelection();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Available actions for a library - My Libraries - [C290080]', async () => {
|
||||
await page.goToMyLibrariesAndWait();
|
||||
await dataTable.rightClickOnItem(siteName);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
expect(await contextMenu.isLeaveLibraryPresent()).toBe(true, `Leave is not displayed for ${siteName}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${siteName}`);
|
||||
});
|
||||
|
||||
it('Available actions for a library - Favorite Libraries - user is a member - [C290081]', async () => {
|
||||
await page.goToFavoriteLibrariesAndWait();
|
||||
await dataTable.rightClickOnItem(siteName);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
expect(await contextMenu.isLeaveLibraryPresent()).toBe(true, `Leave is not displayed for ${siteName}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${siteName}`);
|
||||
});
|
||||
|
||||
it('Available actions for a library - Favorite Libraries - user is not a member - [C290082]', async () => {
|
||||
await page.goToFavoriteLibrariesAndWait();
|
||||
await dataTable.rightClickOnItem(adminPublic);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
expect(await contextMenu.isJoinLibraryPresent()).toBe(true, `Join is not displayed for ${adminPublic}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminPublic}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${adminPublic}`);
|
||||
});
|
||||
|
||||
it('Available actions for a moderated library - Favorite Libraries - user requested to join - [C290089]', async () => {
|
||||
await page.goToFavoriteLibrariesAndWait();
|
||||
await dataTable.rightClickOnItem(adminModerated);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
expect(await contextMenu.isCancelJoinPresent()).toBe(true, `Cancel join is not displayed for ${adminModerated}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminModerated}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${adminModerated}`);
|
||||
});
|
||||
|
||||
it('Available actions for a library - Search Results - user is a member - [C291812]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkLibraries();
|
||||
await searchInput.searchFor(siteName);
|
||||
await dataTable.rightClickOnItem(siteName);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
expect(await contextMenu.isLeaveLibraryPresent()).toBe(true, `Leave is not displayed for ${siteName}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${siteName}`);
|
||||
});
|
||||
|
||||
it('Available actions for a library - Search Results - user is not a member - [C291813]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkLibraries();
|
||||
await searchInput.searchFor(adminPublic);
|
||||
await dataTable.rightClickOnItem(adminPublic);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
expect(await contextMenu.isJoinLibraryPresent()).toBe(true, `Join is not displayed for ${adminPublic}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminPublic}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${adminPublic}`);
|
||||
});
|
||||
|
||||
it('Available actions for a moderated library - Search Results - user requested to join - [C291814]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkLibraries();
|
||||
await searchInput.searchFor(adminModerated);
|
||||
await dataTable.rightClickOnItem(adminModerated);
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
expect(await contextMenu.isCancelJoinPresent()).toBe(true, `Cancel join is not displayed for ${adminModerated}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminModerated}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${adminModerated}`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Shared Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickSharedFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a file - [C280601]', async () => {
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
// TODO: change expect to true when ACA-2173 is done
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileUser}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a locked file - [C297635]', async () => {
|
||||
await dataTable.rightClickOnItem(fileLocked);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
|
||||
// TODO: change expect to true when ACA-2173 is done
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileLocked}`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Recent Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickRecentFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a file - [C280622]', async () => {
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileUser}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a locked file - [C297636]', async () => {
|
||||
await dataTable.rightClickOnItem(fileLocked);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileLocked}`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Favorites', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickFavoritesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a file - [C280608]', async () => {
|
||||
await dataTable.rightClickOnItem(fileUser);
|
||||
|
||||
// TODO: change expect to true when ACA-2174 is done
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileUser}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a locked file - [C297637]', async () => {
|
||||
await dataTable.rightClickOnItem(fileLocked);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
|
||||
// TODO: change expect to true when ACA-2174 is done
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileLocked}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a folder - [C280609]', async () => {
|
||||
await dataTable.rightClickOnItem(folderUser);
|
||||
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(true, `Move is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Trash', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickTrashAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a file - [C286258]', async () => {
|
||||
await dataTable.rightClickOnItem(fileInTrash);
|
||||
|
||||
expect(await contextMenu.isPermanentDeletePresent()).toBe(true, `Permanently delete is not displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isRestorePresent()).toBe(true, `Restore is not displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(false, `Download is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${fileInTrash}`);
|
||||
// expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileInTrash}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileInTrash}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a folder - [C286259]', async () => {
|
||||
await dataTable.rightClickOnItem(folderInTrash);
|
||||
|
||||
expect(await contextMenu.isPermanentDeletePresent()).toBe(true, `Permanently delete is not displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isRestorePresent()).toBe(true, `Restore is not displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(false, `Download is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${folderInTrash}`);
|
||||
// expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${folderInTrash}`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderInTrash}`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Search Results', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a file - [C291827]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor(fileSiteUser);
|
||||
await dataTable.rightClickOnItem(fileSiteUser);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isToggleFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileSiteUser}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileSiteUser}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a locked file - [C297638]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor(fileLocked);
|
||||
await dataTable.rightClickOnItem(fileLocked);
|
||||
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isToggleRemoveFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(true, `Upload new version not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileLocked}`);
|
||||
});
|
||||
|
||||
it('Context menu has the correct actions for a folder - [C291828]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFolders();
|
||||
await searchInput.searchFor(folderSiteUser);
|
||||
await dataTable.rightClickOnItem(folderSiteUser);
|
||||
|
||||
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isToggleFavoritePresent()).toBe(true, `Toggle favorite is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isUploadNewVersionPresent()).toBe(false, `Upload new version displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderSiteUser}`);
|
||||
expect(await contextMenu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderSiteUser}`);
|
||||
});
|
||||
});
|
||||
});
|
182
e2e/suites/actions-available/files-folders/favorites.test.ts
Executable file
182
e2e/suites/actions-available/files-folders/favorites.test.ts
Executable file
@ -0,0 +1,182 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } 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-files-folders';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('File/folder actions : on Favorites : ', () => {
|
||||
|
||||
const random = Utils.random();
|
||||
|
||||
const username = `user-${random}`;
|
||||
|
||||
const parent = `parent-${random}`; let parentId;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedFavId, fileSharedFavId, fileFavLockedId, fileSharedFavLockedId;
|
||||
let folderFavId, folderFav2Id;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
parentId = (await apis.user.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;
|
||||
|
||||
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);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.user.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
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 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) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
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.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.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.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.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.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.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.checkContextMenu(data.folderFav.name, data.folderFav.favoritesContextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
});
|
244
e2e/suites/actions-available/files-folders/personal.test.ts
Executable file
244
e2e/suites/actions-available/files-folders/personal.test.ts
Executable file
@ -0,0 +1,244 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } 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-files-folders';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('File/folder actions : on Personal Files: ', () => {
|
||||
|
||||
const random = Utils.random();
|
||||
|
||||
const username = `user-${random}`;
|
||||
|
||||
const parent = `parent-${random}`; let parentId;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
let folderFavId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable } = page;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
parentId = (await apis.user.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 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 apis.user.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
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 apis.user.favorites.waitForApi({ expect: 7 });
|
||||
await apis.user.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) => {
|
||||
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.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.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.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.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.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.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.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.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.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.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.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.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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.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.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
});
|
212
e2e/suites/actions-available/files-folders/recent.test.ts
Executable file
212
e2e/suites/actions-available/files-folders/recent.test.ts
Executable file
@ -0,0 +1,212 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } 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-files-folders';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('File actions : on Recent Files: ', () => {
|
||||
|
||||
const random = Utils.random();
|
||||
|
||||
const username = `user-${random}`;
|
||||
|
||||
const parent = `parent-${random}`; let parentId;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable } = page;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
parentId = (await apis.user.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 apis.user.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
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 apis.user.favorites.waitForApi({ expect: 6 });
|
||||
await apis.user.shared.waitForApi({ expect: 6 });
|
||||
await apis.user.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) => {
|
||||
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.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.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.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.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.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.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.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.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.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.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.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.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
291
e2e/suites/actions-available/files-folders/search.test.ts
Executable file
291
e2e/suites/actions-available/files-folders/search.test.ts
Executable file
@ -0,0 +1,291 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } 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-files-folders';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('File/folder actions : on Search Results : ', () => {
|
||||
|
||||
const random = Utils.random();
|
||||
|
||||
const username = `user-${random}`;
|
||||
|
||||
const parent = `parent-${random}`; let parentId;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
let folderFavId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { searchInput } = page.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
parentId = (await apis.user.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 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 apis.user.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
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 apis.user.favorites.waitForApi({ expect: 7 });
|
||||
await apis.user.shared.waitForApi({ expect: 6 });
|
||||
await apis.user.search.waitForApi(username, { expect: 12 });
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.user.nodes.deleteNodeById(parentId);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('on a file', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('file-');
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('File Office - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.fileDocx.name, 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.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.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.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.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.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.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.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.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.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.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.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchContextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on a folder', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFolders();
|
||||
await searchInput.searchFor('folder-');
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
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.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.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();
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
it('multiple folders - [C291821]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFolders();
|
||||
await searchInput.searchFor('folder-');
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
it('both files and folders - [C291822]', async () => {
|
||||
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.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);
|
||||
});
|
||||
});
|
||||
});
|
162
e2e/suites/actions-available/files-folders/shared.test.ts
Executable file
162
e2e/suites/actions-available/files-folders/shared.test.ts
Executable file
@ -0,0 +1,162 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } 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-files-folders';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('File actions : on Shared Files : ', () => {
|
||||
|
||||
const random = Utils.random();
|
||||
|
||||
const username = `user-${random}`;
|
||||
|
||||
const parent = `parent-${random}`; let parentId;
|
||||
|
||||
let fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
parentId = (await apis.user.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;
|
||||
|
||||
await apis.user.favorites.addFavoritesByIds('file', [
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.user.nodes.lockFile(fileSharedLockedId);
|
||||
await apis.user.nodes.lockFile(fileSharedFavLockedId);
|
||||
|
||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||
await apis.user.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) => {
|
||||
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.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.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.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.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.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.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
@ -0,0 +1,472 @@
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
|
||||
export const trashActions = ['Permanently Delete', 'Restore'];
|
||||
|
||||
// ----- files -----
|
||||
|
||||
const fileContextMenu = ['Share', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileSharedFavLockedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileToolbarPrimary = ['Share', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
const fileToolbarMore = ['Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileDocxToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileDocxContextMenu = ['Share', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileSharedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
const fileFavLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileDocxFavContextMenu = ['Share', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileDocxFavToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileDocxSharedFavContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileDocxSharedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileFavContextMenu = ['Share', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileFavToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileSharedFavContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileSharedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileFavLockedContextMenu = ['Share', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileLockedContextMenu = ['Share', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const fileSharedLockedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
|
||||
// ---- VIEWER ----
|
||||
|
||||
const viewerSharedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
|
||||
const viewerToolbarPrimary = ['Activate full-screen mode', 'Share', 'Download', 'Print', 'View Details', 'More Actions'];
|
||||
const viewerToolbarMore = ['Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const viewerFavToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const viewerDocxToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const viewerFavLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const viewerDocxFavToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
const viewerLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
|
||||
|
||||
// ---- FAVORITES workarounds ----
|
||||
|
||||
// TODO: add Edit Offline when ACA-2174 is fixed
|
||||
// TODO: change 'Share' into 'Shared Link Settings' when ACA-2175 is done
|
||||
// TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue
|
||||
|
||||
// TODO: change 'Share' into 'Shared Link Settings' when ACA-2175 is done
|
||||
const favoritesSharedToolbarPrimary = ['Share', '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
|
||||
const favoritesContextMenu = ['Share', 'Download', 'View', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
|
||||
// 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 favoritesToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
|
||||
// TODO: add Edit Offline when ACA-2174 is fixed
|
||||
// TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue
|
||||
// TODO: change 'Share' into 'Shared Link Settings' when ACA-2175 is done
|
||||
const favoritesSharedContextMenu = ['Share', 'Download', 'View', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
|
||||
|
||||
// ---- SEARCH workarounds ----
|
||||
|
||||
const searchDocxContextMenu = ['Share', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchToolbarPrimary = ['Toggle search filter', 'Share', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
const searchSharedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
const searchFavLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchSharedFavLockedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchDocxToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchFavContextMenu = ['Share', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchSharedLockedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchDocxFavContextMenu = ['Share', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchDocxFavToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchSharedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchToolbarMore = ['Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchDocxSharedFavContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchDocxSharedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchFavToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchContextMenu = ['Share', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchFavLockedContextMenu = ['Share', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchLockedContextMenu = ['Share', 'Download', 'View', 'Cancel Editing', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchSharedFavContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
|
||||
const searchViewerToolbarMore = ['Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchViewerFavToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchViewerDocxToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchViewerFavLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchViewerDocxFavToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
const searchViewerLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions', 'Permissions'];
|
||||
|
||||
// ---- SHARED workarounds ----
|
||||
|
||||
// TODO: add Edit Offline to expectedContextMenu when ACA-2173 is fixed
|
||||
const sharedFilesDocxContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit in Microsoft Office™', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
// TODO: add Edit Offline to expectedToolbarMore when ACA-2173 is fixed
|
||||
const sharedFilesDocxToolbarMore = ['Edit in Microsoft Office™', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
// TODO: add Edit Offline to expectedContextMenu when ACA-2173 is fixed
|
||||
const sharedFilesDocxSharedFavContextMenu = ['Shared Link Settings', 'Download', 'View', 'Edit in Microsoft Office™', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
// TODO: add Edit Offline to expectedToolbarMore when ACA-2173 is fixed
|
||||
const sharedFilesDocxSharedFavToolbarMore = ['Edit in Microsoft Office™', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
// TODO: add Cancel Editing to expectedContextMenu when ACA-2173 is fixed
|
||||
const sharedFilesSharedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
// TODO: add Cancel Editing to expectedToolbarMore when ACA-2173 is fixed
|
||||
const sharedFilesSharedToolbarMore = ['Upload New Version', 'Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
// TODO: add Edit Offline to expectedToolbarMore when ACA-2173 is fixed
|
||||
const sharedFilesFavSharedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
// TODO: add Cancel Editing to expectedToolbarMore when ACA-2173 is fixed
|
||||
const sharedFilesSharedFavToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
|
||||
|
||||
|
||||
|
||||
|
||||
export const fileDocx = {
|
||||
name: `file-docx-${Utils.random()}.docx`,
|
||||
description: 'file not shared, not fav, office, not locked',
|
||||
|
||||
contextMenu: fileDocxContextMenu,
|
||||
toolbarPrimary: fileToolbarPrimary,
|
||||
toolbarMore: fileDocxToolbarMore,
|
||||
viewerToolbarPrimary,
|
||||
viewerToolbarMore: viewerDocxToolbarMore,
|
||||
|
||||
searchContextMenu: searchDocxContextMenu,
|
||||
searchToolbarPrimary,
|
||||
searchToolbarMore: searchDocxToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerDocxToolbarMore
|
||||
};
|
||||
|
||||
export const fileDocxFav = {
|
||||
name: `file-docx-fav-${Utils.random()}.docx`,
|
||||
description: 'file not shared, fav, office, not locked',
|
||||
|
||||
contextMenu: fileDocxFavContextMenu,
|
||||
toolbarPrimary: fileToolbarPrimary,
|
||||
toolbarMore: fileDocxFavToolbarMore,
|
||||
viewerToolbarPrimary,
|
||||
viewerToolbarMore: viewerDocxFavToolbarMore,
|
||||
|
||||
favoritesToolbarMore,
|
||||
favoritesContextMenu,
|
||||
|
||||
searchContextMenu: searchDocxFavContextMenu,
|
||||
searchToolbarPrimary,
|
||||
searchToolbarMore: searchDocxFavToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerDocxFavToolbarMore,
|
||||
};
|
||||
|
||||
export const file = {
|
||||
name: `file-${Utils.random()}.txt`,
|
||||
description: 'file not shared, not fav, not office, not locked',
|
||||
|
||||
contextMenu: fileContextMenu,
|
||||
toolbarPrimary: fileToolbarPrimary,
|
||||
toolbarMore: fileToolbarMore,
|
||||
viewerToolbarPrimary,
|
||||
viewerToolbarMore,
|
||||
|
||||
searchViewerToolbarMore,
|
||||
searchContextMenu,
|
||||
searchToolbarPrimary,
|
||||
searchToolbarMore
|
||||
};
|
||||
|
||||
export const fileFav = {
|
||||
name: `file-fav-${Utils.random()}.txt`,
|
||||
description: 'file not shared, fav, not office, not locked',
|
||||
|
||||
contextMenu: fileFavContextMenu,
|
||||
toolbarPrimary: fileToolbarPrimary,
|
||||
toolbarMore: fileFavToolbarMore,
|
||||
viewerToolbarPrimary,
|
||||
viewerToolbarMore: viewerFavToolbarMore,
|
||||
|
||||
favoritesContextMenu,
|
||||
favoritesToolbarMore,
|
||||
|
||||
searchContextMenu: searchFavContextMenu,
|
||||
searchToolbarPrimary,
|
||||
searchToolbarMore: searchFavToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerFavToolbarMore
|
||||
};
|
||||
|
||||
export const fileDocxShared = {
|
||||
name: `file-docx-shared-${Utils.random()}.docx`,
|
||||
description: 'file shared, not fav, office, not locked',
|
||||
|
||||
contextMenu: fileDocxSharedContextMenu,
|
||||
toolbarPrimary: fileSharedToolbarPrimary,
|
||||
toolbarMore: fileDocxToolbarMore,
|
||||
viewerToolbarPrimary: viewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: viewerDocxToolbarMore,
|
||||
|
||||
searchContextMenu: searchDocxSharedContextMenu,
|
||||
searchToolbarPrimary: searchSharedToolbarPrimary,
|
||||
searchToolbarMore: searchDocxToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerDocxToolbarMore,
|
||||
|
||||
sharedContextMenu: sharedFilesDocxContextMenu,
|
||||
sharedToolbarMore: sharedFilesDocxToolbarMore
|
||||
};
|
||||
|
||||
export const fileDocxSharedFav = {
|
||||
name: `file-docx-shared-fav-${Utils.random()}.docx`,
|
||||
description: 'file shared, fav, office, not locked',
|
||||
|
||||
contextMenu: fileDocxSharedFavContextMenu,
|
||||
toolbarPrimary: fileSharedToolbarPrimary,
|
||||
toolbarMore: fileDocxFavToolbarMore,
|
||||
viewerToolbarPrimary: viewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: viewerDocxFavToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesSharedContextMenu,
|
||||
favoritesToolbarPrimary: favoritesSharedToolbarPrimary,
|
||||
favoritesToolbarMore,
|
||||
|
||||
searchContextMenu: searchDocxSharedFavContextMenu,
|
||||
searchToolbarPrimary: searchSharedToolbarPrimary,
|
||||
searchToolbarMore: searchDocxFavToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerDocxFavToolbarMore,
|
||||
|
||||
sharedContextMenu: sharedFilesDocxSharedFavContextMenu,
|
||||
sharedToolbarMore: sharedFilesDocxSharedFavToolbarMore
|
||||
};
|
||||
|
||||
export const fileShared = {
|
||||
name: `file-shared-${Utils.random()}.txt`,
|
||||
description: 'file shared, not fav, not office, not locked',
|
||||
|
||||
contextMenu: fileSharedContextMenu,
|
||||
toolbarPrimary: fileSharedToolbarPrimary,
|
||||
toolbarMore: fileToolbarMore,
|
||||
viewerToolbarPrimary: viewerSharedToolbarPrimary,
|
||||
viewerToolbarMore,
|
||||
|
||||
searchContextMenu: searchSharedContextMenu,
|
||||
searchToolbarPrimary: searchSharedToolbarPrimary,
|
||||
searchToolbarMore,
|
||||
searchViewerToolbarMore,
|
||||
|
||||
sharedContextMenu: sharedFilesSharedContextMenu,
|
||||
sharedToolbarMore: sharedFilesSharedToolbarMore
|
||||
};
|
||||
|
||||
export const fileSharedFav = {
|
||||
name: `file-shared-fav-${Utils.random()}.txt`,
|
||||
description: 'file shared, fav, not office, not locked',
|
||||
|
||||
contextMenu: fileSharedFavContextMenu,
|
||||
toolbarPrimary: fileSharedToolbarPrimary,
|
||||
toolbarMore: fileFavToolbarMore,
|
||||
viewerToolbarPrimary: viewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: viewerFavToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesSharedContextMenu,
|
||||
favoritesToolbarPrimary: favoritesSharedToolbarPrimary,
|
||||
favoritesToolbarMore,
|
||||
|
||||
searchContextMenu: searchSharedFavContextMenu,
|
||||
searchToolbarPrimary: searchSharedToolbarPrimary,
|
||||
searchToolbarMore: searchFavToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerFavToolbarMore,
|
||||
|
||||
sharedContextMenu: sharedFilesFavSharedContextMenu,
|
||||
sharedToolbarMore: sharedFilesSharedFavToolbarMore
|
||||
};
|
||||
|
||||
export const fileLocked = {
|
||||
name: `file-locked-${Utils.random()}.txt`,
|
||||
description: 'file not shared, not fav, not office, locked',
|
||||
|
||||
contextMenu: fileLockedContextMenu,
|
||||
toolbarPrimary: fileToolbarPrimary,
|
||||
toolbarMore: fileLockedToolbarMore,
|
||||
viewerToolbarPrimary,
|
||||
viewerToolbarMore: viewerLockedToolbarMore,
|
||||
|
||||
searchContextMenu: searchLockedContextMenu,
|
||||
searchToolbarPrimary,
|
||||
searchToolbarMore: searchLockedToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerLockedToolbarMore
|
||||
};
|
||||
|
||||
export const fileFavLocked = {
|
||||
name: `file-fav-locked-${Utils.random()}.txt`,
|
||||
description: 'file not shared, fav, not office, locked',
|
||||
|
||||
contextMenu: fileFavLockedContextMenu,
|
||||
toolbarPrimary: fileToolbarPrimary,
|
||||
toolbarMore: fileFavLockedToolbarMore,
|
||||
viewerToolbarPrimary,
|
||||
viewerToolbarMore: viewerFavLockedToolbarMore,
|
||||
|
||||
favoritesContextMenu,
|
||||
favoritesToolbarMore,
|
||||
|
||||
searchContextMenu: searchFavLockedContextMenu,
|
||||
searchToolbarPrimary,
|
||||
searchToolbarMore: searchFavLockedToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerFavLockedToolbarMore
|
||||
};
|
||||
|
||||
export const fileSharedLocked = {
|
||||
name: `file-shared-locked-${Utils.random()}.txt`,
|
||||
description: 'file shared, not fav, not office, locked',
|
||||
|
||||
contextMenu: fileSharedLockedContextMenu,
|
||||
toolbarPrimary: fileSharedToolbarPrimary,
|
||||
toolbarMore: fileLockedToolbarMore,
|
||||
viewerToolbarPrimary: viewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: viewerLockedToolbarMore,
|
||||
|
||||
searchContextMenu: searchSharedLockedContextMenu,
|
||||
searchToolbarPrimary: searchSharedToolbarPrimary,
|
||||
searchToolbarMore: searchLockedToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerLockedToolbarMore,
|
||||
|
||||
sharedContextMenu: sharedFilesSharedContextMenu,
|
||||
sharedToolbarMore: sharedFilesSharedToolbarMore
|
||||
};
|
||||
|
||||
export const fileSharedFavLocked = {
|
||||
name: `file-shared-fav-locked-${Utils.random()}.txt`,
|
||||
description: 'file shared, fav, not office, locked',
|
||||
|
||||
contextMenu: fileSharedFavLockedContextMenu,
|
||||
toolbarPrimary: fileSharedToolbarPrimary,
|
||||
toolbarMore: fileFavLockedToolbarMore,
|
||||
viewerToolbarPrimary: viewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: viewerFavLockedToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesSharedContextMenu,
|
||||
favoritesToolbarPrimary: favoritesSharedToolbarPrimary,
|
||||
favoritesToolbarMore,
|
||||
|
||||
searchContextMenu: searchSharedFavLockedContextMenu,
|
||||
searchToolbarPrimary: searchSharedToolbarPrimary,
|
||||
searchToolbarMore: searchFavLockedToolbarMore,
|
||||
searchViewerToolbarMore: searchViewerFavLockedToolbarMore,
|
||||
|
||||
sharedContextMenu: sharedFilesFavSharedContextMenu,
|
||||
sharedToolbarMore: sharedFilesSharedFavToolbarMore
|
||||
};
|
||||
|
||||
export const fileInTrash = {
|
||||
name: `deleted-file-${Utils.random()}.txt`,
|
||||
trashActions
|
||||
};
|
||||
|
||||
export const file2InTrash = {
|
||||
name: `deleted-file2-${Utils.random()}.txt`,
|
||||
trashActions
|
||||
};
|
||||
|
||||
export const folderInTrash = {
|
||||
name: `deleted-folder-${Utils.random()}`,
|
||||
trashActions
|
||||
};
|
||||
|
||||
export const folder2InTrash = {
|
||||
name: `deleted-folder2-${Utils.random()}`,
|
||||
trashActions
|
||||
};
|
||||
|
||||
// ---- folders ---
|
||||
|
||||
const folderContextMenu = ['Download', 'Edit', 'Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
const folderFavContextMenu = ['Download', 'Edit', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
const folderToolbarPrimary = ['Download', 'View Details', 'More Actions'];
|
||||
const folderToolbarMore = ['Edit', 'Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
const folderFavToolbarMore = ['Edit', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
|
||||
const favoritesFolderFavContextMenu = ['Download', 'Edit', 'Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
const favoritesFolderFavToolbarMore = ['Edit', 'Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
|
||||
const searchFolderContextMenu = ['Download', 'Edit', 'Favorite', 'Copy', 'Permissions'];
|
||||
const searchFolderToolbarPrimary = ['Toggle search filter', 'Download', 'View Details', 'More Actions'];
|
||||
const searchFolderToolbarMore = ['Edit', 'Favorite', 'Copy', 'Permissions'];
|
||||
const searchFolderFavContextMenu = ['Download', 'Edit', 'Remove Favorite', 'Copy', 'Permissions'];
|
||||
const searchFolderFavToolbarMore = ['Edit', 'Remove Favorite', 'Copy', 'Permissions'];
|
||||
|
||||
export const folder = {
|
||||
name: `folder-${Utils.random()}`,
|
||||
description: 'folder not favorite',
|
||||
|
||||
contextMenu: folderContextMenu,
|
||||
toolbarPrimary: folderToolbarPrimary,
|
||||
toolbarMore: folderToolbarMore,
|
||||
|
||||
searchContextMenu: searchFolderContextMenu,
|
||||
searchToolbarPrimary: searchFolderToolbarPrimary,
|
||||
searchToolbarMore: searchFolderToolbarMore
|
||||
};
|
||||
|
||||
export const folderFav = {
|
||||
name: `folder-fav-${Utils.random()}`,
|
||||
description: 'folder favorite',
|
||||
|
||||
contextMenu: folderFavContextMenu,
|
||||
toolbarPrimary: folderToolbarPrimary,
|
||||
toolbarMore: folderFavToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesFolderFavContextMenu,
|
||||
favoritesToolbarMore: favoritesFolderFavToolbarMore,
|
||||
|
||||
searchContextMenu: searchFolderFavContextMenu,
|
||||
searchToolbarPrimary: searchFolderToolbarPrimary,
|
||||
searchToolbarMore: searchFolderFavToolbarMore
|
||||
};
|
||||
|
||||
export const folderFav2 = {
|
||||
name: `folder-fav-2-${Utils.random()}`,
|
||||
description: 'folder favorite',
|
||||
|
||||
contextMenu: folderFavContextMenu,
|
||||
toolbarPrimary: folderToolbarPrimary,
|
||||
toolbarMore: folderFavToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesFolderFavContextMenu,
|
||||
favoritesToolbarMore: favoritesFolderFavToolbarMore,
|
||||
|
||||
searchContextMenu: searchFolderFavContextMenu,
|
||||
searchToolbarPrimary: searchFolderToolbarPrimary,
|
||||
searchToolbarMore: searchFolderFavToolbarMore
|
||||
};
|
||||
|
||||
// ---- multiple selection ---
|
||||
|
||||
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const multipleSelContextMenu = ['Download', 'Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const multipleSelAllFavContextMenu = ['Download', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
const multipleSelToolbarPrimary = ['Download', 'View Details', 'More Actions'];
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const multipleSelToolbarMore = ['Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const multipleSelAllFavToolbarMore = ['Remove Favorite', 'Move', 'Copy', 'Delete', 'Permissions'];
|
||||
|
||||
const favoritesMultipleSelAllFavContextMenu = ['Download', 'Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
const favoritesMultipleSelAllFavToolbarMore = ['Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const searchMultipleSelContextMenu = ['Download', 'Favorite', 'Copy', 'Permissions'];
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const searchMultipleSelAllFavContextMenu = ['Download', 'Remove Favorite', 'Copy', 'Permissions'];
|
||||
const searchMultipleSelToolbarPrimary = ['Toggle search filter', 'Download', 'View Details', 'More Actions'];
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const searchMultipleSelToolbarMore = ['Favorite', 'Copy', 'Permissions'];
|
||||
// TODO: raise issue to remove 'Permissions'
|
||||
const searchMultipleSelAllFavToolbarMore = ['Remove Favorite', 'Copy', 'Permissions'];
|
||||
|
||||
|
||||
export const multipleSel = {
|
||||
contextMenu: multipleSelContextMenu,
|
||||
toolbarPrimary: multipleSelToolbarPrimary,
|
||||
toolbarMore: multipleSelToolbarMore,
|
||||
|
||||
searchContextMenu: searchMultipleSelContextMenu,
|
||||
searchToolbarMore: searchMultipleSelToolbarMore,
|
||||
searchToolbarPrimary: searchMultipleSelToolbarPrimary
|
||||
}
|
||||
|
||||
export const multipleSelAllFav = {
|
||||
contextMenu: multipleSelAllFavContextMenu,
|
||||
toolbarPrimary: multipleSelToolbarPrimary,
|
||||
toolbarMore: multipleSelAllFavToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesMultipleSelAllFavContextMenu,
|
||||
favoritesToolbarMore: favoritesMultipleSelAllFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMultipleSelToolbarPrimary,
|
||||
searchContextMenu: searchMultipleSelAllFavContextMenu,
|
||||
searchToolbarMore: searchMultipleSelAllFavToolbarMore
|
||||
}
|
106
e2e/suites/actions-available/files-folders/trash.test.ts
Executable file
106
e2e/suites/actions-available/files-folders/trash.test.ts
Executable file
@ -0,0 +1,106 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } from '../../../pages/pages';
|
||||
import { RepoClient } from '../../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
import * as data from './test-data-files-folders';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('File/folder actions : on Trash : ', () => {
|
||||
|
||||
const username = `user-${Utils.random()}`;
|
||||
|
||||
let fileInTrashId, file2InTrashId, folderInTrashId, folder2InTrashId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.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;
|
||||
|
||||
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 apis.user.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) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('on a file - [C286258]', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.fileInTrash.name, data.fileInTrash.trashActions);
|
||||
await testUtil.checkContextMenu(data.fileInTrash.name, data.fileInTrash.trashActions);
|
||||
});
|
||||
|
||||
it('on a folder - [C286259]', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.folderInTrash.name, data.folderInTrash.trashActions);
|
||||
await testUtil.checkContextMenu(data.folderInTrash.name, data.folderInTrash.trashActions);
|
||||
});
|
||||
|
||||
it('multiple files - [C280472]', async () => {
|
||||
await testUtil.checkMultipleSelContextMenu([ data.fileInTrash.name, data.file2InTrash.name ], data.trashActions);
|
||||
await testUtil.checkMultipleSelToolbarPrimary([ data.fileInTrash.name, data.file2InTrash.name ], data.trashActions);
|
||||
});
|
||||
|
||||
it('multiple folders - [C280473]', async () => {
|
||||
await testUtil.checkMultipleSelContextMenu([ data.folderInTrash.name, data.folder2InTrash.name ], data.trashActions);
|
||||
await testUtil.checkMultipleSelToolbarPrimary([ data.folderInTrash.name, data.folder2InTrash.name ], data.trashActions);
|
||||
});
|
||||
|
||||
it('both files and folders - [C280474]', async () => {
|
||||
await testUtil.checkMultipleSelContextMenu([ data.fileInTrash.name, data.folderInTrash.name ], data.trashActions);
|
||||
await testUtil.checkMultipleSelToolbarPrimary([ data.fileInTrash.name, data.folderInTrash.name ], data.trashActions);
|
||||
});
|
||||
|
||||
});
|
421
e2e/suites/actions-available/files-folders/viewer.test.ts
Executable file
421
e2e/suites/actions-available/files-folders/viewer.test.ts
Executable file
@ -0,0 +1,421 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } 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-files-folders';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('File/folder actions : in the viewer : ', () => {
|
||||
|
||||
const random = Utils.random();
|
||||
|
||||
const username = `user-${random}`;
|
||||
|
||||
const parent = `parent-${random}`; let parentId;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable } = page;
|
||||
const { searchInput } = page.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
parentId = (await apis.user.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 apis.user.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
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 apis.user.favorites.waitForApi({ expect: 6 });
|
||||
await apis.user.shared.waitForApi({ expect: 6 });
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.user.nodes.deleteNodeById(parentId);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('file opened from Personal Files', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
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);
|
||||
});
|
||||
|
||||
it('File Office, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, 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);
|
||||
});
|
||||
|
||||
it('File Office, shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
describe('file opened from Recent Files', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
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);
|
||||
});
|
||||
|
||||
it('File Office, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, 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);
|
||||
});
|
||||
|
||||
it('File Office, shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
describe('file opened from Favorites', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
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);
|
||||
});
|
||||
|
||||
it('File favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
describe('file opened from Shared Files', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
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);
|
||||
});
|
||||
|
||||
it('File Office, shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
describe('file opened from Search Results', () => {
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('file-');
|
||||
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.searchViewerToolbarMore);
|
||||
});
|
||||
|
||||
it('File Office, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, 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);
|
||||
});
|
||||
|
||||
it('File Office, shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchViewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
224
e2e/suites/actions-available/generic.test.ts
Executable file
224
e2e/suites/actions-available/generic.test.ts
Executable file
@ -0,0 +1,224 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { browser, protractor } from 'protractor';
|
||||
import { LoginPage, BrowsingPage } from '../../pages/pages';
|
||||
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../utilities/utils';
|
||||
|
||||
|
||||
describe('Generic tests : ', () => {
|
||||
|
||||
const random = Utils.random();
|
||||
|
||||
const username = `user-${random}`;
|
||||
|
||||
const parent = `parent-${random}`; let parentId;
|
||||
|
||||
const file1 = `file1-${random}.txt`;
|
||||
const file2 = `file2-${random}.txt`;
|
||||
|
||||
const folder1 = `my-folder1-${Utils.random()}`;
|
||||
const folder2 = `my-folder2-${Utils.random()}`;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
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 });
|
||||
|
||||
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 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) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
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('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 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');
|
||||
});
|
||||
|
||||
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 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`);
|
||||
});
|
||||
});
|
||||
|
||||
it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => {
|
||||
await dataTable.selectMultipleItems([ file1, file2 ]);
|
||||
await dataTable.rightClickOnMultipleSelection();
|
||||
|
||||
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
|
||||
});
|
||||
|
||||
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 for ${file1}`);
|
||||
expect(await dataTable.countSelectedRows()).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('Unselect items with single click - [C280458]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
|
||||
|
||||
expect(await dataTable.countSelectedRows()).toEqual(4, 'incorrect selected rows number');
|
||||
|
||||
await dataTable.clickItem(file1);
|
||||
|
||||
expect(await dataTable.countSelectedRows()).toEqual(1, '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.countSelectedRows()).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.countSelectedRows()).toEqual(2, 'incorrect selected rows number');
|
||||
});
|
||||
});
|
328
e2e/suites/actions-available/libraries/library.test.ts
Executable file
328
e2e/suites/actions-available/libraries/library.test.ts
Executable file
@ -0,0 +1,328 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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 * 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 loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const searchResultsPage = new SearchResultsPage();
|
||||
const { searchInput } = searchResultsPage.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.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);
|
||||
|
||||
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;
|
||||
|
||||
await apis.admin.sites.createSite(data.publicNotMemberFav.name);
|
||||
await apis.admin.sites.createSite(data.moderatedNotMemberFav.name, SITE_VISIBILITY.MODERATED);
|
||||
|
||||
await apis.admin.sites.createSite(data.publicNotMemberNotFav.name);
|
||||
await apis.admin.sites.createSite(data.moderatedNotMemberNotFav.name, SITE_VISIBILITY.MODERATED);
|
||||
|
||||
await apis.admin.sites.createSite(data.moderatedRequestedJoinFav.name, SITE_VISIBILITY.MODERATED);
|
||||
await apis.admin.sites.createSite(data.moderatedRequestedJoinNotFav.name, SITE_VISIBILITY.MODERATED);
|
||||
|
||||
await apis.user.sites.createSite(data.siteInTrash.name, SITE_VISIBILITY.PUBLIC);
|
||||
await apis.user.sites.createSite(data.site2InTrash.name, SITE_VISIBILITY.PUBLIC);
|
||||
|
||||
await apis.user.sites.waitForApi({ expect: 8 });
|
||||
await apis.admin.sites.waitForApi({ expect: 6 });
|
||||
|
||||
await apis.user.favorites.removeFavoriteById(publicUserMemberNotFavId);
|
||||
await apis.user.favorites.removeFavoriteById(privateUserMemberNotFavId);
|
||||
await apis.user.favorites.removeFavoriteById(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 apis.user.sites.requestToJoin(data.moderatedRequestedJoinFav.name);
|
||||
await apis.user.sites.requestToJoin(data.moderatedRequestedJoinNotFav.name);
|
||||
|
||||
await apis.user.queries.waitForSites('site-', { expect: 13 });
|
||||
|
||||
await apis.user.sites.deleteSite(data.siteInTrash.name, false);
|
||||
await apis.user.sites.deleteSite(data.site2InTrash.name, false);
|
||||
|
||||
await apis.user.trashcan.waitForApi({ expect: 2 });
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Promise.all([
|
||||
apis.user.sites.deleteSites([
|
||||
data.publicUserMemberFav.name,
|
||||
data.privateUserMemberFav.name,
|
||||
data.moderatedUserMemberFav.name,
|
||||
data.publicUserMemberNotFav.name,
|
||||
data.privateUserMemberNotFav.name,
|
||||
data.moderatedUserMemberNotFav.name
|
||||
]),
|
||||
apis.admin.sites.deleteSites([
|
||||
data.publicNotMemberFav.name,
|
||||
data.moderatedNotMemberFav.name,
|
||||
data.publicNotMemberNotFav.name,
|
||||
data.moderatedNotMemberNotFav.name,
|
||||
data.moderatedRequestedJoinFav.name,
|
||||
data.moderatedRequestedJoinNotFav.name
|
||||
]),
|
||||
apis.user.trashcan.emptyTrash()
|
||||
]);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('on My Libraries', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.goToMyLibrariesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Public library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicUserMemberFav.name, data.publicUserMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicUserMemberFav.name, data.publicUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicUserMemberFav.name, data.publicUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Private library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.privateUserMemberFav.name, data.privateUserMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.privateUserMemberFav.name, data.privateUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.privateUserMemberFav.name, data.privateUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Public library, user is a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicUserMemberNotFav.name, data.publicUserMemberNotFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicUserMemberNotFav.name, data.publicUserMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicUserMemberNotFav.name, data.publicUserMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Private library, user is a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.privateUserMemberNotFav.name, data.privateUserMemberNotFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.privateUserMemberNotFav.name, data.privateUserMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.privateUserMemberNotFav.name, data.privateUserMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user is a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedUserMemberNotFav.name, data.moderatedUserMemberNotFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedUserMemberNotFav.name, data.moderatedUserMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedUserMemberNotFav.name, data.moderatedUserMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('on Favorite Libraries', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.goToFavoriteLibrariesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Public library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicUserMemberFav.name, data.publicUserMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicUserMemberFav.name, data.publicUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicUserMemberFav.name, data.publicUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Private library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.privateUserMemberFav.name, data.privateUserMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.privateUserMemberFav.name, data.privateUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.privateUserMemberFav.name, data.privateUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Public library, user not a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicNotMemberFav.name, data.publicNotMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicNotMemberFav.name, data.publicNotMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicNotMemberFav.name, data.publicNotMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user not a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedNotMemberFav.name, data.moderatedNotMemberFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedNotMemberFav.name, data.moderatedNotMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedNotMemberFav.name, data.moderatedNotMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user requested to join, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedRequestedJoinFav.name, data.moderatedRequestedJoinFav.toolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedRequestedJoinFav.name, data.moderatedRequestedJoinFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedRequestedJoinFav.name, data.moderatedRequestedJoinFav.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Search Results', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkLibraries();
|
||||
await searchInput.searchFor('site-');
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Public library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicUserMemberFav.name, data.publicUserMemberFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicUserMemberFav.name, data.publicUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicUserMemberFav.name, data.publicUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Private library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.privateUserMemberFav.name, data.privateUserMemberFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.privateUserMemberFav.name, data.privateUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.privateUserMemberFav.name, data.privateUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user is a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedUserMemberFav.name, data.moderatedUserMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Public library, user is a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicUserMemberNotFav.name, data.publicUserMemberNotFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicUserMemberNotFav.name, data.publicUserMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicUserMemberNotFav.name, data.publicUserMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Private library, user is a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.privateUserMemberNotFav.name, data.privateUserMemberNotFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.privateUserMemberNotFav.name, data.privateUserMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.privateUserMemberNotFav.name, data.privateUserMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user is a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedUserMemberNotFav.name, data.moderatedUserMemberNotFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedUserMemberNotFav.name, data.moderatedUserMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedUserMemberNotFav.name, data.moderatedUserMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Public library, user not a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicNotMemberFav.name, data.publicNotMemberFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicNotMemberFav.name, data.publicNotMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicNotMemberFav.name, data.publicNotMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user not a member, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedNotMemberFav.name, data.moderatedNotMemberFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedNotMemberFav.name, data.moderatedNotMemberFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedNotMemberFav.name, data.moderatedNotMemberFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Public library, user not a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.publicNotMemberNotFav.name, data.publicNotMemberNotFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.publicNotMemberNotFav.name, data.publicNotMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.publicNotMemberNotFav.name, data.publicNotMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user not a member, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedNotMemberNotFav.name, data.moderatedNotMemberNotFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedNotMemberNotFav.name, data.moderatedNotMemberNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedNotMemberNotFav.name, data.moderatedNotMemberNotFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user requested to join, favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedRequestedJoinFav.name, data.moderatedRequestedJoinFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedRequestedJoinFav.name, data.moderatedRequestedJoinFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedRequestedJoinFav.name, data.moderatedRequestedJoinFav.contextMenu);
|
||||
});
|
||||
|
||||
it('Moderated library, user requested to join, not favorite - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.moderatedRequestedJoinNotFav.name, data.moderatedRequestedJoinNotFav.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.moderatedRequestedJoinNotFav.name, data.moderatedRequestedJoinNotFav.toolbarMore);
|
||||
await testUtil.checkContextMenu(data.moderatedRequestedJoinNotFav.name, data.moderatedRequestedJoinNotFav.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Trash', () => {
|
||||
beforeEach(async (done) => {
|
||||
await page.clickTrashAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('single library - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.siteInTrash.name, data.siteInTrash.trashActions);
|
||||
await testUtil.checkContextMenu(data.siteInTrash.name, data.siteInTrash.trashActions);
|
||||
});
|
||||
|
||||
it('multiple libraries - []', async () => {
|
||||
await testUtil.checkMultipleSelContextMenu([ data.siteInTrash.name, data.site2InTrash.name ], data.trashActions);
|
||||
await testUtil.checkMultipleSelToolbarPrimary([ data.siteInTrash.name, data.site2InTrash.name ], data.trashActions);
|
||||
});
|
||||
});
|
||||
});
|
156
e2e/suites/actions-available/libraries/test-data-libraries.ts
Normal file
156
e2e/suites/actions-available/libraries/test-data-libraries.ts
Normal file
@ -0,0 +1,156 @@
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
|
||||
|
||||
// ---- multiple selection ---
|
||||
|
||||
export const trashActions = ['Permanently Delete', 'Restore'];
|
||||
|
||||
|
||||
// ---- single selection ----
|
||||
|
||||
const memberFavContextMenu = ['Leave Library', 'Delete', 'Remove Favorite'];
|
||||
const memberNotFavContextMenu = ['Leave Library', 'Delete', 'Favorite'];
|
||||
const memberToolbarPrimary = ['Leave Library', 'View Details', 'More Actions'];
|
||||
const favToolbarMore = ['Delete', 'Remove Favorite'];
|
||||
const notFavToolbarMore = ['Delete', 'Favorite'];
|
||||
const searchMemberToolbarPrimary = ['Toggle search filter', 'Leave Library', 'View Details', 'More Actions'];
|
||||
const searchReqJoinToolbarPrimary = ['Toggle search filter', 'Cancel Join Request', 'View Details', 'More Actions'];
|
||||
const searchNotMemberToolbarPrimary = ['Toggle search filter', 'Join', 'View Details', 'More Actions'];
|
||||
const reqJoinToolbarMore = ['Cancel Join Request', 'View Details', 'More Actions'];
|
||||
const notMemberFavContextMenu = ['Join', 'Delete', 'Remove Favorite'];
|
||||
const notMemberNotFavContextMenu = ['Join', 'Delete', 'Favorite'];
|
||||
const notMemberToolbarPrimary = ['Join', 'View Details', 'More Actions'];
|
||||
const reqJoinNotFavContextMenu = ['Cancel Join Request', 'Delete', 'Favorite'];
|
||||
const reqJoinFavContextMenu = ['Cancel Join Request', 'Delete', 'Remove Favorite'];
|
||||
|
||||
|
||||
export const publicUserMemberFav = {
|
||||
name: `site-public-member-fav-${Utils.random()}`,
|
||||
description: 'public site, user member, user favorite',
|
||||
contextMenu: memberFavContextMenu,
|
||||
toolbarPrimary: memberToolbarPrimary,
|
||||
toolbarMore: favToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const privateUserMemberFav = {
|
||||
name: `site-private-member-fav-${Utils.random()}`,
|
||||
description: 'private site, user member, user favorite',
|
||||
contextMenu: memberFavContextMenu,
|
||||
toolbarPrimary: memberToolbarPrimary,
|
||||
toolbarMore: favToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const moderatedUserMemberFav = {
|
||||
name: `site-moderated-member-fav-${Utils.random()}`,
|
||||
description: 'moderated site, user member, user favorite',
|
||||
contextMenu: memberFavContextMenu,
|
||||
toolbarPrimary: memberToolbarPrimary,
|
||||
toolbarMore: favToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const publicUserMemberNotFav = {
|
||||
name: `site-public-member-not-fav-${Utils.random()}`,
|
||||
description: 'public site, user member, not favorite',
|
||||
contextMenu: memberNotFavContextMenu,
|
||||
toolbarPrimary: memberToolbarPrimary,
|
||||
toolbarMore: notFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const privateUserMemberNotFav = {
|
||||
name: `site-private-member-not-fav-${Utils.random()}`,
|
||||
description: 'private site, user member, not favorite',
|
||||
contextMenu: memberNotFavContextMenu,
|
||||
toolbarPrimary: memberToolbarPrimary,
|
||||
toolbarMore: notFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const moderatedUserMemberNotFav = {
|
||||
name: `site-moderated-member-not-fav-${Utils.random()}`,
|
||||
description: 'moderated site, user member, not favorite',
|
||||
contextMenu: memberNotFavContextMenu,
|
||||
toolbarPrimary: memberToolbarPrimary,
|
||||
toolbarMore: notFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const publicNotMemberFav = {
|
||||
name: `site-public-not-member-fav-${Utils.random()}`,
|
||||
description: 'public site, user not member, user favorite',
|
||||
contextMenu: notMemberFavContextMenu,
|
||||
toolbarPrimary: notMemberToolbarPrimary,
|
||||
toolbarMore: favToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchNotMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const moderatedNotMemberFav = {
|
||||
name: `site-moderated-not-member-fav-${Utils.random()}`,
|
||||
description: 'moderated site, user not member, user favorite',
|
||||
contextMenu: notMemberFavContextMenu,
|
||||
toolbarPrimary: notMemberToolbarPrimary,
|
||||
toolbarMore: favToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchNotMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const publicNotMemberNotFav = {
|
||||
name: `site-public-not-member-not-fav-${Utils.random()}`,
|
||||
description: 'public site, user not member, not favorite',
|
||||
contextMenu: notMemberNotFavContextMenu,
|
||||
toolbarPrimary: notMemberToolbarPrimary,
|
||||
toolbarMore: notFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchNotMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const moderatedNotMemberNotFav = {
|
||||
name: `site-moderated-not-member-not-fav-${Utils.random()}`,
|
||||
description: 'moderated site, user not member, not favorite',
|
||||
contextMenu: notMemberNotFavContextMenu,
|
||||
toolbarPrimary: notMemberToolbarPrimary,
|
||||
toolbarMore: notFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchNotMemberToolbarPrimary
|
||||
};
|
||||
|
||||
export const moderatedRequestedJoinFav = {
|
||||
name: `site-moderated-req-join-fav-${Utils.random()}`,
|
||||
description: 'moderated site, user requested join, user favorite',
|
||||
contextMenu: reqJoinFavContextMenu,
|
||||
toolbarPrimary: reqJoinToolbarMore,
|
||||
toolbarMore: favToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchReqJoinToolbarPrimary
|
||||
};
|
||||
|
||||
export const moderatedRequestedJoinNotFav = {
|
||||
name: `site-moderated-req-join-not-fav-${Utils.random()}`,
|
||||
description: 'moderated site, user requested join, not favorite',
|
||||
contextMenu: reqJoinNotFavContextMenu,
|
||||
toolbarPrimary: reqJoinToolbarMore,
|
||||
toolbarMore: notFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchReqJoinToolbarPrimary
|
||||
};
|
||||
|
||||
export const siteInTrash = {
|
||||
name: `deleted-site-${Utils.random()}`,
|
||||
trashActions
|
||||
};
|
||||
|
||||
export const site2InTrash = {
|
||||
name: `deleted-site2-${Utils.random()}`,
|
||||
trashActions
|
||||
};
|
||||
|
File diff suppressed because it is too large
Load Diff
841
e2e/suites/actions-available/special-permissions/other-permissions.test.ts
Executable file
841
e2e/suites/actions-available/special-permissions/other-permissions.test.ts
Executable file
@ -0,0 +1,841 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages';
|
||||
import { SITE_VISIBILITY, SITE_ROLES, FILES } from '../../../configs';
|
||||
import { RepoClient } from '../../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
import { Viewer } from '../../../components/viewer/viewer';
|
||||
|
||||
describe('', () => {
|
||||
const userConsumer = `consumer-${Utils.random()}`;
|
||||
const userCollaborator = `collaborator-${Utils.random()}`;
|
||||
const userDemoted = `demoted-${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 folder1 = `my-folder1-${Utils.random()}`;
|
||||
let folder1Id;
|
||||
const folder2 = `my-folder2-${Utils.random()}`;
|
||||
let folder2Id;
|
||||
|
||||
const docxFile = FILES.docxFile;
|
||||
let docxFileId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
userConsumer: new RepoClient(userConsumer, userConsumer),
|
||||
userCollaborator: new RepoClient(userCollaborator, userCollaborator),
|
||||
userDemoted: new RepoClient(userDemoted, userDemoted)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable, toolbar } = page;
|
||||
const viewer = new Viewer();
|
||||
const viewerToolbar = viewer.toolbar;
|
||||
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 });
|
||||
|
||||
await apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
|
||||
const docLibId = await apis.admin.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;
|
||||
|
||||
docxFileId = (await apis.admin.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);
|
||||
|
||||
fileLockedId = (await apis.admin.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 apis.admin.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.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);
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.admin.sites.deleteSite(siteName);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('Collaborator', () => {
|
||||
beforeAll(async (done) => {
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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}`);
|
||||
// TODO: replace with isSharedLinkSettingsPresent when ACA-2175 is done
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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();
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('File locked - lock owner : ', () => {
|
||||
beforeAll(async (done) => {
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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}`);
|
||||
// TODO: replace with isSharedLinkSettingsPresent when ACA-2175 is done
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
it('on Search Results - [C297660]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor(fileLocked);
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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();
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('File locked - manager : ', () => {
|
||||
beforeAll(async (done) => {
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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}`);
|
||||
// TODO: replace with isSharedLinkSettingsPresent when ACA-2175 is done
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
it('on Search Results - [C297667]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor(fileLocked);
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
|
||||
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();
|
||||
|
||||
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`);
|
||||
|
||||
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();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
198
e2e/suites/actions-available/special-permissions/permissions-favorites.test.ts
Executable file
198
e2e/suites/actions-available/special-permissions/permissions-favorites.test.ts
Executable file
@ -0,0 +1,198 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } from '../../../pages/pages';
|
||||
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
|
||||
import { RepoClient } from '../../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
import * as data from './test-data-permissions';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('Special permissions actions : on Favorites : ', () => {
|
||||
|
||||
const site = `site-private-${Utils.random()}`;
|
||||
|
||||
const userConsumer = `consumer-${Utils.random()}`;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedFavId, fileSharedFavId, fileFavLockedId, fileSharedFavLockedId;
|
||||
let folderFavId, folderFav2Id;
|
||||
|
||||
const file3 = `file-3-${Utils.random()}.txt`;
|
||||
let file3Id;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
userConsumer: new RepoClient(userConsumer, userConsumer)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.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);
|
||||
|
||||
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;
|
||||
|
||||
file3Id = (await apis.admin.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);
|
||||
|
||||
await apis.userConsumer.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId,
|
||||
file3Id
|
||||
]);
|
||||
|
||||
await apis.userConsumer.shared.shareFilesByIds([
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileSharedFavLockedId,
|
||||
file3Id
|
||||
]);
|
||||
|
||||
await apis.admin.nodes.lockFile(fileFavLockedId);
|
||||
await apis.admin.nodes.lockFile(fileSharedFavLockedId);
|
||||
|
||||
await apis.admin.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 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) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
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.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.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.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.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.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.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.checkContextMenu(data.folderFav.name, data.folderFav.favoritesContextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
@ -0,0 +1,266 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } from '../../../pages/pages';
|
||||
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
|
||||
import { RepoClient } from '../../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
import * as data from './test-data-permissions';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('Special permissions actions : on File Libraries : ', () => {
|
||||
|
||||
const site = `site-private-${Utils.random()}`;
|
||||
|
||||
const userConsumer = `consumer-${Utils.random()}`;
|
||||
|
||||
const file3 = `file-3-${Utils.random()}.txt`;
|
||||
let file3Id;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
let folderFavId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
userConsumer: 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 });
|
||||
|
||||
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 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;
|
||||
|
||||
file3Id = (await apis.admin.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();
|
||||
});
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.userConsumer.favorites.addFavoriteById('folder', folderFavId);
|
||||
|
||||
await apis.userConsumer.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId,
|
||||
file3Id
|
||||
]);
|
||||
|
||||
await apis.userConsumer.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
fileSharedFavLockedId,
|
||||
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 apis.admin.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();
|
||||
});
|
||||
|
||||
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) => {
|
||||
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.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.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.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.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.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.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.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.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.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.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.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.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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.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.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
});
|
310
e2e/suites/actions-available/special-permissions/permissions-search.test.ts
Executable file
310
e2e/suites/actions-available/special-permissions/permissions-search.test.ts
Executable file
@ -0,0 +1,310 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } from '../../../pages/pages';
|
||||
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
|
||||
import { RepoClient } from '../../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
import * as data from './test-data-permissions';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('Special permissions actions : on Search Results : ', () => {
|
||||
|
||||
const site = `site-private-${Utils.random()}`;
|
||||
|
||||
const userConsumer = `consumer-${Utils.random()}`;
|
||||
|
||||
const file3 = `file-3-${Utils.random()}.txt`;
|
||||
let file3Id;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
let folderFavId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
userConsumer: new RepoClient(userConsumer, userConsumer)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { searchInput } = page.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.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 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;
|
||||
|
||||
file3Id = (await apis.admin.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 apis.userConsumer.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId,
|
||||
file3Id
|
||||
]);
|
||||
|
||||
await apis.userConsumer.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
fileSharedFavLockedId,
|
||||
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 apis.admin.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 loginPage.loginWith(userConsumer);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.admin.sites.deleteSite(site);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('on a file', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('file-');
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('File Office - []', async () => {
|
||||
await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.searchToolbarPrimary);
|
||||
await testUtil.checkToolbarMoreActions(data.fileDocx.name, 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.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.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.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.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.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.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.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.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.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.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.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on a folder', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFolders();
|
||||
await searchInput.searchFor('folder-');
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
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.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.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();
|
||||
});
|
||||
|
||||
it('multiple files - []', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('file-');
|
||||
|
||||
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 - all favorite - []', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('file-');
|
||||
|
||||
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 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 folders - []', async () => {
|
||||
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);
|
||||
});
|
||||
|
||||
it('both files and folders - []', async () => {
|
||||
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);
|
||||
});
|
||||
});
|
||||
});
|
179
e2e/suites/actions-available/special-permissions/permissions-shared.test.ts
Executable file
179
e2e/suites/actions-available/special-permissions/permissions-shared.test.ts
Executable file
@ -0,0 +1,179 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } from '../../../pages/pages';
|
||||
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
|
||||
import { RepoClient } from '../../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
import * as data from './test-data-permissions';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('Special permissions actions : on Shared Files : ', () => {
|
||||
|
||||
const site = `site-private-${Utils.random()}`;
|
||||
|
||||
const userConsumer = `consumer-${Utils.random()}`;
|
||||
|
||||
const file3 = `file-3-${Utils.random()}.txt`;
|
||||
let file3Id;
|
||||
|
||||
let fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
userConsumer: new RepoClient(userConsumer, userConsumer)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.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);
|
||||
|
||||
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;
|
||||
|
||||
file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id;
|
||||
|
||||
await apis.userConsumer.favorites.addFavoritesByIds('file', [
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileSharedFavLockedId,
|
||||
file3Id
|
||||
]);
|
||||
|
||||
await apis.userConsumer.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
fileSharedFavLockedId,
|
||||
file3Id
|
||||
]);
|
||||
|
||||
await apis.admin.nodes.lockFile(fileSharedLockedId);
|
||||
await apis.admin.nodes.lockFile(fileSharedFavLockedId);
|
||||
|
||||
await apis.admin.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 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) => {
|
||||
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.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.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.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.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.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.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu);
|
||||
});
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
|
||||
});
|
401
e2e/suites/actions-available/special-permissions/permissions-viewer.test.ts
Executable file
401
e2e/suites/actions-available/special-permissions/permissions-viewer.test.ts
Executable file
@ -0,0 +1,401 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { LoginPage, BrowsingPage } from '../../../pages/pages';
|
||||
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
|
||||
import { RepoClient } from '../../../utilities/repo-client/repo-client';
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
import * as data from './test-data-permissions';
|
||||
import * as testUtil from '../test-util';
|
||||
|
||||
describe('Special permissions actions : in the Viewer : ', () => {
|
||||
|
||||
const site = `site-private-${Utils.random()}`;
|
||||
|
||||
const userConsumer = `consumer-${Utils.random()}`;
|
||||
|
||||
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
userConsumer: new RepoClient(userConsumer, userConsumer)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable } = page;
|
||||
const { searchInput } = page.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.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 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;
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.userConsumer.favorites.addFavoritesByIds('file', [
|
||||
fileDocxFavId,
|
||||
fileFavId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedFavId,
|
||||
fileFavLockedId,
|
||||
fileSharedFavLockedId
|
||||
]);
|
||||
|
||||
await apis.userConsumer.shared.shareFilesByIds([
|
||||
fileDocxSharedId,
|
||||
fileDocxSharedFavId,
|
||||
fileSharedId,
|
||||
fileSharedFavId,
|
||||
fileSharedLockedId,
|
||||
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 apis.userConsumer.favorites.waitForApi({ expect: 6 });
|
||||
await apis.userConsumer.shared.waitForApi({ expect: 6 });
|
||||
done();
|
||||
});
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await loginPage.loginWith(userConsumer);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await apis.admin.sites.deleteSite(site);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('file opened from File Libraries', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
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);
|
||||
});
|
||||
|
||||
it('File Office, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, 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);
|
||||
});
|
||||
|
||||
it('File Office, shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
describe('file opened from Favorites', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
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);
|
||||
});
|
||||
|
||||
it('File favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
describe('file opened from Shared Files', () => {
|
||||
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
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);
|
||||
});
|
||||
|
||||
it('File Office, shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, 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);
|
||||
});
|
||||
|
||||
it('File shared, favorite, locked - []', async () => {
|
||||
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
|
||||
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
|
||||
});
|
||||
});
|
||||
|
||||
describe('file opened from Search Results', () => {
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('file-');
|
||||
done();
|
||||
});
|
||||
|
||||
afterEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
|
||||
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);
|
||||
});
|
||||
});
|
||||
});
|
@ -0,0 +1,335 @@
|
||||
import { Utils } from '../../../utilities/utils';
|
||||
|
||||
|
||||
// ----- files -----
|
||||
|
||||
const consumerContextMenu = ['Share', 'Download', 'View', 'Favorite', 'Copy', 'Manage Versions'];
|
||||
const consumerFavContextMenu = ['Share', 'Download', 'View', 'Remove Favorite', 'Copy', 'Manage Versions'];
|
||||
const consumerSharedContextMenu = ['Shared Link Settings', 'Download', 'View', 'Favorite', 'Copy', 'Manage Versions'];
|
||||
const consumerSharedFavContextMenu = ['Shared Link Settings', 'Download', 'View', 'Remove Favorite', 'Copy', 'Manage Versions'];
|
||||
|
||||
const consumerToolbarPrimary = ['Share', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
const consumerSharedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
|
||||
const searchConsumerToolbarPrimary = ['Toggle search filter', 'Share', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
const searchConsumerSharedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
|
||||
const consumerToolbarMore = ['Favorite', 'Copy', 'Manage Versions'];
|
||||
const consumerFavToolbarMore = ['Remove Favorite', 'Copy', 'Manage Versions'];
|
||||
|
||||
// ---- VIEWER ----
|
||||
|
||||
const consumerViewerSharedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
|
||||
const consumerViewerToolbarPrimary = ['Activate full-screen mode', 'Share', 'Download', 'Print', 'View Details', 'More Actions'];
|
||||
const consumerViewerFavToolbarMore = ['Remove Favorite', 'Copy', 'Manage Versions'];
|
||||
const consumerViewerToolbarMore = ['Favorite', 'Copy', 'Manage Versions'];
|
||||
|
||||
// ---- FAVORITES workarounds ----
|
||||
|
||||
// TODO: remove 'Move' and 'Delete' when ACA-1737 is done
|
||||
// TODO: remove 'Upload New Version' when ACA-2175 is done
|
||||
const favoritesConsumerToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
|
||||
// TODO: remove 'Move' and 'Delete' when ACA-1737 is done
|
||||
// TODO: remove 'Upload New Version' when ACA-2175 is done
|
||||
const favoritesConsumerContextMenu = ['Share', 'Download', 'View', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
|
||||
// TODO: remove 'Move' and 'Delete' when ACA-1737 is done
|
||||
// TODO: remove 'Upload New Version' when ACA-2175 is done
|
||||
// TODO: change 'Share' into 'Shared Link Settings' when ACA-2175 is done
|
||||
const favoritesConsumerSharedContextMenu = ['Share', 'Download', 'View', 'Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
|
||||
// TODO: change 'Share' into 'Shared Link Settings' when ACA-2175 is done
|
||||
const favoritesConsumerSharedToolbarPrimary = ['Share', 'Download', 'View', 'View Details', 'More Actions'];
|
||||
|
||||
|
||||
// ---- SHARED FILES workaround ----
|
||||
|
||||
// TODO: remove 'Upload New Version' when ACA-2173 is done
|
||||
const sharedConsumerToolbarMore = ['Upload New Version', 'Favorite', 'Copy', 'Manage Versions'];
|
||||
// TODO: remove 'Upload New Version' when ACA-2173 is done
|
||||
const sharedConsumerFavToolbarMore = ['Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
|
||||
// TODO: remove 'Upload New Version' when ACA-2173 is done
|
||||
const sharedConsumerContextMenu = ['Shared Link Settings', 'Download', 'View', 'Upload New Version', 'Favorite', 'Copy', 'Manage Versions'];
|
||||
// TODO: remove 'Upload New Version' when ACA-2173 is done
|
||||
const sharedConsumerFavContextMenu = ['Shared Link Settings', 'Download', 'View', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
|
||||
|
||||
|
||||
export const fileDocx = {
|
||||
name: `file-docx-${Utils.random()}.docx`,
|
||||
description: 'file not shared, not fav, office, not locked',
|
||||
|
||||
contextMenu: consumerContextMenu,
|
||||
toolbarPrimary: consumerToolbarPrimary,
|
||||
toolbarMore: consumerToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchConsumerToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileDocxFav = {
|
||||
name: `file-docx-fav-${Utils.random()}.docx`,
|
||||
description: 'file not shared, fav, office, not locked',
|
||||
|
||||
contextMenu: consumerFavContextMenu,
|
||||
toolbarPrimary: consumerToolbarPrimary,
|
||||
toolbarMore: consumerFavToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerFavToolbarMore,
|
||||
|
||||
favoritesToolbarMore: favoritesConsumerToolbarMore,
|
||||
favoritesContextMenu: favoritesConsumerContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerToolbarPrimary
|
||||
};
|
||||
|
||||
export const file = {
|
||||
name: `file-${Utils.random()}.txt`,
|
||||
description: 'file not shared, not fav, not office, not locked',
|
||||
|
||||
contextMenu: consumerContextMenu,
|
||||
toolbarPrimary: consumerToolbarPrimary,
|
||||
toolbarMore: consumerToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchConsumerToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileFav = {
|
||||
name: `file-fav-${Utils.random()}.txt`,
|
||||
description: 'file not shared, fav, not office, not locked',
|
||||
|
||||
contextMenu: consumerFavContextMenu,
|
||||
toolbarPrimary: consumerToolbarPrimary,
|
||||
toolbarMore: consumerFavToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerFavToolbarMore,
|
||||
|
||||
favoritesToolbarMore: favoritesConsumerToolbarMore,
|
||||
favoritesContextMenu: favoritesConsumerContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileDocxShared = {
|
||||
name: `file-docx-shared-${Utils.random()}.docx`,
|
||||
description: 'file shared, not fav, office, not locked',
|
||||
|
||||
contextMenu: consumerSharedContextMenu,
|
||||
toolbarPrimary: consumerSharedToolbarPrimary,
|
||||
toolbarMore: consumerToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerToolbarMore,
|
||||
|
||||
sharedToolbarMore: sharedConsumerToolbarMore,
|
||||
sharedContextMenu: sharedConsumerContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerSharedToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileDocxSharedFav = {
|
||||
name: `file-docx-shared-fav-${Utils.random()}.docx`,
|
||||
description: 'file shared, fav, office, not locked',
|
||||
|
||||
contextMenu: consumerSharedFavContextMenu,
|
||||
toolbarPrimary: consumerSharedToolbarPrimary,
|
||||
toolbarMore: consumerFavToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerFavToolbarMore,
|
||||
|
||||
favoritesToolbarMore: favoritesConsumerToolbarMore,
|
||||
favoritesContextMenu: favoritesConsumerSharedContextMenu,
|
||||
favoritesToolbarPrimary: favoritesConsumerSharedToolbarPrimary,
|
||||
|
||||
sharedToolbarMore: sharedConsumerFavToolbarMore,
|
||||
sharedContextMenu: sharedConsumerFavContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerSharedToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileShared = {
|
||||
name: `file-shared-${Utils.random()}.txt`,
|
||||
description: 'file shared, not fav, not office, not locked',
|
||||
|
||||
contextMenu: consumerSharedContextMenu,
|
||||
toolbarPrimary: consumerSharedToolbarPrimary,
|
||||
toolbarMore: consumerToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerToolbarMore,
|
||||
|
||||
sharedToolbarMore: sharedConsumerToolbarMore,
|
||||
sharedContextMenu: sharedConsumerContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerSharedToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileSharedFav = {
|
||||
name: `file-shared-fav-${Utils.random()}.txt`,
|
||||
description: 'file shared, fav, not office, not locked',
|
||||
|
||||
contextMenu: consumerSharedFavContextMenu,
|
||||
toolbarPrimary: consumerSharedToolbarPrimary,
|
||||
toolbarMore: consumerFavToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerFavToolbarMore,
|
||||
|
||||
favoritesToolbarMore: favoritesConsumerToolbarMore,
|
||||
favoritesContextMenu: favoritesConsumerSharedContextMenu,
|
||||
favoritesToolbarPrimary: favoritesConsumerSharedToolbarPrimary,
|
||||
|
||||
sharedToolbarMore: sharedConsumerFavToolbarMore,
|
||||
sharedContextMenu: sharedConsumerFavContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerSharedToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileLocked = {
|
||||
name: `file-locked-${Utils.random()}.txt`,
|
||||
description: 'file not shared, not fav, not office, locked',
|
||||
|
||||
contextMenu: consumerContextMenu,
|
||||
toolbarPrimary: consumerToolbarPrimary,
|
||||
toolbarMore: consumerToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchConsumerToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileFavLocked = {
|
||||
name: `file-fav-locked-${Utils.random()}.txt`,
|
||||
description: 'file not shared, fav, not office, locked',
|
||||
|
||||
contextMenu: consumerFavContextMenu,
|
||||
toolbarPrimary: consumerToolbarPrimary,
|
||||
toolbarMore: consumerFavToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerFavToolbarMore,
|
||||
|
||||
favoritesToolbarMore: favoritesConsumerToolbarMore,
|
||||
favoritesContextMenu: favoritesConsumerContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileSharedLocked = {
|
||||
name: `file-shared-locked-${Utils.random()}.txt`,
|
||||
description: 'file shared, not fav, not office, locked',
|
||||
|
||||
contextMenu: consumerSharedContextMenu,
|
||||
toolbarPrimary: consumerSharedToolbarPrimary,
|
||||
toolbarMore: consumerToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerToolbarMore,
|
||||
|
||||
sharedToolbarMore: sharedConsumerToolbarMore,
|
||||
sharedContextMenu: sharedConsumerContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerSharedToolbarPrimary
|
||||
};
|
||||
|
||||
export const fileSharedFavLocked = {
|
||||
name: `file-shared-fav-locked-${Utils.random()}.txt`,
|
||||
description: 'file shared, fav, not office, locked',
|
||||
|
||||
contextMenu: consumerSharedFavContextMenu,
|
||||
toolbarPrimary: consumerSharedToolbarPrimary,
|
||||
toolbarMore: consumerFavToolbarMore,
|
||||
viewerToolbarPrimary: consumerViewerSharedToolbarPrimary,
|
||||
viewerToolbarMore: consumerViewerFavToolbarMore,
|
||||
|
||||
favoritesToolbarMore: favoritesConsumerToolbarMore,
|
||||
favoritesContextMenu: favoritesConsumerSharedContextMenu,
|
||||
favoritesToolbarPrimary: favoritesConsumerSharedToolbarPrimary,
|
||||
|
||||
sharedToolbarMore: sharedConsumerFavToolbarMore,
|
||||
sharedContextMenu: sharedConsumerFavContextMenu,
|
||||
|
||||
searchToolbarPrimary: searchConsumerSharedToolbarPrimary
|
||||
};
|
||||
|
||||
// ---- folders ---
|
||||
|
||||
const consumerFolderContextMenu = ['Download', 'Favorite', 'Copy'];
|
||||
const consumerFolderToolbarPrimary = ['Download', 'View Details', 'More Actions'];
|
||||
const consumerFolderToolbarMore = ['Favorite', 'Copy'];
|
||||
const searchConsumerFolderToolbarPrimary = ['Toggle search filter', 'Download', 'View Details', 'More Actions'];
|
||||
const consumerFolderFavContextMenu = ['Download', 'Remove Favorite', 'Copy'];
|
||||
const consumerFolderFavToolbarMore = ['Remove Favorite', 'Copy'];
|
||||
|
||||
// ---- FAVORITES workarounds ----
|
||||
|
||||
// TODO: remove 'Edit', 'Move' and 'Delete' when ACA-1737 is done
|
||||
const favoritesConsumerFolderContextMenu = ['Download', 'Edit', 'Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
// TODO: remove 'Edit', 'Move' and 'Delete' when ACA-1737 is done
|
||||
const favoritesConsumerFolderToolbarMore = ['Edit', 'Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
|
||||
export const folder = {
|
||||
name: `folder-${Utils.random()}`,
|
||||
description: 'folder not favorite',
|
||||
contextMenu: consumerFolderContextMenu,
|
||||
toolbarPrimary: consumerFolderToolbarPrimary,
|
||||
toolbarMore: consumerFolderToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchConsumerFolderToolbarPrimary
|
||||
};
|
||||
|
||||
export const folderFav = {
|
||||
name: `folder-fav-${Utils.random()}`,
|
||||
description: 'folder favorite',
|
||||
contextMenu: consumerFolderFavContextMenu,
|
||||
toolbarPrimary: consumerFolderToolbarPrimary,
|
||||
toolbarMore: consumerFolderFavToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesConsumerFolderContextMenu,
|
||||
favoritesToolbarMore: favoritesConsumerFolderToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchConsumerFolderToolbarPrimary,
|
||||
};
|
||||
|
||||
export const folderFav2 = {
|
||||
name: `folder-fav-2-${Utils.random()}`,
|
||||
description: 'folder 2 favorite'
|
||||
};
|
||||
|
||||
// ---- multiple selection ---
|
||||
|
||||
const multipleSelContextMenu = ['Download', 'Favorite', 'Copy'];
|
||||
const multipleSelAllFavContextMenu = ['Download', 'Remove Favorite', 'Copy'];
|
||||
const multipleSelToolbarPrimary = ['Download', 'View Details', 'More Actions'];
|
||||
const multipleSelToolbarMore = ['Favorite', 'Copy'];
|
||||
const multipleSelAllFavToolbarMore = ['Remove Favorite', 'Copy'];
|
||||
const searchMultipleSelToolbarPrimary = ['Toggle search filter', 'Download', 'View Details', 'More Actions'];
|
||||
|
||||
// ---- FAVORITES workarounds ----
|
||||
|
||||
// TODO: remove 'Move' and 'Delete' when ACA-1737 is done
|
||||
const favoritesMultipleSelContextMenu = ['Download', 'Favorite', 'Move', 'Copy', 'Delete'];
|
||||
// TODO: remove 'Move' and 'Delete' when ACA-1737 is done
|
||||
const favoritesMultipleSelToolbarMore = ['Favorite', 'Move', 'Copy', 'Delete'];
|
||||
// TODO: remove 'Move' and 'Delete' when ACA-1737 is done
|
||||
const favoritesMultipleSelAllFavContextMenu = ['Download', 'Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
// TODO: remove 'Move' and 'Delete' when ACA-1737 is done
|
||||
const favoritesMultipleSelAllFavToolbarMore = ['Remove Favorite', 'Move', 'Copy', 'Delete'];
|
||||
|
||||
|
||||
export const multipleSel = {
|
||||
contextMenu: multipleSelContextMenu,
|
||||
toolbarPrimary: multipleSelToolbarPrimary,
|
||||
toolbarMore: multipleSelToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesMultipleSelContextMenu,
|
||||
favoritesToolbarMore: favoritesMultipleSelToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMultipleSelToolbarPrimary
|
||||
}
|
||||
|
||||
export const multipleSelAllFav = {
|
||||
contextMenu: multipleSelAllFavContextMenu,
|
||||
toolbarPrimary: multipleSelToolbarPrimary,
|
||||
toolbarMore: multipleSelAllFavToolbarMore,
|
||||
|
||||
favoritesContextMenu: favoritesMultipleSelAllFavContextMenu,
|
||||
favoritesToolbarMore: favoritesMultipleSelAllFavToolbarMore,
|
||||
|
||||
searchToolbarPrimary: searchMultipleSelToolbarPrimary
|
||||
}
|
102
e2e/suites/actions-available/test-util.ts
Normal file
102
e2e/suites/actions-available/test-util.ts
Normal file
@ -0,0 +1,102 @@
|
||||
import { BrowsingPage } from '../../pages/pages';
|
||||
import { Viewer } from '../../components/viewer/viewer';
|
||||
import { Utils } from '../../utilities/utils';
|
||||
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable, toolbar } = page;
|
||||
const contextMenu = dataTable.menu;
|
||||
const viewer = new Viewer();
|
||||
|
||||
|
||||
export async function checkContextMenu(item: string, expectedContextMenu: string[]) {
|
||||
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');
|
||||
}
|
||||
|
||||
export async function checkToolbarPrimary(item: string, expectedToolbarPrimary: string[]) {
|
||||
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');
|
||||
}
|
||||
|
||||
export async function checkToolbarMoreActions(item: string, expectedToolbarMore: string[]) {
|
||||
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');
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
}
|
||||
|
||||
export async function checkMultipleSelContextMenu(items: string[], expectedContextMenu: string[]) {
|
||||
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');
|
||||
}
|
||||
|
||||
export async function checkMultipleSelToolbarPrimary(items: string[], expectedToolbarPrimary: string[]) {
|
||||
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');
|
||||
}
|
||||
|
||||
export async function checkMultipleSelToolbarMoreActions(items: string[], expectedToolbarMore: string[]) {
|
||||
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');
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
}
|
||||
|
||||
export async function checkViewerToolbarPrimaryActions(item: string, expectedToolbarPrimary: string[]) {
|
||||
await dataTable.doubleClickOnRowByName(item);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
let actualPrimaryActions = await toolbar.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');
|
||||
|
||||
await Utils.pressEscape();
|
||||
}
|
||||
|
||||
export async function checkViewerToolbarMoreActions(item: string, expectedToolbarMore: string[]) {
|
||||
await dataTable.doubleClickOnRowByName(item);
|
||||
await viewer.waitForViewerToOpen();
|
||||
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');
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
await Utils.pressEscape();
|
||||
}
|
||||
|
||||
|
||||
function removeClosePreviousNextOldInfo(actions: string[]) {
|
||||
return actions.filter(elem => {
|
||||
if ( (elem !== 'Close') && (elem !== 'Previous File') && (elem !== 'Next File') && (elem !== 'View details')) {
|
||||
return elem;
|
||||
}
|
||||
});
|
||||
}
|
@ -1,703 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { browser, protractor } from 'protractor';
|
||||
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';
|
||||
|
||||
describe('Toolbar actions - multiple selection : ', () => {
|
||||
const username = `user-${Utils.random()}`;
|
||||
|
||||
const parent = `parent-${Utils.random()}`; let parentId;
|
||||
|
||||
const file1 = `my-file1-${Utils.random()}.txt`; let file1Id;
|
||||
const file2 = `my-file2-${Utils.random()}.txt`; let file2Id;
|
||||
|
||||
const folder1 = `my-folder1-${Utils.random()}`; let folder1Id;
|
||||
const folder2 = `my-folder2-${Utils.random()}`; let folder2Id;
|
||||
|
||||
const fileForDelete1 = `file-${Utils.random()}.txt`; let fileForDelete1Id;
|
||||
const fileForDelete2 = `file-${Utils.random()}.txt`; let fileForDelete2Id;
|
||||
const folderForDelete1 = `folder-${Utils.random()}`; let folderForDelete1Id;
|
||||
const folderForDelete2 = `folder-${Utils.random()}`; let folderForDelete2Id;
|
||||
|
||||
const siteName = `site-${Utils.random()}`;
|
||||
const file1InSite = `my-fileInSite1-${Utils.random()}.txt`;
|
||||
const file2InSite = `my-fileInSite2-${Utils.random()}.txt`;
|
||||
const folder1InSite = `my-folderInSite1-${Utils.random()}`;
|
||||
const folder2InSite = `my-folderInSite2-${Utils.random()}`;
|
||||
const fileLocked1InSite = `my-fileLockedInSite1-${Utils.random()}.txt`; let fileLocked1InSiteId;
|
||||
const fileLocked2InSite = `my-fileLockedInSite2-${Utils.random()}.txt`; let fileLocked2InSiteId;
|
||||
|
||||
const fileLocked1 = `my-fileLocked1-${Utils.random()}.txt`; let fileLocked1Id;
|
||||
const fileLocked2 = `my-fileLocked2-${Utils.random()}.txt`; let fileLocked2Id;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable, toolbar } = page;
|
||||
const searchResultsPage = new SearchResultsPage();
|
||||
const { searchInput } = searchResultsPage.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||
|
||||
file1Id = (await apis.user.nodes.createFile(file1, parentId)).entry.id;
|
||||
file2Id = (await apis.user.nodes.createFile(file2, parentId)).entry.id;
|
||||
folder1Id = (await apis.user.nodes.createFolder(folder1, parentId)).entry.id;
|
||||
folder2Id = (await apis.user.nodes.createFolder(folder2, parentId)).entry.id;
|
||||
fileForDelete1Id = (await apis.user.nodes.createFile(fileForDelete1, parentId)).entry.id;
|
||||
fileForDelete2Id = (await apis.user.nodes.createFile(fileForDelete2, parentId)).entry.id;
|
||||
folderForDelete1Id = (await apis.user.nodes.createFolder(folderForDelete1, parentId)).entry.id;
|
||||
folderForDelete2Id = (await apis.user.nodes.createFolder(folderForDelete2, parentId)).entry.id;
|
||||
fileLocked1Id = (await apis.user.nodes.createFile(fileLocked1, parentId)).entry.id;
|
||||
fileLocked2Id = (await apis.user.nodes.createFile(fileLocked2, parentId)).entry.id;
|
||||
await apis.user.nodes.lockFile(fileLocked1Id);
|
||||
await apis.user.nodes.lockFile(fileLocked2Id);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([file1Id, file2Id, fileLocked1Id, fileLocked2Id]);
|
||||
await apis.user.shared.waitForApi({ expect: 4 });
|
||||
|
||||
await apis.user.favorites.addFavoritesByIds('file', [file1Id, file2Id, fileLocked1Id, fileLocked2Id]);
|
||||
await apis.user.favorites.addFavoritesByIds('folder', [folder1Id, folder2Id]);
|
||||
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||
|
||||
await apis.user.nodes.deleteNodesById([fileForDelete1Id, fileForDelete2Id, folderForDelete1Id, folderForDelete2Id], false);
|
||||
await apis.user.trashcan.waitForApi({ expect: 4 });
|
||||
|
||||
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
|
||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||
await apis.user.nodes.createFile(file1InSite, docLibId);
|
||||
await apis.user.nodes.createFile(file2InSite, docLibId);
|
||||
await apis.user.nodes.createFolder(folder1InSite, docLibId);
|
||||
await apis.user.nodes.createFolder(folder2InSite, docLibId);
|
||||
fileLocked1InSiteId = (await apis.user.nodes.createFile(fileLocked1InSite, docLibId)).entry.id;
|
||||
fileLocked2InSiteId = (await apis.user.nodes.createFile(fileLocked2InSite, docLibId)).entry.id;
|
||||
|
||||
await apis.user.nodes.lockFile(fileLocked1InSiteId);
|
||||
await apis.user.nodes.lockFile(fileLocked2InSiteId);
|
||||
|
||||
await apis.user.search.waitForApi(username, { expect: 6 });
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Promise.all([
|
||||
apis.user.nodes.deleteNodeById(parentId),
|
||||
apis.user.trashcan.emptyTrash(),
|
||||
apis.user.sites.deleteSite(siteName)
|
||||
]);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('on Personal Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await dataTable.clearSelection();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
await dataTable.doubleClickOnRowByName(parent);
|
||||
await dataTable.waitForBody();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Unselect items with single click - [C280458]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
|
||||
|
||||
expect(await dataTable.countSelectedRows()).toEqual(4, 'incorrect selected rows number');
|
||||
|
||||
await dataTable.selectItem(file1);
|
||||
|
||||
expect(await dataTable.countSelectedRows()).toEqual(1, 'incorrect selected rows number');
|
||||
});
|
||||
|
||||
it('Select / unselect selected items by CMD+click - [C217110]', async () => {
|
||||
await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
|
||||
await dataTable.selectItem(file1);
|
||||
await dataTable.selectItem(file2);
|
||||
await dataTable.selectItem(folder1);
|
||||
await dataTable.selectItem(folder2);
|
||||
await browser.actions().sendKeys(protractor.Key.NULL).perform();
|
||||
|
||||
expect(await dataTable.countSelectedRows()).toEqual(4, 'incorrect selected rows number');
|
||||
|
||||
await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
|
||||
await dataTable.selectItem(file1);
|
||||
await dataTable.selectItem(file2);
|
||||
await browser.actions().sendKeys(protractor.Key.NULL).perform();
|
||||
|
||||
expect(await dataTable.countSelectedRows()).toEqual(2, 'incorrect selected rows number');
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C217112]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297619]', async () => {
|
||||
await dataTable.selectMultipleItems([fileLocked1, fileLocked2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C280459]', async () => {
|
||||
await dataTable.selectMultipleItems([folder1, folder2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C280460]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on File Libraries', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.goToMyLibrariesAndWait();
|
||||
await dataTable.doubleClickOnRowByName(siteName);
|
||||
await dataTable.waitForHeader();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280461]', async () => {
|
||||
await dataTable.selectMultipleItems([file1InSite, file2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed for selected files');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed for selected files');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297620]', async () => {
|
||||
await dataTable.selectMultipleItems([fileLocked1InSite, fileLocked2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed for selected files');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed for selected files');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C280462]', async () => {
|
||||
await dataTable.selectMultipleItems([folder1InSite, folder2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C280463]', async () => {
|
||||
await dataTable.selectMultipleItems([file1InSite, file2InSite, folder1InSite, folder2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Shared Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await dataTable.clearSelection();
|
||||
await page.clickSharedFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280467]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed for selected files');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297623]', async () => {
|
||||
await dataTable.selectMultipleItems([fileLocked1, fileLocked2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed for selected files');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Recent Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await dataTable.clearSelection();
|
||||
await page.clickRecentFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280468]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297624]', async () => {
|
||||
await dataTable.selectMultipleItems([fileLocked1, fileLocked2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Favorites', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await dataTable.clearSelection();
|
||||
await page.clickFavoritesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280469]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297625]', async () => {
|
||||
await dataTable.selectMultipleItems([fileLocked1, fileLocked2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C280470]', async () => {
|
||||
await dataTable.selectMultipleItems([folder1, folder2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C280471]', async () => {
|
||||
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Trash', () => {
|
||||
beforeEach(async (done) => {
|
||||
await page.clickTrashAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C280472]', async () => {
|
||||
await dataTable.selectMultipleItems([fileForDelete1, fileForDelete2]);
|
||||
|
||||
expect(await toolbar.isButtonPresent('Permanently Delete')).toBe(true, 'Permanently delete is displayed');
|
||||
expect(await toolbar.isButtonPresent('Restore')).toBe(true, 'Restore is not displayed');
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C280473]', async () => {
|
||||
await dataTable.selectMultipleItems([folderForDelete1, folderForDelete2]);
|
||||
|
||||
expect(await toolbar.isButtonPresent('Permanently Delete')).toBe(true, 'Permanently delete is displayed');
|
||||
expect(await toolbar.isButtonPresent('Restore')).toBe(true, 'Restore is not displayed');
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C280474]', async () => {
|
||||
await dataTable.selectMultipleItems([fileForDelete1, fileForDelete2, folderForDelete1, folderForDelete2]);
|
||||
|
||||
expect(await toolbar.isButtonPresent('Permanently Delete')).toBe(true, 'Permanently delete is displayed');
|
||||
expect(await toolbar.isButtonPresent('Restore')).toBe(true, 'Restore is not displayed');
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Search Results', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple files are selected - [C291820]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('my-fileInSite');
|
||||
await dataTable.selectMultipleItems([file1InSite, file2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed for selected files');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed for selected files');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple locked files are selected - [C297626]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor('my-fileLockedInSite');
|
||||
await dataTable.selectMultipleItems([fileLocked1InSite, fileLocked2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed for selected files');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed for selected files');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when multiple folders are selected - [C291821]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFolders();
|
||||
await searchInput.searchFor('my-folderInSite');
|
||||
await dataTable.selectMultipleItems([folder1InSite, folder2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when both files and folders are selected - [C291822]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkFilesAndFolders();
|
||||
await searchInput.searchFor('my-f');
|
||||
await dataTable.selectMultipleItems([file1InSite, file2InSite, folder1InSite, folder2InSite]);
|
||||
|
||||
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, 'Edit folder is displayed');
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
|
||||
expect(await toolbar.menu.isToggleFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
});
|
@ -1,760 +0,0 @@
|
||||
/*!
|
||||
* @license
|
||||
* Alfresco Example Content Application
|
||||
*
|
||||
* Copyright (C) 2005 - 2019 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
|
||||
* the paid license agreement will prevail. Otherwise, the software is
|
||||
* provided under the following open source license terms:
|
||||
*
|
||||
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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';
|
||||
|
||||
describe('Toolbar actions - single selection : ', () => {
|
||||
const username = `user-${Utils.random()}`;
|
||||
|
||||
const fileUser = `fileUser-${Utils.random()}.txt`; let fileUserId;
|
||||
const folderUser = `folderUser-${Utils.random()}`; let folderUserId;
|
||||
const fileForDelete = `fileForDelete-${Utils.random()}.txt`; let fileForDeleteId;
|
||||
const folderForDelete = `folderForDelete-${Utils.random()}`; let folderForDeleteId;
|
||||
const fileLocked = `fileLocked-${Utils.random()}.txt`; let fileLockedId;
|
||||
|
||||
const siteName = `site-${Utils.random()}`;
|
||||
const fileInSite = `file-site-${Utils.random()}.txt`;
|
||||
const fileLockedInSite = `file-locked-site-${Utils.random()}.txt`; let fileLockedInSiteId;
|
||||
const folderInSite = `folder-site-${Utils.random()}`;
|
||||
|
||||
const adminPublic = `admin-public-${Utils.random()}`;
|
||||
const adminModerated = `admin-moderated-${Utils.random()}`;
|
||||
|
||||
const apis = {
|
||||
admin: new RepoClient(),
|
||||
user: new RepoClient(username, username)
|
||||
};
|
||||
|
||||
const loginPage = new LoginPage();
|
||||
const page = new BrowsingPage();
|
||||
const { dataTable, toolbar } = page;
|
||||
const searchResultsPage = new SearchResultsPage();
|
||||
const { searchInput } = searchResultsPage.header;
|
||||
|
||||
beforeAll(async (done) => {
|
||||
await apis.admin.people.createUser({ username });
|
||||
|
||||
fileUserId = (await apis.user.nodes.createFile(fileUser)).entry.id;
|
||||
fileForDeleteId = (await apis.user.nodes.createFile(fileForDelete)).entry.id;
|
||||
folderForDeleteId = (await apis.user.nodes.createFolder(folderForDelete)).entry.id;
|
||||
folderUserId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
|
||||
fileLockedId = (await apis.user.nodes.createFile(fileLocked)).entry.id;
|
||||
|
||||
await apis.user.shared.shareFileById(fileUserId);
|
||||
await apis.user.shared.shareFileById(fileLockedId);
|
||||
await apis.user.shared.waitForApi({ expect: 2 });
|
||||
|
||||
await apis.user.favorites.addFavoriteById('file', fileUserId);
|
||||
await apis.user.favorites.addFavoriteById('folder', folderUserId);
|
||||
await apis.user.favorites.addFavoriteById('file', fileLockedId);
|
||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||
|
||||
await apis.user.nodes.lockFile(fileLockedId);
|
||||
|
||||
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
|
||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||
await apis.user.nodes.createFile(fileInSite, docLibId);
|
||||
fileLockedInSiteId = (await apis.user.nodes.createFile(fileLockedInSite, docLibId)).entry.id;
|
||||
await apis.user.nodes.createFolder(folderInSite, docLibId);
|
||||
|
||||
await apis.user.nodes.lockFile(fileLockedInSiteId);
|
||||
|
||||
await apis.user.nodes.deleteNodeById(fileForDeleteId, false);
|
||||
await apis.user.nodes.deleteNodeById(folderForDeleteId, false);
|
||||
|
||||
await apis.admin.sites.createSite(adminPublic);
|
||||
await apis.admin.sites.createSite(adminModerated, SITE_VISIBILITY.MODERATED);
|
||||
await apis.user.favorites.addFavoriteById('site', adminPublic);
|
||||
await apis.user.favorites.addFavoriteById('site', adminModerated);
|
||||
await apis.user.sites.requestToJoin(adminModerated);
|
||||
|
||||
await apis.user.queries.waitForSites(siteName, { expect: 1 });
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Promise.all([
|
||||
apis.user.nodes.deleteNodeById(fileUserId),
|
||||
apis.user.nodes.deleteNodeById(folderUserId),
|
||||
apis.user.sites.deleteSite(siteName),
|
||||
apis.admin.sites.deleteSite(adminPublic),
|
||||
apis.admin.sites.deleteSite(adminModerated),
|
||||
apis.user.trashcan.emptyTrash()
|
||||
]);
|
||||
done();
|
||||
});
|
||||
|
||||
describe('on Personal Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await dataTable.clearSelection();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('selected row is marked with a check circle icon - [C213134]', async () => {
|
||||
await dataTable.selectItem(fileUser);
|
||||
|
||||
expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(true, 'check mark missing');
|
||||
});
|
||||
|
||||
it('actions are not displayed when no item is selected - [C213120]', async () => {
|
||||
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a file is selected - [C213122]', async () => {
|
||||
await dataTable.selectItem(fileUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload New Version is not displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a locked file is selected - [C297612]', async () => {
|
||||
await dataTable.selectItem(fileLocked);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${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.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
|
||||
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 for ${fileLocked}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLocked}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a folder is selected - [C213123]', async () => {
|
||||
await dataTable.selectItem(folderUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderUser}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${folderUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on File Libraries', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.goToMyLibrariesAndWait();
|
||||
await dataTable.doubleClickOnRowByName(siteName);
|
||||
await dataTable.waitForHeader();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('actions are not displayed when no item is selected - [C280439]', async () => {
|
||||
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a file is selected - [C280440]', async () => {
|
||||
await dataTable.selectItem(fileInSite);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileInSite}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileInSite}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileInSite}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileInSite}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a locked file is selected - [C297614]', async () => {
|
||||
await dataTable.selectItem(fileLockedInSite);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLockedInSite}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileLockedInSite}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLockedInSite}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a folder is selected - [C280441]', async () => {
|
||||
await dataTable.selectItem(folderInSite);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderInSite}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderInSite}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderInSite}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed for ${folderInSite}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${folderInSite}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on a library', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFiles();
|
||||
done();
|
||||
});
|
||||
|
||||
it('Available actions for a library - My Libraries - [C213135]', async () => {
|
||||
await page.goToMyLibrariesAndWait();
|
||||
await dataTable.selectItem(siteName);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${siteName}`);
|
||||
expect(await toolbar.isButtonPresent('Leave library')).toBe(true, `Leave is not displayed for ${siteName}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${siteName}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('Available actions for a library - Favorite Libraries - user is a member - [C289892]', async () => {
|
||||
await page.goToFavoriteLibrariesAndWait();
|
||||
await dataTable.selectItem(siteName);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${siteName}`);
|
||||
expect(await toolbar.isButtonPresent('Leave library')).toBe(true, `Leave is not displayed for ${siteName}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${siteName}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('Available actions for a library - Favorite Libraries - user is not a member - [C290090]', async () => {
|
||||
await page.goToFavoriteLibrariesAndWait();
|
||||
await dataTable.selectItem(adminPublic);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminPublic}`);
|
||||
expect(await toolbar.isButtonPresent('Join')).toBe(true, `Join is not displayed for ${adminPublic}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminPublic}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${adminPublic}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('Available actions for a moderated library - Favorite Libraries - user requested to join - [C290091]', async () => {
|
||||
await page.goToFavoriteLibrariesAndWait();
|
||||
await dataTable.selectItem(adminModerated);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminModerated}`);
|
||||
expect(await toolbar.isButtonPresent('Cancel Join Request')).toBe(true, `Cancel join is not displayed for ${adminModerated}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminModerated}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${adminModerated}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('Available actions for a library - Search Results - [C290084]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkLibraries();
|
||||
await searchInput.searchFor(siteName);
|
||||
await dataTable.selectItem(siteName);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${siteName}`);
|
||||
expect(await toolbar.isButtonPresent('Leave library')).toBe(true, `Leave is not displayed for ${siteName}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${siteName}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('Available actions for a library - Search Results - user is not a member - [C290085]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkLibraries();
|
||||
await searchInput.searchFor(adminPublic);
|
||||
await dataTable.selectItem(adminPublic);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminPublic}`);
|
||||
expect(await toolbar.isButtonPresent('Join')).toBe(true, `Join is not displayed for ${adminPublic}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminPublic}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${adminPublic}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('Available actions for a moderated library - Search Results - user requested to join - [C290086]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkLibraries();
|
||||
await searchInput.searchFor(adminModerated);
|
||||
await dataTable.selectItem(adminModerated);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminModerated}`);
|
||||
expect(await toolbar.isButtonPresent('Cancel Join Request')).toBe(true, `Cancel join is not displayed for ${adminModerated}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminModerated}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${adminModerated}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Shared Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickSharedFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('actions are not displayed when no item is selected - [C280445]', async () => {
|
||||
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a file is selected - [C286265]', async () => {
|
||||
await page.dataTable.selectItem(fileUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed for ${fileUser}`);
|
||||
|
||||
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 ${fileUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a locked file is selected - [C297615]', async () => {
|
||||
await page.dataTable.selectItem(fileLocked);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${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.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed for ${fileLocked}`);
|
||||
|
||||
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 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 for ${fileLocked}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLocked}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Recent Files', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickRecentFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('actions are not displayed when no item is selected - [C280447]', async () => {
|
||||
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a file is selected - [C280448]', async () => {
|
||||
await dataTable.selectItem(fileUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a locked file is selected - [C297616]', async () => {
|
||||
await dataTable.selectItem(fileLocked);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${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.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
|
||||
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.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileLocked}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLocked}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Favorites', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickFavoritesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('actions are not displayed when no item is selected - [C280449]', async () => {
|
||||
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a file is selected - [C280450]', async () => {
|
||||
await dataTable.selectItem(fileUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
// TODO: change expect to true when ACA-2174 is done
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a locked file is selected - [C297617]', async () => {
|
||||
await dataTable.selectItem(fileLocked);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${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.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
|
||||
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 done
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is 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 for ${fileLocked}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLocked}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a folder is selected - [C280451]', async () => {
|
||||
await dataTable.selectItem(folderUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderUser}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${folderUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Trash', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickTrashAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('actions are not displayed when no item is selected - [C280452]', async () => {
|
||||
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a file is selected - [C280453]', async () => {
|
||||
await dataTable.selectItem(fileForDelete);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileForDelete}`);
|
||||
expect(await toolbar.isPermanentlyDeletePresent()).toBe(true, `Permanently delete is not displayed for file`);
|
||||
expect(await toolbar.isRestorePresent()).toBe(true, `Restore is not displayed for file`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a folder is selected - [C280454]', async () => {
|
||||
await dataTable.selectItem(folderForDelete);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderForDelete}`);
|
||||
expect(await toolbar.isPermanentlyDeletePresent()).toBe(true, `Permanently delete is displayed for folder`);
|
||||
expect(await toolbar.isRestorePresent()).toBe(true, `Restore is not displayed for folder`);
|
||||
});
|
||||
});
|
||||
|
||||
describe('on Search Results', () => {
|
||||
beforeEach(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
await page.clickPersonalFilesAndWait();
|
||||
done();
|
||||
});
|
||||
|
||||
afterAll(async (done) => {
|
||||
await Utils.pressEscape();
|
||||
done();
|
||||
});
|
||||
|
||||
it('nodes actions are not displayed when no item is selected - [C291815]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkFilesAndFolders();
|
||||
await searchInput.searchFor(fileInSite);
|
||||
|
||||
expect(await toolbar.isToggleSearchFiltersPresent()).toBe(true, `Search filter toggle is not displayed`);
|
||||
expect(await toolbar.numberOfAvailableActions()).toBe(1, `more than 1 action is present`);
|
||||
});
|
||||
|
||||
it('correct actions appear when a file is selected - [C291816]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor(fileUser);
|
||||
await dataTable.selectItem(fileUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed for ${fileUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a locked file is selected - [C297618]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFiles();
|
||||
await searchInput.searchFor(fileLocked);
|
||||
await dataTable.selectItem(fileLocked);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${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.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
|
||||
|
||||
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 for ${fileLocked}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed for ${fileLocked}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
|
||||
it('correct actions appear when a folder is selected - [C291817]', async () => {
|
||||
await searchInput.clickSearchButton();
|
||||
await searchInput.checkOnlyFolders();
|
||||
await searchInput.searchFor(folderUser);
|
||||
await dataTable.selectItem(folderUser);
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderUser}`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditFolderPresent()).toBe(true, `Edit folder is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isManageVersionsPresent()).toBe(false, `Manage versions is displayed for ${folderUser}`);
|
||||
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed for ${folderUser}`);
|
||||
|
||||
await toolbar.closeMoreMenu();
|
||||
});
|
||||
});
|
||||
});
|
@ -250,7 +250,7 @@ describe('Library actions', () => {
|
||||
expect(await confirmDialog.isCancelEnabled()).toBe(true, 'Cancel button is not enabled');
|
||||
});
|
||||
|
||||
it('Cancel Leave library - [C290111]', async () => {
|
||||
it('Cancel Leave Library - [C290111]', async () => {
|
||||
await page.goToMyLibrariesAndWait();
|
||||
await dataTable.selectItem(sitePublic5Admin);
|
||||
await toolbar.clickLeave();
|
||||
|
@ -66,7 +66,7 @@ describe('Viewer actions', () => {
|
||||
const destination = `destPF-${Utils.random()}`; let destinationId;
|
||||
|
||||
const docxPersonalFiles = `docxPF-${Utils.random()}.docx`; let docxFileId;
|
||||
const docxLockedPersonalFiles = `docxLockedPF-${Utils.random()}.docx`; let docxLockedId;
|
||||
|
||||
const xlsxPersonalFiles = `xlsxPF-${Utils.random()}.xlsx`;
|
||||
const pdfPersonalFiles = `pdfPF-${Utils.random()}.pdf`;
|
||||
const filePersonalFiles = docxFile2; let filePersonalFilesId;
|
||||
@ -80,7 +80,7 @@ describe('Viewer actions', () => {
|
||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||
|
||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxPersonalFiles)).entry.id;
|
||||
docxLockedId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxLockedPersonalFiles)).entry.id;
|
||||
|
||||
filePersonalFilesId = (await apis.user.upload.uploadFile(docxFile2, parentId)).entry.id;
|
||||
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxPersonalFiles);
|
||||
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfPersonalFiles);
|
||||
@ -91,7 +91,7 @@ describe('Viewer actions', () => {
|
||||
|
||||
await apis.user.nodes.lockFile(fileForCancelEditingId);
|
||||
await apis.user.nodes.lockFile(fileForUploadNewVersionId);
|
||||
await apis.user.nodes.lockFile(docxLockedId);
|
||||
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
done();
|
||||
@ -116,58 +116,6 @@ describe('Viewer actions', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar - [C282025]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar for a locked file - [C297583]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxLockedPersonalFiles);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Download action - [C268129]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
||||
await viewer.waitForViewerToOpen();
|
||||
@ -321,7 +269,7 @@ describe('Viewer actions', () => {
|
||||
const destination = `destFL-${Utils.random()}`; let destinationId;
|
||||
|
||||
const docxLibraries = `docxFL-${Utils.random()}.docx`; let docxFileId;
|
||||
const docxLockedLibraries = `docxLockedFL-${Utils.random()}.docx`; let docxLockedId;
|
||||
|
||||
const xlsxLibraries = `xlsxFL-${Utils.random()}.xlsx`;
|
||||
const pdfLibraries = `pdfFL-${Utils.random()}.pdf`;
|
||||
const fileLibraries = docxFile2; let fileLibrariesId;
|
||||
@ -335,9 +283,9 @@ describe('Viewer actions', () => {
|
||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, docLibId, docxLibraries)).entry.id;
|
||||
docxLockedId = (await apis.user.upload.uploadFileWithRename(docxFile, docLibId, docxLockedLibraries)).entry.id;
|
||||
|
||||
fileLibrariesId = (await apis.user.upload.uploadFile(docxFile2, docLibId)).entry.id;
|
||||
await apis.user.nodes.lockFile(docxLockedId);
|
||||
|
||||
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, docLibId, xlsxLibraries);
|
||||
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, docLibId, pdfLibraries);
|
||||
|
||||
@ -371,58 +319,6 @@ describe('Viewer actions', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar - [C297587]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxLibraries);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar for a locked file - [C297588]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxLockedLibraries);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Download action - [C286369]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxLibraries);
|
||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||
@ -552,7 +448,7 @@ describe('Viewer actions', () => {
|
||||
const destination = `destRF-${Utils.random()}`; let destinationId;
|
||||
|
||||
const docxRecentFiles = `docxRF-${Utils.random()}.docx`; let docxFileId;
|
||||
const docxLockedRecentFiles = `docxLockedRF-${Utils.random()}.docx`; let docxLockedId;
|
||||
|
||||
const xlsxRecentFiles = `xlsxRF-${Utils.random()}.xlsx`;
|
||||
const pdfRecentFiles = `pdfRF-${Utils.random()}.pdf`;
|
||||
const fileRecent = docxFile2; let fileRecentId;
|
||||
@ -566,7 +462,7 @@ describe('Viewer actions', () => {
|
||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxRecentFiles)).entry.id;
|
||||
docxLockedId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxLockedRecentFiles)).entry.id;
|
||||
|
||||
fileRecentId = (await apis.user.upload.uploadFile(docxFile2, parentId)).entry.id;
|
||||
|
||||
fileForEditOfflineId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, fileForEditOffline)).entry.id;
|
||||
@ -576,7 +472,7 @@ describe('Viewer actions', () => {
|
||||
await apis.user.nodes.lockFile(fileForCancelEditingId);
|
||||
await apis.user.nodes.lockFile(fileForUploadNewVersionId);
|
||||
|
||||
await apis.user.nodes.lockFile(docxLockedId);
|
||||
|
||||
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxRecentFiles);
|
||||
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfRecentFiles);
|
||||
|
||||
@ -603,58 +499,6 @@ describe('Viewer actions', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar - [C297592]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isToggleFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar for a locked file - [C297593]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxLockedRecentFiles);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
|
||||
expect(await toolbar.menu.isToggleFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Download action - [C286383]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||
@ -785,7 +629,7 @@ describe('Viewer actions', () => {
|
||||
const destination = `destSF-${Utils.random()}`; let destinationId;
|
||||
|
||||
const docxSharedFiles = `docxSF-${Utils.random()}.docx`; let docxFileId;
|
||||
const docxLockedSharedFiles = `docxLockedSF-${Utils.random()}.docx`; let docxLockedId;
|
||||
|
||||
const xlsxSharedFiles = `xlsxSF-${Utils.random()}.xlsx`; let xlsxFileId;
|
||||
const pdfSharedFiles = `pdfSF-${Utils.random()}.pdf`; let pdfFileId;
|
||||
const fileShared = docxFile2; let fileSharedId;
|
||||
@ -798,7 +642,7 @@ describe('Viewer actions', () => {
|
||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxSharedFiles)).entry.id;
|
||||
docxLockedId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxLockedSharedFiles)).entry.id;
|
||||
|
||||
xlsxFileId = (await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxSharedFiles)).entry.id;
|
||||
pdfFileId = (await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfSharedFiles)).entry.id;
|
||||
fileSharedId = (await apis.user.upload.uploadFile(docxFile2, parentId)).entry.id;
|
||||
@ -809,9 +653,9 @@ describe('Viewer actions', () => {
|
||||
|
||||
await apis.user.nodes.lockFile(fileForCancelEditingId);
|
||||
await apis.user.nodes.lockFile(fileForUploadNewVersionId);
|
||||
await apis.user.nodes.lockFile(docxLockedId);
|
||||
|
||||
await apis.user.shared.shareFilesByIds([docxFileId, docxLockedId, xlsxFileId, pdfFileId, fileForCancelEditingId, fileForEditOfflineId, fileForUploadNewVersionId, fileSharedId])
|
||||
|
||||
await apis.user.shared.shareFilesByIds([docxFileId, xlsxFileId, pdfFileId, fileForCancelEditingId, fileForEditOfflineId, fileForUploadNewVersionId, fileSharedId])
|
||||
await apis.user.shared.waitForApi({expect: 8});
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
@ -835,58 +679,6 @@ describe('Viewer actions', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar - [C297597]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar for a locked file - [C297598]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxLockedSharedFiles);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
|
||||
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Download action - [C286376]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||
@ -1019,7 +811,7 @@ describe('Viewer actions', () => {
|
||||
let destinationId;
|
||||
|
||||
const docxFavorites = `docxFav-${Utils.random()}.docx`; let docxFileId;
|
||||
const docxLockedFavorites = `docxLockedFav-${Utils.random()}.docx`; let docxLockedId;
|
||||
|
||||
const xlsxFavorites = `xlsxFav-${Utils.random()}.xlsx`; let xlsxFileId;
|
||||
const pdfFavorites = `pdfFav-${Utils.random()}.pdf`; let pdfFileId;
|
||||
const fileFav = docxFile2; let fileFavId;
|
||||
@ -1032,7 +824,7 @@ describe('Viewer actions', () => {
|
||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxFavorites)).entry.id;
|
||||
docxLockedId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxLockedFavorites)).entry.id;
|
||||
|
||||
xlsxFileId = (await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxFavorites)).entry.id;
|
||||
pdfFileId = (await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfFavorites)).entry.id;
|
||||
fileFavId = (await apis.user.upload.uploadFile(docxFile2, parentId)).entry.id;
|
||||
@ -1043,9 +835,9 @@ describe('Viewer actions', () => {
|
||||
|
||||
await apis.user.nodes.lockFile(fileForCancelEditingId);
|
||||
await apis.user.nodes.lockFile(fileForUploadNewVersionId);
|
||||
await apis.user.nodes.lockFile(docxLockedId);
|
||||
|
||||
await apis.user.favorites.addFavoritesByIds('file', [docxFileId, docxLockedId, xlsxFileId, pdfFileId, fileForEditOfflineId, fileForCancelEditingId, fileForUploadNewVersionId, fileFavId])
|
||||
|
||||
await apis.user.favorites.addFavoritesByIds('file', [docxFileId, xlsxFileId, pdfFileId, fileForEditOfflineId, fileForCancelEditingId, fileForUploadNewVersionId, fileFavId])
|
||||
await apis.user.favorites.waitForApi({expect: 8});
|
||||
|
||||
await loginPage.loginWith(username);
|
||||
@ -1069,58 +861,6 @@ describe('Viewer actions', () => {
|
||||
done();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar - [C297599]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxFavorites);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Correct actions appear in the viewer toolbar for a locked file - [C297600]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxLockedFavorites);
|
||||
await viewer.waitForViewerToOpen();
|
||||
|
||||
expect(await toolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
|
||||
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed`);
|
||||
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
|
||||
expect(await toolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
|
||||
expect(await toolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
|
||||
expect(await toolbar.isSharePresent()).toBe(true, `Share is not displayed`);
|
||||
expect(await toolbar.isViewDetailsPresent()).toBe(true, `view details is not displayed`);
|
||||
|
||||
await toolbar.openMoreMenu();
|
||||
|
||||
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
|
||||
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
|
||||
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
|
||||
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
|
||||
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
|
||||
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
|
||||
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();
|
||||
});
|
||||
|
||||
it('Download action - [C286390]', async () => {
|
||||
await dataTable.doubleClickOnRowByName(docxFavorites);
|
||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||
|
@ -67,7 +67,7 @@ export class FavoritesApi extends RepoApi {
|
||||
try {
|
||||
return await this.favoritesApi.createFavorite('-me-', data);
|
||||
} catch (error) {
|
||||
// console.log('--- add favorite by id catch ');
|
||||
console.log('--- add favorite by id catch ');
|
||||
}
|
||||
}
|
||||
|
||||
@ -116,7 +116,7 @@ export class FavoritesApi extends RepoApi {
|
||||
try {
|
||||
return await this.favoritesApi.deleteFavorite('-me-', nodeId);
|
||||
} catch (error) {
|
||||
// console.log('--- remove favorite by id catch ');
|
||||
console.log('--- remove favorite by id catch ', error);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -167,7 +167,11 @@ export class NodesApi extends RepoApi {
|
||||
}
|
||||
|
||||
async createFile(name: string, parentId: string = '-my-', title: string = '', description: string = '', author: string = '', majorVersion: boolean = true) {
|
||||
try {
|
||||
return await this.createNode('cm:content', name, parentId, title, description, null, author, majorVersion);
|
||||
} catch (error) {
|
||||
console.log('==== catch createFile: ', error);
|
||||
}
|
||||
}
|
||||
|
||||
async createImage(name: string, parentId: string = '-my-', title: string = '', description: string = '') {
|
||||
|
@ -74,8 +74,12 @@ export class SitesApi extends RepoApi {
|
||||
id: siteId || title
|
||||
};
|
||||
|
||||
await this.apiAuth();
|
||||
try {
|
||||
await this.apiAuth();
|
||||
return await this.sitesApi.createSite(site);
|
||||
} catch (error) {
|
||||
console.log('=== create site catch: ', error);
|
||||
}
|
||||
}
|
||||
|
||||
async createSites(titles: string[], visibility?: string) {
|
||||
|
@ -54,8 +54,15 @@ export class UploadApi extends RepoApi {
|
||||
nodeType: 'cm:content'
|
||||
};
|
||||
|
||||
await this.apiAuth();
|
||||
return await this.upload.uploadFile(file, '', parentFolderId, null, opts);
|
||||
try {
|
||||
await this.apiAuth();
|
||||
return await this.upload.uploadFile(file, '', parentFolderId, null, opts);
|
||||
} catch (error) {
|
||||
console.log('=== catch upload file with rename: ', error);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -43,7 +43,7 @@ exports.config = {
|
||||
'./e2e/suites/navigation/*.test.ts',
|
||||
'./e2e/suites/pagination/*.test.ts',
|
||||
'./e2e/suites/search/*.test.ts',
|
||||
'./e2e/suites/actions-available/*.test.ts',
|
||||
'./e2e/suites/actions-available/**/*.test.ts',
|
||||
'./e2e/suites/actions/*.test.ts',
|
||||
'./e2e/suites/viewer/*.test.ts',
|
||||
'./e2e/suites/info-drawer/*.test.ts',
|
||||
@ -57,7 +57,7 @@ exports.config = {
|
||||
navigation: './e2e/suites/navigation/*.test.ts',
|
||||
pagination: './e2e/suites/pagination/*.test.ts',
|
||||
search: './e2e/suites/search/*.test.ts',
|
||||
actionsAvailable: './e2e/suites/actions-available/*.test.ts',
|
||||
actionsAvailable: './e2e/suites/actions-available/**/*.test.ts',
|
||||
addRemoveContent: [
|
||||
'./e2e/suites/actions/new-menu.test.ts',
|
||||
'./e2e/suites/actions/create-folder.test.ts',
|
||||
|
@ -209,7 +209,7 @@
|
||||
"FULLSCREEN": "Activate full-screen mode",
|
||||
"JOIN": "Join",
|
||||
"CANCEL_JOIN": "Cancel Join Request",
|
||||
"LEAVE": "Leave library",
|
||||
"LEAVE": "Leave Library",
|
||||
"EDIT_OFFLINE": "Edit Offline",
|
||||
"EDIT_OFFLINE_CANCEL": "Cancel Editing"
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user