[ACA-2874] improve the execution time of actions-available tests (#1307)

* some refactoring trying to improve the execution time of actions-available tests

* copyright update
This commit is contained in:
Adina Parpalita
2020-01-17 16:49:58 +02:00
committed by Cilibiu Bogdan
parent 66f9442563
commit fb6ba7cf6a
42 changed files with 1283 additions and 1979 deletions

View File

@@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders';
import * as testUtil from '../test-util';
@@ -36,43 +37,47 @@ describe('File/folder actions : on Favorites : ', () => {
const username = `user-${random}`;
const parent = `parent-${random}`; let parentId;
const parent = `parent-${random}`;
let parentId: string;
let fileDocxFavId, fileFavId, fileDocxSharedFavId, fileSharedFavId, fileFavLockedId, fileSharedFavLockedId;
let folderFavId, folderFav2Id;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedFavId: string;
let fileSharedFavId: string;
let fileFavLockedId: string;
let fileSharedFavLockedId: string;
let folderFavId: string;
let folderFav2Id: string;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
parentId = (await userApi.nodes.createFolder(parent)).entry.id;
fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
folderFavId = (await apis.user.nodes.createFolder(data.folderFav.name, parentId)).entry.id;
folderFav2Id = (await apis.user.nodes.createFolder(data.folderFav2.name, parentId)).entry.id;
await apis.user.favorites.addFavoriteById('folder', folderFavId);
await apis.user.favorites.addFavoriteById('folder', folderFav2Id);
folderFavId = (await userApi.nodes.createFolder(data.folderFav.name, parentId)).entry.id;
folderFav2Id = (await userApi.nodes.createFolder(data.folderFav2.name, parentId)).entry.id;
await apis.user.shared.shareFilesByIds([
await userApi.favorites.addFavoritesByIds('folder', [folderFavId, folderFav2Id]);
await userApi.shared.shareFilesByIds([
fileDocxSharedFavId,
fileSharedFavId,
fileSharedFavLockedId
]);
await apis.user.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -80,76 +85,67 @@ describe('File/folder actions : on Favorites : ', () => {
fileFavLockedId,
fileSharedFavLockedId
]);
await userApi.nodes.lockFile(fileFavLockedId);
await userApi.nodes.lockFile(fileSharedFavLockedId);
await apis.user.nodes.lockFile(fileFavLockedId);
await apis.user.nodes.lockFile(fileSharedFavLockedId);
await apis.user.favorites.waitForApi({ expect: 8 });
await apis.user.shared.waitForApi({ expect: 3 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 8 }),
userApi.shared.waitForApi({ expect: 3 })
]);
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFavoritesAndWait();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await userApi.nodes.deleteNodeById(parentId);
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('on a file', () => {
it('File Office, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.favoritesContextMenu);
});
it('File favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.favoritesContextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary, data.fileDocxSharedFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesContextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary, data.fileSharedFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.favoritesContextMenu);
});
it('File favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.favoritesContextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary, data.fileSharedFavLocked.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesContextMenu);
});
});
describe('on a folder', () => {
it('Folder favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.favoritesContextMenu);
});
});
@@ -157,26 +153,22 @@ describe('File/folder actions : on Favorites : ', () => {
describe('on multiple selection', () => {
it('multiple files - [C280656]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
it('multiple locked files - [C297631]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
it('multiple folders - [C280664]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
it('both files and folders - [C280657]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
});
});

View File

@@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders';
import * as testUtil from '../test-util';
@@ -36,43 +37,52 @@ describe('File/folder actions : on Personal Files: ', () => {
const username = `user-${random}`;
const parent = `parent-${random}`; let parentId;
const parent = `parent-${random}`;
let parentId: string;
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
let folderFavId;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileLockedId: string;
let fileFavLockedId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
let folderFavId: string;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { dataTable } = page;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
parentId = (await userApi.nodes.createFolder(parent)).entry.id;
await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name );
fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await apis.user.nodes.createFile(data.file.name, parentId);
fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name );
fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await userApi.nodes.createFile(data.file.name, parentId);
fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await apis.user.nodes.createFolder(data.folder.name, parentId);
folderFavId = (await apis.user.nodes.createFolder(data.folderFav.name, parentId)).entry.id;
await apis.user.favorites.addFavoriteById('folder', folderFavId);
await userApi.nodes.createFolder(data.folder.name, parentId);
folderFavId = (await userApi.nodes.createFolder(data.folderFav.name, parentId)).entry.id;
await userApi.favorites.addFavoriteById('folder', folderFavId);
await apis.user.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -81,7 +91,7 @@ describe('File/folder actions : on Personal Files: ', () => {
fileSharedFavLockedId
]);
await apis.user.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -90,107 +100,90 @@ describe('File/folder actions : on Personal Files: ', () => {
fileSharedFavLockedId
]);
await apis.user.nodes.lockFile(fileLockedId);
await apis.user.nodes.lockFile(fileFavLockedId);
await apis.user.nodes.lockFile(fileSharedLockedId);
await apis.user.nodes.lockFile(fileSharedFavLockedId);
await userApi.nodes.lockFile(fileLockedId);
await userApi.nodes.lockFile(fileFavLockedId);
await userApi.nodes.lockFile(fileSharedLockedId);
await userApi.nodes.lockFile(fileSharedFavLockedId);
await apis.user.favorites.waitForApi({ expect: 7 });
await apis.user.shared.waitForApi({ expect: 6 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 7 }),
userApi.shared.waitForApi({ expect: 6 })
]);
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
await dataTable.doubleClickOnRowByName(parent);
await dataTable.waitForHeader();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await userApi.nodes.deleteNodeById(parentId);
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
describe('on a file', () => {
it('File Office - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.toolbarPrimary, data.fileDocx.toolbarMore);
await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu);
});
it('File Office, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu);
});
it('File simple - []', async () => {
await testUtil.checkToolbarPrimary(data.file.name, data.file.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore);
await testUtil.checkToolbarActions(data.file.name, data.file.toolbarPrimary, data.file.toolbarMore);
await testUtil.checkContextMenu(data.file.name, data.file.contextMenu);
});
it('File favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.toolbarMore);
await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu);
});
it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu);
});
it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.toolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu);
});
it('File locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.toolbarPrimary, data.fileLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu);
});
it('File favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu);
});
it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
});
});
@@ -198,14 +191,12 @@ describe('File/folder actions : on Personal Files: ', () => {
describe('on a folder', () => {
it('Folder not favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folder.name, data.folder.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.toolbarMore);
await testUtil.checkToolbarActions(data.folder.name, data.folder.toolbarPrimary, data.folder.toolbarMore);
await testUtil.checkContextMenu(data.folder.name, data.folder.contextMenu);
});
it('Folder favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.toolbarMore);
await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.toolbarMore);
await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu);
});
});
@@ -213,32 +204,27 @@ describe('File/folder actions : on Personal Files: ', () => {
describe('on multiple selection', () => {
it('multiple files - [C217112]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files - all favorite - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
it('multiple locked files - [C297619]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple folders - [C280459]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folder.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('both files and folders - [C280460]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folder.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
});
});

View File

@@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders';
import * as testUtil from '../test-util';
@@ -36,38 +37,46 @@ describe('File actions : on Recent Files: ', () => {
const username = `user-${random}`;
const parent = `parent-${random}`; let parentId;
const parent = `parent-${random}`;
let parentId: string;
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileLockedId: string;
let fileFavLockedId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { dataTable } = page;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
parentId = (await userApi.nodes.createFolder(parent)).entry.id;
await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name);
fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await apis.user.nodes.createFile(data.file.name, parentId);
fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name);
fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await userApi.nodes.createFile(data.file.name, parentId);
fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await apis.user.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -76,7 +85,7 @@ describe('File actions : on Recent Files: ', () => {
fileSharedFavLockedId
]);
await apis.user.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -85,106 +94,88 @@ describe('File actions : on Recent Files: ', () => {
fileSharedFavLockedId
]);
await apis.user.nodes.lockFile(fileLockedId);
await apis.user.nodes.lockFile(fileFavLockedId);
await apis.user.nodes.lockFile(fileSharedLockedId);
await apis.user.nodes.lockFile(fileSharedFavLockedId);
await userApi.nodes.lockFile(fileLockedId);
await userApi.nodes.lockFile(fileFavLockedId);
await userApi.nodes.lockFile(fileSharedLockedId);
await userApi.nodes.lockFile(fileSharedFavLockedId);
await apis.user.favorites.waitForApi({ expect: 6 });
await apis.user.shared.waitForApi({ expect: 6 });
await apis.user.search.waitForApi(username, { expect: 12 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 6 }),
userApi.shared.waitForApi({ expect: 6 }),
userApi.search.waitForApi(username, { expect: 12 })
]);
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickRecentFilesAndWait();
await dataTable.waitForHeader();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await userApi.nodes.deleteNodeById(parentId);
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
describe('on single selection', () => {
it('File Office - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.toolbarPrimary, data.fileDocx.toolbarMore);
await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu);
});
it('File Office, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu);
});
it('File simple - []', async () => {
await testUtil.checkToolbarPrimary(data.file.name, data.file.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore);
await testUtil.checkToolbarActions(data.file.name, data.file.toolbarPrimary, data.file.toolbarMore);
await testUtil.checkContextMenu(data.file.name, data.file.contextMenu);
});
it('File favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.toolbarMore);
await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu);
});
it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu);
});
it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.toolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu);
});
it('File locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.toolbarPrimary, data.fileLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu);
});
it('File favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu);
});
it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
});
});
@@ -192,20 +183,17 @@ describe('File actions : on Recent Files: ', () => {
describe('on multiple selection', () => {
it('multiple files - [C280468]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files - all favorite - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileFav.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
it('multiple locked files - [C297624]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
});

View File

@@ -23,10 +23,11 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages';
import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders';
import * as testUtil from '../test-util';
@@ -36,43 +37,53 @@ describe('File/folder actions : on Search Results : ', () => {
const username = `user-${random}`;
const parent = `parent-${random}`; let parentId;
const parent = `parent-${random}`;
let parentId: string;
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
let folderFavId;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileLockedId: string;
let fileFavLockedId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
let folderFavId: string;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { searchInput } = page.header;
const searchResultsPage = new SearchResultsPage();
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
parentId = (await userApi.nodes.createFolder(parent)).entry.id;
await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name );
fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await apis.user.nodes.createFile(data.file.name, parentId);
fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name );
fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await userApi.nodes.createFile(data.file.name, parentId);
fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await apis.user.nodes.createFolder(data.folder.name, parentId);
folderFavId = (await apis.user.nodes.createFolder(data.folderFav.name, parentId)).entry.id;
await apis.user.favorites.addFavoriteById('folder', folderFavId);
await userApi.nodes.createFolder(data.folder.name, parentId);
folderFavId = (await userApi.nodes.createFolder(data.folderFav.name, parentId)).entry.id;
await userApi.favorites.addFavoriteById('folder', folderFavId);
await apis.user.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -81,7 +92,7 @@ describe('File/folder actions : on Search Results : ', () => {
fileSharedFavLockedId
]);
await apis.user.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -90,202 +101,158 @@ describe('File/folder actions : on Search Results : ', () => {
fileSharedFavLockedId
]);
await apis.user.nodes.lockFile(fileLockedId);
await apis.user.nodes.lockFile(fileFavLockedId);
await apis.user.nodes.lockFile(fileSharedLockedId);
await apis.user.nodes.lockFile(fileSharedFavLockedId);
await userApi.nodes.lockFile(fileLockedId);
await userApi.nodes.lockFile(fileFavLockedId);
await userApi.nodes.lockFile(fileSharedLockedId);
await userApi.nodes.lockFile(fileSharedFavLockedId);
await apis.user.favorites.waitForApi({ expect: 7 });
await apis.user.shared.waitForApi({ expect: 6 });
await apis.user.search.waitForApi(username, { expect: 12 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 7 }),
userApi.shared.waitForApi({ expect: 6 }),
userApi.search.waitForApi(username, { expect: 12 })
]);
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
afterAll(async () => {
await userApi.nodes.deleteNodeById(parentId);
});
beforeEach(async () => {
await Utils.pressEscape();
});
describe('on a file', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
await searchResultsPage.waitForResults();
});
it('File Office - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.searchToolbarPrimary, data.fileDocx.searchToolbarMore);
await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.searchContextMenu);
});
it('File Office, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary, data.fileDocxFav.searchToolbarMore);
await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.searchContextMenu);
});
it('File simple - []', async () => {
await testUtil.checkToolbarPrimary(data.file.name, data.file.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.file.name, data.file.searchToolbarMore);
await testUtil.checkToolbarActions(data.file.name, data.file.searchToolbarPrimary, data.file.searchToolbarMore);
await testUtil.checkContextMenu(data.file.name, data.file.searchContextMenu);
});
it('File favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.searchToolbarPrimary, data.fileFav.searchToolbarMore);
await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.searchContextMenu);
});
it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary, data.fileDocxShared.searchToolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.searchContextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary, data.fileDocxSharedFav.searchToolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchContextMenu);
});
it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.searchToolbarPrimary, data.fileShared.searchToolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.searchContextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary, data.fileSharedFav.searchToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.searchContextMenu);
});
it('File locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.searchToolbarPrimary, data.fileLocked.searchToolbarMore);
await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.searchContextMenu);
});
it('File favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary, data.fileFavLocked.searchToolbarMore);
await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.searchContextMenu);
});
it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary, data.fileSharedLocked.searchToolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.searchContextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary, data.fileSharedFavLocked.searchToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchContextMenu);
});
});
describe('on a folder', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchFor('folder-');
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
await searchResultsPage.waitForResults();
});
it('Folder not favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folder.name, data.folder.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.searchToolbarMore);
await testUtil.checkToolbarActions(data.folder.name, data.folder.searchToolbarPrimary, data.folder.searchToolbarMore);
await testUtil.checkContextMenu(data.folder.name, data.folder.searchContextMenu);
});
it('Folder favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.searchToolbarMore);
await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.searchToolbarPrimary, data.folderFav.searchToolbarMore);
await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.searchContextMenu);
});
});
describe('on multiple selection', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFiles();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
beforeAll(async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.searchFor('file-');
await searchResultsPage.waitForResults();
});
it('multiple files - [C291820]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
await testUtil.checkMultipleSelContextMenu([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore);
});
it('multiple files - all favorite - []', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.searchToolbarPrimary, data.multipleSelAllFav.searchToolbarMore);
});
it('multiple locked files - [C297626]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore);
});
it('multiple folders - [C291821]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchFor('folder-');
await searchResultsPage.waitForResults();
await testUtil.checkMultipleSelContextMenu([ data.folder.name, data.folderFav.name ], data.multipleSel.searchContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore);
});
it('both files and folders - [C291822]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchFor(`=${data.file.name} or =${data.folderFav.name}`);
await searchResultsPage.waitForResults();
await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folderFav.name ], data.multipleSel.searchContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.searchToolbarMore);
});
});
});

View File

@@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders';
import * as testUtil from '../test-util';
@@ -36,37 +37,42 @@ describe('File actions : on Shared Files : ', () => {
const username = `user-${random}`;
const parent = `parent-${random}`; let parentId;
const parent = `parent-${random}`;
let parentId: string;
let fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileSharedLockedId, fileSharedFavLockedId;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
parentId = (await userApi.nodes.createFolder(parent)).entry.id;
fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await apis.user.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxSharedFavId,
fileSharedFavId,
fileSharedFavLockedId
]);
await apis.user.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -75,66 +81,55 @@ describe('File actions : on Shared Files : ', () => {
fileSharedFavLockedId
]);
await apis.user.nodes.lockFile(fileSharedLockedId);
await apis.user.nodes.lockFile(fileSharedFavLockedId);
await userApi.nodes.lockFile(fileSharedLockedId);
await userApi.nodes.lockFile(fileSharedFavLockedId);
await apis.user.favorites.waitForApi({ expect: 3 });
await apis.user.shared.waitForApi({ expect: 6 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 3 }),
userApi.shared.waitForApi({ expect: 6 })
]);
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickSharedFilesAndWait();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await userApi.nodes.deleteNodeById(parentId);
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
describe('single selection', () => {
it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.sharedContextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedContextMenu);
});
it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.sharedContextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.sharedContextMenu);
});
it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.sharedContextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu);
});
});
@@ -142,20 +137,17 @@ describe('File actions : on Shared Files : ', () => {
describe('multiple selection', () => {
it('multiple files - [C280467]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files - all favorite - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
it('multiple locked files - [C297623]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
});

View File

@@ -66,7 +66,6 @@ const viewerLockedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Favori
// TODO: add Edit Offline when ACA-2174 is fixed
// TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue
const favoritesSharedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add Edit Offline when ACA-2174 is fixed
// TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue
@@ -129,7 +128,6 @@ const sharedFilesSharedFavToolbarMore = ['Upload New Version', 'Remove Favorite'
export const fileDocx = {
name: `file-docx-${Utils.random()}.docx`,
description: 'file not shared, not fav, office, not locked',

View File

@@ -26,6 +26,7 @@
import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders';
import * as testUtil from '../test-util';
@@ -33,49 +34,44 @@ describe('File/folder actions : on Trash : ', () => {
const username = `user-${Utils.random()}`;
let fileInTrashId, file2InTrashId, folderInTrashId, folder2InTrashId;
let fileInTrashId: string;
let file2InTrashId: string;
let folderInTrashId: string;
let folder2InTrashId: string;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
fileInTrashId = (await apis.user.nodes.createFile(data.fileInTrash.name)).entry.id;
file2InTrashId = (await apis.user.nodes.createFile(data.file2InTrash.name)).entry.id;
folderInTrashId = (await apis.user.nodes.createFolder(data.folderInTrash.name)).entry.id;
folder2InTrashId = (await apis.user.nodes.createFolder(data.folder2InTrash.name)).entry.id;
fileInTrashId = (await userApi.nodes.createFile(data.fileInTrash.name)).entry.id;
file2InTrashId = (await userApi.nodes.createFile(data.file2InTrash.name)).entry.id;
folderInTrashId = (await userApi.nodes.createFolder(data.folderInTrash.name)).entry.id;
folder2InTrashId = (await userApi.nodes.createFolder(data.folder2InTrash.name)).entry.id;
await apis.user.nodes.deleteNodeById(fileInTrashId, false);
await apis.user.nodes.deleteNodeById(file2InTrashId, false);
await apis.user.nodes.deleteNodeById(folderInTrashId, false);
await apis.user.nodes.deleteNodeById(folder2InTrashId, false);
await userApi.nodes.deleteNodeById(fileInTrashId, false);
await userApi.nodes.deleteNodeById(file2InTrashId, false);
await userApi.nodes.deleteNodeById(folderInTrashId, false);
await userApi.nodes.deleteNodeById(folder2InTrashId, false);
await apis.user.trashcan.waitForApi({ expect: 4 });
await userApi.trashcan.waitForApi({ expect: 4 });
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.trashcan.emptyTrash();
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickTrashAndWait();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await userApi.trashcan.emptyTrash();
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
it('on a file - [C286258]', async () => {

View File

@@ -23,10 +23,11 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages';
import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders';
import * as testUtil from '../test-util';
@@ -36,39 +37,49 @@ describe('File/folder actions : in the viewer : ', () => {
const username = `user-${random}`;
const parent = `parent-${random}`; let parentId;
const parent = `parent-${random}`;
let parentId: string;
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileLockedId: string;
let fileFavLockedId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
const searchResultsPage = new SearchResultsPage();
const { dataTable } = page;
const { searchInput } = page.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
parentId = (await userApi.nodes.createFolder(parent)).entry.id;
await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name );
fileDocxFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await apis.user.nodes.createFile(data.file.name, parentId);
fileFavId = (await apis.user.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await apis.user.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await apis.user.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocx.name );
fileDocxFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxFav.name)).entry.id;
await userApi.nodes.createFile(data.file.name, parentId);
fileFavId = (await userApi.nodes.createFile(data.fileFav.name, parentId)).entry.id;
fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileLockedId = (await userApi.nodes.createFile(data.fileLocked.name, parentId)).entry.id;
fileFavLockedId = (await userApi.nodes.createFile(data.fileFavLocked.name, parentId)).entry.id;
fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await userApi.nodes.createFile(data.fileSharedFavLocked.name, parentId)).entry.id;
await apis.user.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -77,7 +88,7 @@ describe('File/folder actions : in the viewer : ', () => {
fileSharedFavLockedId
]);
await apis.user.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -86,335 +97,259 @@ describe('File/folder actions : in the viewer : ', () => {
fileSharedFavLockedId
]);
await apis.user.nodes.lockFile(fileLockedId);
await apis.user.nodes.lockFile(fileFavLockedId);
await apis.user.nodes.lockFile(fileSharedLockedId);
await apis.user.nodes.lockFile(fileSharedFavLockedId);
await userApi.nodes.lockFile(fileLockedId);
await userApi.nodes.lockFile(fileFavLockedId);
await userApi.nodes.lockFile(fileSharedLockedId);
await userApi.nodes.lockFile(fileSharedFavLockedId);
await apis.user.favorites.waitForApi({ expect: 6 });
await apis.user.shared.waitForApi({ expect: 6 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 6 }),
userApi.shared.waitForApi({ expect: 6 })
]);
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
afterAll(async () => {
await userApi.nodes.deleteNodeById(parentId);
});
beforeEach(async () => {
await Utils.pressEscape();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('file opened from Personal Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickPersonalFilesAndWait();
await dataTable.doubleClickOnRowByName(parent);
await dataTable.waitForHeader();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
it('File Office - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore);
});
it('File Office, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore);
});
it('File simple - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore);
await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore);
});
it('File favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore);
});
it('File Office, shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore);
});
it('File favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore);
});
it('File shared, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
describe('file opened from Recent Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickRecentFilesAndWait();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
it('File Office - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore);
});
it('File Office, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore);
});
it('File simple - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore);
await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore);
});
it('File favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore);
});
it('File Office, shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore);
});
it('File favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore);
});
it('File shared, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
describe('file opened from Favorites', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickFavoritesAndWait();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
it('File Office, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore);
});
it('File favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
describe('file opened from Shared Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickSharedFilesAndWait();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
it('File Office, shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File shared, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
describe('file opened from Search Results', () => {
beforeAll(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFiles();
beforeAll(async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
await searchResultsPage.waitForResults();
});
it('File Office - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.searchViewerToolbarMore);
});
it('File Office, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.searchViewerToolbarMore);
});
it('File simple - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.searchViewerToolbarMore);
});
it('File favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.searchViewerToolbarMore);
});
it('File Office, shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.searchViewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.searchViewerToolbarMore);
});
it('File shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.searchViewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.searchViewerToolbarMore);
});
it('File locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.searchViewerToolbarMore);
});
it('File favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.searchViewerToolbarMore);
});
it('File shared, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.searchViewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchViewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.searchViewerToolbarMore);
});
});

View File

@@ -23,202 +23,194 @@
* 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 { RepoClient, NodeContentTree } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
import { AdminActions } from '../../utilities/admin-actions';
describe('Generic tests : ', () => {
const random = Utils.random();
const username = `user-${random}`;
const parent = `parent-${random}`; let parentId;
const parent = `parent-${random}`;
const file1 = `file1-${random}.txt`;
const file2 = `file2-${random}.txt`;
const folder1 = `my-folder1-${Utils.random()}`;
const folder2 = `my-folder2-${Utils.random()}`;
const folder1 = `my-folder1-${random}`;
const folder2 = `my-folder2-${random}`;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
const content: NodeContentTree = {
name: parent,
files: [file1, file2],
folders: [folder1, folder2]
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { dataTable, toolbar } = page;
const { searchInput } = page.header;
const contextMenu = dataTable.menu;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
await apis.user.nodes.createFile(file1, parentId);
await apis.user.nodes.createFile(file2, parentId);
await apis.user.nodes.createFolder(folder1, parentId);
await apis.user.nodes.createFolder(folder2, parentId);
await userApi.nodes.createContent(content);
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
afterAll(async () => {
await userApi.nodes.deleteNodeByPath(parent);
});
beforeEach(async (done) => {
beforeEach(async () => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
await dataTable.doubleClickOnRowByName(parent);
await dataTable.waitForHeader();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
describe('single selection', () => {
beforeEach(async () => {
await page.clickPersonalFilesAndWait();
await dataTable.doubleClickOnRowByName(parent);
await dataTable.waitForHeader();
});
it('selected row is marked with a check circle icon - [C213134]', async () => {
await dataTable.selectItem(file1);
expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, 'check mark missing');
});
it('selected row is marked with a check circle icon - [C213134]', async () => {
await dataTable.selectItem(file1);
expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, 'check mark missing');
});
it('Row is marked with a check circle icon on direct right click - [C286252]', async () => {
await dataTable.rightClickOnItem(file2);
expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, 'check mark missing');
});
it('Row is marked with a check circle icon on direct right click - [C286252]', async () => {
await dataTable.rightClickOnItem(file2);
expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, 'check mark missing');
});
it('Context menu appears on direct right click on an item - [C286253]', async () => {
await dataTable.rightClickOnItem(file1);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
it('Context menu appears on direct right click on an item - [C286253]', async () => {
await dataTable.rightClickOnItem(file1);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
it('Context menu appears when selecting an item and then right clicking on it - [C286254]', async () => {
await dataTable.selectItem(file2);
await dataTable.rightClickOnItem(file2);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
it('Context menu appears when selecting an item and then right clicking on it - [C286254]', async () => {
await dataTable.selectItem(file2);
await dataTable.rightClickOnItem(file2);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
it('Context menu appears correctly when right clicking on another item - [C284666]', async () => {
await dataTable.selectItem(file1);
await dataTable.rightClickOnItem(file2);
expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed`);
expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, `${file2} is not selected`);
expect(await dataTable.hasCheckMarkIcon(file1)).toBe(false, `${file1} is not selected`);
});
it('Context menu appears correctly when right clicking on another item - [C284666]', async () => {
await dataTable.selectItem(file1);
await dataTable.rightClickOnItem(file2);
expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed`);
expect(await dataTable.hasCheckMarkIcon(file2)).toBe(true, `${file2} is not selected`);
expect(await dataTable.hasCheckMarkIcon(file1)).toBe(false, `${file1} is not selected`);
});
it('Context menu closes when clicking away from it - [C280619]', async () => {
await dataTable.rightClickOnItem(file1);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
await page.breadcrumb.getCurrentItem().click();
expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed');
it('Context menu closes when clicking away from it - [C280619]', async () => {
await dataTable.rightClickOnItem(file1);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
await page.breadcrumb.getCurrentItem().click();
expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed');
});
});
describe('Actions are not displayed when no item is selected', () => {
it('on Personal Files - [C213120]', async () => {
await page.clickPersonalFilesAndWait();
await dataTable.clearSelection();
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('on Trash - [C280452]', async () => {
await page.clickTrash();
await dataTable.clearSelection();
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('on Favorites - [C280449]', async () => {
await page.clickFavorites();
await dataTable.clearSelection();
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('on Recent Files - [C280447]', async () => {
await userApi.search.waitForApi(username, { expect: 2 });
await page.clickRecentFilesAndWait();
await dataTable.clearSelection();
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('on Shared Files - [C280445]', async () => {
await page.clickSharedFiles();
await dataTable.clearSelection();
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('on My Libraries - [C280439]', async () => {
await page.goToMyLibraries();
await dataTable.clearSelection();
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('on Favorite Libraries - [C280439]', async () => {
await page.goToFavoriteLibraries();
await dataTable.clearSelection();
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('on Search Results - [C291815]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchFor('*');
expect(await toolbar.isToggleSearchFiltersPresent()).toBe(true, `Search filter toggle is not displayed`);
expect(await toolbar.numberOfAvailableActions()).toBe(1, `more than 1 action is present`);
expect(await toolbar.getButtons()).toEqual(['Toggle search filter']);
});
});
it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => {
await dataTable.selectMultipleItems([ file1, file2 ]);
await dataTable.rightClickOnMultipleSelection();
describe('multiple selection', () => {
beforeEach(async () => {
await page.clickPersonalFilesAndWait();
await dataTable.doubleClickOnRowByName(parent);
await dataTable.waitForHeader();
});
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => {
await dataTable.selectMultipleItems([ file1, file2 ]);
await dataTable.rightClickOnMultipleSelection();
it('Context menu appears when right clicking on a single item while having multiple items selected - [C286269]', async () => {
await dataTable.selectMultipleItems([ file2, folder1 ]);
await dataTable.rightClickOnItem(file1);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${file1}`);
expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect number of selected rows');
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`);
expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, `${file1} is not selected`);
expect(await dataTable.hasCheckMarkIcon(file2)).toBe(false, `${file2} is selected`);
expect(await dataTable.hasCheckMarkIcon(folder1)).toBe(false, `${folder1} is selected`);
});
it('Context menu appears when right clicking on a single item while having multiple items selected - [C286269]', async () => {
await dataTable.selectMultipleItems([ file2, folder1 ]);
await dataTable.rightClickOnItem(file1);
it('Unselect items with single click - [C280458]', async () => {
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${file1}`);
expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect number of selected rows');
expect(await contextMenu.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`);
expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, `${file1} is not selected`);
expect(await dataTable.hasCheckMarkIcon(file2)).toBe(false, `${file2} is selected`);
expect(await dataTable.hasCheckMarkIcon(folder1)).toBe(false, `${folder1} is selected`);
});
expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number');
it('Unselect items with single click - [C280458]', async () => {
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number');
await dataTable.clickItem(file1);
await dataTable.clickItem(file1);
expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect selected rows number');
});
expect(await dataTable.getSelectedRowsCount()).toEqual(1, 'incorrect selected rows number');
});
it('Select / unselect items by CMD+click - [C217110]', async () => {
await Utils.pressCmd();
await dataTable.clickItem(file1);
await dataTable.clickItem(file2);
await dataTable.clickItem(folder1);
await dataTable.clickItem(folder2);
await Utils.releaseKeyPressed();
expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number');
it('Select / unselect items by CMD+click - [C217110]', async () => {
await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
await dataTable.clickItem(file1);
await dataTable.clickItem(file2);
await dataTable.clickItem(folder1);
await dataTable.clickItem(folder2);
await browser.actions().sendKeys(protractor.Key.NULL).perform();
expect(await dataTable.getSelectedRowsCount()).toEqual(4, 'incorrect selected rows number');
await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
await dataTable.clickItem(file1);
await dataTable.clickItem(file2);
await browser.actions().sendKeys(protractor.Key.NULL).perform();
expect(await dataTable.getSelectedRowsCount()).toEqual(2, 'incorrect selected rows number');
await Utils.pressCmd();
await dataTable.clickItem(file1);
await dataTable.clickItem(file2);
await Utils.releaseKeyPressed();
expect(await dataTable.getSelectedRowsCount()).toEqual(2, 'incorrect selected rows number');
});
});
});

View File

@@ -24,76 +24,72 @@
*/
import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages';
import { SITE_VISIBILITY } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-libraries';
import * as testUtil from '../test-util';
describe('Library actions : ', () => {
const username = `user-${Utils.random()}`;
const apis = {
admin: new RepoClient(),
user: new RepoClient(username, username)
};
const userApi = new RepoClient(username, username);
const adminApiActions = new AdminActions();
const loginPage = new LoginPage();
const page = new BrowsingPage();
const searchResultsPage = new SearchResultsPage();
const { searchInput } = searchResultsPage.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
beforeAll(async () => {
await adminApiActions.createUser({ username });
await apis.user.sites.createSite(data.publicUserMemberFav.name);
await apis.user.sites.createSite(data.privateUserMemberFav.name, SITE_VISIBILITY.PRIVATE);
await apis.user.sites.createSite(data.moderatedUserMemberFav.name, SITE_VISIBILITY.MODERATED);
await userApi.sites.createSite(data.publicUserMemberFav.name);
await userApi.sites.createSitePrivate(data.privateUserMemberFav.name);
await userApi.sites.createSiteModerated(data.moderatedUserMemberFav.name);
const publicUserMemberNotFavId = (await apis.user.sites.createSite(data.publicUserMemberNotFav.name)).entry.guid;
const privateUserMemberNotFavId = (await apis.user.sites.createSite(data.privateUserMemberNotFav.name, SITE_VISIBILITY.PRIVATE)).entry.guid;
const moderatedUserMemberNotFavId = (await apis.user.sites.createSite(data.moderatedUserMemberNotFav.name, SITE_VISIBILITY.MODERATED)).entry.guid;
const publicUserMemberNotFavId = (await userApi.sites.createSite(data.publicUserMemberNotFav.name)).entry.guid;
const privateUserMemberNotFavId = (await userApi.sites.createSitePrivate(data.privateUserMemberNotFav.name)).entry.guid;
const moderatedUserMemberNotFavId = (await userApi.sites.createSiteModerated(data.moderatedUserMemberNotFav.name)).entry.guid;
await apis.admin.sites.createSite(data.publicNotMemberFav.name);
await apis.admin.sites.createSite(data.moderatedNotMemberFav.name, SITE_VISIBILITY.MODERATED);
await adminApiActions.sites.createSite(data.publicNotMemberFav.name);
await adminApiActions.sites.createSiteModerated(data.moderatedNotMemberFav.name);
await apis.admin.sites.createSite(data.publicNotMemberNotFav.name);
await apis.admin.sites.createSite(data.moderatedNotMemberNotFav.name, SITE_VISIBILITY.MODERATED);
await adminApiActions.sites.createSite(data.publicNotMemberNotFav.name);
await adminApiActions.sites.createSiteModerated(data.moderatedNotMemberNotFav.name);
await apis.admin.sites.createSite(data.moderatedRequestedJoinFav.name, SITE_VISIBILITY.MODERATED);
await apis.admin.sites.createSite(data.moderatedRequestedJoinNotFav.name, SITE_VISIBILITY.MODERATED);
await adminApiActions.sites.createSiteModerated(data.moderatedRequestedJoinFav.name);
await adminApiActions.sites.createSiteModerated(data.moderatedRequestedJoinNotFav.name);
await apis.user.sites.createSite(data.siteInTrash.name, SITE_VISIBILITY.PUBLIC);
await apis.user.sites.createSite(data.site2InTrash.name, SITE_VISIBILITY.PUBLIC);
await userApi.sites.createSite(data.siteInTrash.name);
await userApi.sites.createSite(data.site2InTrash.name);
await apis.user.sites.waitForApi({ expect: 8 });
await apis.admin.sites.waitForApi({ expect: 6 });
await Promise.all([
userApi.sites.waitForApi({ expect: 8 }),
adminApiActions.sites.waitForApi({ expect: 6 + 1 })
]);
await apis.user.favorites.removeFavoriteById(publicUserMemberNotFavId);
await apis.user.favorites.removeFavoriteById(privateUserMemberNotFavId);
await apis.user.favorites.removeFavoriteById(moderatedUserMemberNotFavId);
await userApi.favorites.removeFavoritesByIds([publicUserMemberNotFavId, privateUserMemberNotFavId, moderatedUserMemberNotFavId]);
await apis.user.favorites.addFavoriteById('site', data.publicNotMemberFav.name);
await apis.user.favorites.addFavoriteById('site', data.moderatedNotMemberFav.name);
await apis.user.favorites.addFavoriteById('site', data.moderatedRequestedJoinFav.name);
await userApi.favorites.addFavoritesByIds('site', [data.publicNotMemberFav.name, data.moderatedNotMemberFav.name, data.moderatedRequestedJoinFav.name]);
await apis.user.sites.requestToJoin(data.moderatedRequestedJoinFav.name);
await apis.user.sites.requestToJoin(data.moderatedRequestedJoinNotFav.name);
await userApi.sites.requestToJoin(data.moderatedRequestedJoinFav.name);
await userApi.sites.requestToJoin(data.moderatedRequestedJoinNotFav.name);
await apis.user.queries.waitForSites('site-', { expect: 13 });
await userApi.queries.waitForSites('site-', { expect: 14 + 1 });
await apis.user.sites.deleteSite(data.siteInTrash.name, false);
await apis.user.sites.deleteSite(data.site2InTrash.name, false);
await userApi.sites.deleteSite(data.siteInTrash.name, false);
await userApi.sites.deleteSite(data.site2InTrash.name, false);
await apis.user.trashcan.waitForApi({ expect: 2 });
await userApi.trashcan.waitForApi({ expect: 2 });
await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
afterAll(async () => {
await Promise.all([
apis.user.sites.deleteSites([
userApi.sites.deleteSites([
data.publicUserMemberFav.name,
data.privateUserMemberFav.name,
data.moderatedUserMemberFav.name,
@@ -101,7 +97,7 @@ describe('Library actions : ', () => {
data.privateUserMemberNotFav.name,
data.moderatedUserMemberNotFav.name
]),
apis.admin.sites.deleteSites([
adminApiActions.sites.deleteSites([
data.publicNotMemberFav.name,
data.moderatedNotMemberFav.name,
data.publicNotMemberNotFav.name,
@@ -109,22 +105,19 @@ describe('Library actions : ', () => {
data.moderatedRequestedJoinFav.name,
data.moderatedRequestedJoinNotFav.name
]),
apis.user.trashcan.emptyTrash()
userApi.trashcan.emptyTrash()
]);
done();
});
describe('on My Libraries', () => {
beforeEach(async (done) => {
beforeAll(async () => {
await Utils.pressEscape();
await page.goToMyLibrariesAndWait();
done();
});
afterEach(async (done) => {
beforeEach(async () => {
await Utils.pressEscape();
done();
});
it('Public library, user is a member, favorite - []', async () => {
@@ -167,15 +160,13 @@ describe('Library actions : ', () => {
describe('on Favorite Libraries', () => {
beforeEach(async (done) => {
beforeAll(async () => {
await Utils.pressEscape();
await page.goToFavoriteLibrariesAndWait();
done();
});
afterEach(async (done) => {
beforeEach(async () => {
await Utils.pressEscape();
done();
});
it('Public library, user is a member, favorite - []', async () => {
@@ -217,18 +208,16 @@ describe('Library actions : ', () => {
describe('on Search Results', () => {
beforeEach(async (done) => {
beforeAll(async () => {
await Utils.pressEscape();
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.checkLibraries();
await searchInput.searchFor('site-');
done();
});
afterEach(async (done) => {
beforeEach(async () => {
await Utils.pressEscape();
done();
});
it('Public library, user is a member, favorite - []', async () => {
@@ -305,14 +294,13 @@ describe('Library actions : ', () => {
});
describe('on Trash', () => {
beforeEach(async (done) => {
beforeAll(async () => {
await Utils.pressEscape();
await page.clickTrashAndWait();
done();
});
afterEach(async (done) => {
beforeEach(async () => {
await Utils.pressEscape();
done();
});
it('single library - []', async () => {

View File

@@ -24,36 +24,40 @@
*/
import { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages';
import { SITE_VISIBILITY, SITE_ROLES, FILES } from '../../../configs';
import { SITE_ROLES, FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { Viewer } from '../../../components/viewer/viewer';
import { AdminActions } from '../../../utilities/admin-actions';
import * as testUtil from '../test-util';
describe('', () => {
const userConsumer = `consumer-${Utils.random()}`;
const userCollaborator = `collaborator-${Utils.random()}`;
const userDemoted = `demoted-${Utils.random()}`;
const random = Utils.random();
const siteName = `site-private-${Utils.random()}`;
const file1 = `my-file1-${Utils.random()}.txt`;
let file1Id;
const file2 = `my-file2-${Utils.random()}.txt`;
let file2Id;
const file3 = `my-file3-${Utils.random()}.txt`;
let file3Id;
const fileLocked = `my-file-locked-${Utils.random()}.txt`;
let fileLockedId;
const userConsumer = `consumer-${random}`;
const userCollaborator = `collaborator-${random}`;
const userDemoted = `demoted-${random}`;
const folder1 = `my-folder1-${Utils.random()}`;
let folder1Id;
const folder2 = `my-folder2-${Utils.random()}`;
let folder2Id;
const siteName = `site-private-${random}`;
const file1 = `my-file1-${random}.txt`;
let file1Id: string;
const file2 = `my-file2-${random}.txt`;
let file2Id: string;
const file3 = `my-file3-${random}.txt`;
let file3Id: string;
const fileLocked = `my-file-locked-${random}.txt`;
let fileLockedId: string;
const folder1 = `my-folder1-${random}`;
let folder1Id: string;
const folder2 = `my-folder2-${random}`;
let folder2Id: string;
const docxFile = FILES.docxFile;
let docxFileId;
let docxFileId: string;
const adminApiActions = new AdminActions();
const apis = {
admin: new RepoClient(),
userConsumer: new RepoClient(userConsumer, userConsumer),
userCollaborator: new RepoClient(userCollaborator, userCollaborator),
userDemoted: new RepoClient(userDemoted, userDemoted)
@@ -61,777 +65,339 @@ describe('', () => {
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { dataTable, toolbar } = page;
const viewer = new Viewer();
const viewerToolbar = viewer.toolbar;
const { dataTable } = page;
const searchResultsPage = new SearchResultsPage();
const { searchInput } = searchResultsPage.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username: userConsumer });
await apis.admin.people.createUser({ username: userCollaborator });
await apis.admin.people.createUser({ username: userDemoted });
beforeAll(async () => {
await adminApiActions.createUser({ username: userConsumer });
await adminApiActions.createUser({ username: userCollaborator });
await adminApiActions.createUser({ username: userDemoted });
await apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
const docLibId = await apis.admin.sites.getDocLibId(siteName);
await adminApiActions.sites.createSitePrivate(siteName);
const docLibId = await adminApiActions.sites.getDocLibId(siteName);
file1Id = (await apis.admin.nodes.createFile(file1, docLibId)).entry.id;
file2Id = (await apis.admin.nodes.createFile(file2, docLibId)).entry.id;
file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id;
folder1Id = (await apis.admin.nodes.createFolder(folder1, docLibId)).entry.id;
folder2Id = (await apis.admin.nodes.createFolder(folder2, docLibId)).entry.id;
file1Id = (await adminApiActions.nodes.createFile(file1, docLibId)).entry.id;
file2Id = (await adminApiActions.nodes.createFile(file2, docLibId)).entry.id;
file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id;
folder1Id = (await adminApiActions.nodes.createFolder(folder1, docLibId)).entry.id;
folder2Id = (await adminApiActions.nodes.createFolder(folder2, docLibId)).entry.id;
docxFileId = (await apis.admin.upload.uploadFile(docxFile, docLibId)).entry.id;
docxFileId = (await adminApiActions.upload.uploadFile(docxFile, docLibId)).entry.id;
await apis.admin.sites.addSiteMember(siteName, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE);
await apis.admin.sites.addSiteMember(siteName, userCollaborator, SITE_ROLES.SITE_COLLABORATOR.ROLE);
await apis.admin.sites.addSiteMember(siteName, userDemoted, SITE_ROLES.SITE_MANAGER.ROLE);
await adminApiActions.sites.addSiteConsumer(siteName, userConsumer);
await adminApiActions.sites.addSiteCollaborator(siteName, userCollaborator);
await adminApiActions.sites.addSiteManager(siteName, userDemoted);
fileLockedId = (await apis.admin.nodes.createFile(fileLocked, docLibId)).entry.id;
fileLockedId = (await adminApiActions.nodes.createFile(fileLocked, docLibId)).entry.id;
await apis.userDemoted.nodes.lockFile(fileLockedId);
await apis.userDemoted.favorites.addFavoriteById('file', fileLockedId);
await apis.userDemoted.shared.shareFileById(fileLockedId);
await apis.admin.sites.updateSiteMember(siteName, userDemoted, SITE_ROLES.SITE_CONSUMER.ROLE);
await adminApiActions.sites.updateSiteMember(siteName, userDemoted, SITE_ROLES.SITE_CONSUMER.ROLE);
await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await apis.userConsumer.shared.shareFileById(file1Id);
await apis.userConsumer.shared.shareFileById(file2Id);
await apis.userConsumer.shared.shareFileById(docxFileId);
await apis.userConsumer.shared.shareFileById(file3Id);
await apis.userConsumer.shared.waitForApi({ expect: 5 });
await apis.userConsumer.shared.shareFilesByIds([file1Id, file2Id, docxFileId, file3Id]);
await apis.userConsumer.favorites.addFavoritesByIds('file', [file1Id, file2Id, file3Id, docxFileId]);
await apis.userConsumer.favorites.addFavoritesByIds('folder', [folder1Id, folder2Id]);
await apis.userConsumer.favorites.waitForApi({ expect: 6 });
await apis.userCollaborator.favorites.addFavoritesByIds('file', [file1Id, docxFileId]);
await apis.userCollaborator.favorites.waitForApi({ expect: 2 });
await apis.admin.favorites.addFavoriteById('file', fileLockedId);
await adminApiActions.favorites.addFavoriteById('file', fileLockedId);
done();
await Promise.all([
apis.userConsumer.shared.waitForApi({ expect: 5 }),
apis.userConsumer.favorites.waitForApi({ expect: 6 }),
apis.userCollaborator.favorites.waitForApi({ expect: 2 })
]);
});
afterAll(async (done) => {
await apis.admin.sites.deleteSite(siteName);
done();
afterAll(async () => {
await adminApiActions.sites.deleteSite(siteName);
});
beforeEach(async () => {
await Utils.pressEscape();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('Collaborator', () => {
beforeAll(async (done) => {
beforeAll(async () => {
await loginPage.loginWith(userCollaborator);
done();
});
it('on File Libraries - [C297647]', async () => {
await page.clickFileLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.selectItem(file1);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${file1}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${file1}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${file1}`);
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Shared Files - [C297651]', async () => {
await page.clickSharedFilesAndWait();
await page.dataTable.selectItem(file1);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add 'Edit Offline' when ACA-2173 is done
const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await toolbar.openMoreMenu();
// TODO: change expect to true when ACA-2173 is done
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${file1}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${file1}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${file1}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Favorites - [C297652]', async () => {
await page.clickFavoritesAndWait();
await dataTable.selectItem(file1);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared Link Settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add 'Edit Offline' when ACA-2174 is done
// TODO: remove 'Delete' when ACA-1737 is done
// TODO: remove 'Move' when ACA-1737 is done
const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
await toolbar.openMoreMenu();
// TODO: change expect to true when ACA-2174 is done
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is not displayed for ${file1}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`);
// TODO: change expect to false when ACA-1737 is done
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is displayed for ${file1}`);
// TODO: change expect to false when ACA-1737 is done
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is displayed for ${file1}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Search Results - [C297653]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor(file1);
await dataTable.selectItem(file1);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${file1}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed for ${file1}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed for ${file1}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${file1}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${file1}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${file1}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(file1, expectedToolbarPrimary, expectedToolbarMore);
});
describe('in the viewer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
afterAll(async (done) => {
await Utils.pressEscape();
done();
});
it('file opened from File Libraries - [C297654]', async () => {
await page.clickFileLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.doubleClickOnRowByName(docxFile);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Shared Files - [C297655]', async () => {
await page.clickSharedFilesAndWait();
await dataTable.doubleClickOnRowByName(docxFile);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Favorites - [C297656]', async () => {
await page.clickFavoritesAndWait();
await dataTable.doubleClickOnRowByName(docxFile);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove Favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Search Results - [C306992]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor(docxFile);
await dataTable.waitForBody();
await dataTable.doubleClickOnRowByName(docxFile);
await viewer.waitForViewerToOpen();
await searchResultsPage.waitForResults();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Edit in Microsoft Office™', 'Edit Offline', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(true, `Edit offline is not displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(docxFile, expectedToolbarPrimary, expectedToolbarMore);
});
});
});
describe('File locked - lock owner : ', () => {
beforeAll(async (done) => {
beforeAll(async () => {
await loginPage.loginWith(userDemoted);
done();
});
it('on File Libraries - [C297657]', async () => {
await page.clickFileLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.selectItem(fileLocked);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked}`);
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Shared Files - [C297658]', async () => {
await page.clickSharedFilesAndWait();
await page.dataTable.selectItem(fileLocked);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add 'Cancel Editing' when ACA-2173 is done
const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
// TODO: change expect to true when ACA-2173 is done
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Favorites - [C297659]', async () => {
await page.clickFavoritesAndWait();
await dataTable.selectItem(fileLocked);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared Link Settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add 'Cancel Editing' when ACA-2174 is fixed
// TODO: remove 'Move' when ACA-1737 is fixed
// TODO: remove 'Delete' when ACA-1737 is fixed
const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
// TODO: change expect to true when ACA-2174 is fixed
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
// TODO: change expect to false when ACA-1737 is fixed
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is displayed for ${fileLocked}`);
// TODO: change expect to false when ACA-1737 is fixed
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is displayed for ${fileLocked}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Search Results - [C297660]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor(fileLocked);
await dataTable.selectItem(fileLocked);
await searchResultsPage.waitForResults();
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is not displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
describe('in the viewer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
afterAll(async (done) => {
await Utils.pressEscape();
done();
});
it('file opened from File Libraries - [C297661]', async () => {
await page.clickFileLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Shared Files - [C297662]', async () => {
await page.clickSharedFilesAndWait();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Favorites - [C297663]', async () => {
await page.clickFavoritesAndWait();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Search Results - [C306993]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor(fileLocked);
await dataTable.waitForBody();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
await searchResultsPage.waitForResults();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Upload New Version', 'Remove Favorite', 'Copy', 'Manage Versions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(true, `Upload new version is not displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
});
});
describe('File locked - manager : ', () => {
beforeAll(async (done) => {
describe('File locked by other user - manager : ', () => {
beforeAll(async () => {
await loginPage.loginWithAdmin();
done();
});
it('on File Libraries - [C297664]', async () => {
await page.clickFileLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.selectItem(fileLocked);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, 'Upload new version is displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Shared Files - [C297665]', async () => {
await page.clickSharedFilesAndWait();
await page.dataTable.selectItem(fileLocked);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add 'Cancel Editing' when ACA-2173 is done
// TODO: remove 'Upload New Version' when ACA-2173 is done
const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
// TODO: change expect to true when ACA-2173 is done
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
// TODO: change expect to false when ACA-2173 is done
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Favorites - [C297666]', async () => {
await page.clickFavoritesAndWait();
await dataTable.selectItem(fileLocked);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared Link Settings is not displayed`);
const expectedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add 'Cancel Editing' when ACA-2174 is fixed
// TODO: remove 'Upload New Version' when ACA-1737 is done
const expectedToolbarMore = ['Upload New Version', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
// TODO: change expect to true when ACA-2174 is fixed
expect(await toolbar.menu.isCancelEditingPresent()).toBe(false, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
// TODO: change expect to false when ACA-1737 is done
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(true, 'Upload new version is displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('on Search Results - [C297667]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor(fileLocked);
await dataTable.selectItem(fileLocked);
await searchResultsPage.waitForResults();
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileLocked}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileLocked}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${fileLocked}`);
expect(await toolbar.isEditFolderPresent()).toBe(false, `Edit folder is displayed for ${fileLocked}`);
expect(await toolbar.isSharedLinkSettingsPresent()).toBe(true, `Shared link settings is not displayed`);
const expectedToolbarPrimary = ['Toggle search filter', 'Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await toolbar.openMoreMenu();
expect(await toolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed for ${fileLocked}`);
expect(await toolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileLocked} in Search Results`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileLocked} in Search Results`);
expect(await toolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed for ${fileLocked}`);
expect(await toolbar.menu.isManageVersionsPresent()).toBe(true, 'Manage versions is not displayed');
expect(await toolbar.menu.isUploadNewVersionPresent()).toBe(false, 'Upload new version is displayed');
await toolbar.closeMoreMenu();
await testUtil.checkToolbarActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
describe('in the viewer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
afterAll(async (done) => {
await Utils.pressEscape();
done();
});
it('file opened from File Libraries - [C297671]', async () => {
await page.clickFileLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Shared Files - [C297672]', async () => {
await page.clickSharedFilesAndWait();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Favorites - [C297673]', async () => {
await page.clickFavoritesAndWait();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
expect(await viewerToolbar.isEmpty()).toBe(false, `viewer toolbar is empty`);
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Move', 'Copy', 'Delete', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await viewerToolbar.menu.isMovePresent()).toBe(true, `Move is not displayed`);
expect(await viewerToolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
it('file opened from Search Results - [C306994]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor(fileLocked);
await dataTable.waitForBody();
await dataTable.doubleClickOnRowByName(fileLocked);
await viewer.waitForViewerToOpen();
await searchResultsPage.waitForResults();
expect(await viewerToolbar.isViewPresent()).toBe(false, `View is displayed`);
expect(await viewerToolbar.isDownloadPresent()).toBe(true, `Download is not displayed`);
expect(await viewerToolbar.isPrintPresent()).toBe(true, `Print is not displayed`);
expect(await viewerToolbar.isFullScreenPresent()).toBe(true, `Full screen is not displayed`);
expect(await viewerToolbar.isSharedLinkSettingsPresent()).toBe(true, 'Shared link settings is not displayed');
expect(await viewerToolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed`);
const expectedToolbarPrimary = ['Activate full-screen mode', 'Shared Link Settings', 'Download', 'Print', 'View Details', 'More Actions'];
// TODO: add 'Move' when ACA-2319 is fixed
// TODO: add 'Delete' when ACA-2319 is fixed
const expectedToolbarMore = ['Cancel Editing', 'Remove Favorite', 'Copy', 'Manage Versions', 'Permissions'];
await viewerToolbar.openMoreMenu();
expect(await viewerToolbar.menu.isEditOfflinePresent()).toBe(false, `Edit offline is displayed`);
expect(await viewerToolbar.menu.isCancelEditingPresent()).toBe(true, `Cancel editing is not displayed`);
expect(await viewerToolbar.menu.isToggleRemoveFavoritePresent()).toBe(true, `Remove favorite is not displayed`);
expect(await viewerToolbar.menu.isSharePresent()).toBe(false, `Share is displayed in More Actions`);
expect(await viewerToolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
// TODO: change expect to true when ACA-2319 is fixed
expect(await viewerToolbar.menu.isMovePresent()).toBe(false, `Move is not displayed`);
// TODO: change expect to true when ACA-2319 is fixed
expect(await viewerToolbar.menu.isDeletePresent()).toBe(false, `Delete is not displayed`);
expect(await viewerToolbar.menu.isManageVersionsPresent()).toBe(true, `Manage versions is not displayed`);
expect(await viewerToolbar.menu.isUploadNewVersionPresent()).toBe(false, `Upload new version is displayed`);
await viewerToolbar.closeMoreMenu();
await testUtil.checkViewerActions(fileLocked, expectedToolbarPrimary, expectedToolbarMore);
});
});
});

View File

@@ -24,54 +24,60 @@
*/
import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
import { FILES, SITE_ROLES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-permissions';
import * as testUtil from '../test-util';
describe('Special permissions actions : on Favorites : ', () => {
const random = Utils.random();
const site = `site-private-${Utils.random()}`;
const site = `site-private-${random}`;
const userConsumer = `consumer-${Utils.random()}`;
const userConsumer = `consumer-${random}`;
let fileDocxFavId, fileFavId, fileDocxSharedFavId, fileSharedFavId, fileFavLockedId, fileSharedFavLockedId;
let folderFavId, folderFav2Id;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedFavId: string;
let fileSharedFavId: string;
let fileFavLockedId: string;
let fileSharedFavLockedId: string;
let folderFavId: string;
let folderFav2Id: string;
const file3 = `file-3-${Utils.random()}.txt`;
let file3Id;
const file3 = `file-3-${random}.txt`;
let file3Id: string;
const apis = {
admin: new RepoClient(),
userConsumer: new RepoClient(userConsumer, userConsumer)
};
const adminApiActions = new AdminActions();
const userApi = new RepoClient(userConsumer, userConsumer);
const loginPage = new LoginPage();
const page = new BrowsingPage();
beforeAll(async (done) => {
await apis.admin.people.createUser({ username: userConsumer });
beforeAll(async () => {
await adminApiActions.createUser({ username: userConsumer });
await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE);
const docLibId = await apis.admin.sites.getDocLibId(site);
await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE);
await adminApiActions.sites.createSitePrivate(site);
const docLibId = await adminApiActions.sites.getDocLibId(site);
await adminApiActions.sites.addSiteConsumer(site, userConsumer);
fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id;
file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id;
folderFavId = (await apis.admin.nodes.createFolder(data.folderFav.name, docLibId)).entry.id;
folderFav2Id = (await apis.admin.nodes.createFolder(data.folderFav2.name, docLibId)).entry.id;
await apis.userConsumer.favorites.addFavoriteById('folder', folderFavId);
await apis.userConsumer.favorites.addFavoriteById('folder', folderFav2Id);
folderFavId = (await adminApiActions.nodes.createFolder(data.folderFav.name, docLibId)).entry.id;
folderFav2Id = (await adminApiActions.nodes.createFolder(data.folderFav2.name, docLibId)).entry.id;
await userApi.favorites.addFavoritesByIds('folder', [folderFavId, folderFav2Id]);
await apis.userConsumer.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -81,84 +87,76 @@ describe('Special permissions actions : on Favorites : ', () => {
file3Id
]);
await apis.userConsumer.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedFavId,
fileSharedFavId,
fileSharedFavLockedId,
file3Id
]);
await apis.admin.nodes.lockFile(fileFavLockedId);
await apis.admin.nodes.lockFile(fileSharedFavLockedId);
await adminApiActions.nodes.lockFile(fileFavLockedId);
await adminApiActions.nodes.lockFile(fileSharedFavLockedId);
await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await apis.userConsumer.favorites.waitForApi({ expect: 9 });
await apis.userConsumer.shared.waitForApi({ expect: 4 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 9 }),
userApi.shared.waitForApi({ expect: 4 })
]);
await loginPage.loginWith(userConsumer);
done();
});
afterAll(async (done) => {
await apis.admin.sites.deleteSite(site);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFavoritesAndWait();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await adminApiActions.sites.deleteSite(site);
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('on a file', () => {
it('File Office, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.favoritesContextMenu);
});
it('File favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.favoritesContextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesToolbarPrimary, data.fileDocxSharedFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.favoritesContextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.favoritesToolbarPrimary, data.fileSharedFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.favoritesContextMenu);
});
it('File favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.favoritesContextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesToolbarPrimary, data.fileSharedFavLocked.favoritesToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.favoritesContextMenu);
});
});
describe('on a folder', () => {
it('Folder favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.favoritesToolbarMore);
await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.favoritesToolbarMore);
await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.favoritesContextMenu);
});
});
@@ -166,32 +164,27 @@ describe('Special permissions actions : on Favorites : ', () => {
describe('on multiple selection', () => {
it('multiple files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
it('multiple locked files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileFavLocked.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
it('multiple folders - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folderFav2.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
it('both files and folders - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileFav.name, data.folderFav.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
it('multiple files with different granular permissions - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileFav.name, file3 ], data.multipleSelAllFav.favoritesContextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileFav.name, file3 ], data.multipleSelAllFav.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileFav.name, file3 ], data.multipleSelAllFav.favoritesToolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileFav.name, file3 ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.favoritesToolbarMore);
});
});

View File

@@ -24,64 +24,71 @@
*/
import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
import { FILES, SITE_ROLES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-permissions';
import * as testUtil from '../test-util';
describe('Special permissions actions : on File Libraries : ', () => {
const random = Utils.random();
const site = `site-private-${Utils.random()}`;
const site = `site-private-${random}`;
const userConsumer = `consumer-${Utils.random()}`;
const userConsumer = `consumer-${random}`;
const file3 = `file-3-${Utils.random()}.txt`;
let file3Id;
const file3 = `file-3-${random}.txt`;
let file3Id: string;
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
let folderFavId;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileLockedId: string;
let fileFavLockedId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
let folderFavId: string;
const apis = {
admin: new RepoClient(),
userConsumer: new RepoClient(userConsumer, userConsumer)
};
const adminApiActions = new AdminActions();
const userApi = new RepoClient(userConsumer, userConsumer);
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { dataTable } = page;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username: userConsumer });
beforeAll(async () => {
await adminApiActions.createUser({ username: userConsumer });
await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE);
const docLibId = await apis.admin.sites.getDocLibId(site);
await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE);
await adminApiActions.sites.createSitePrivate(site);
const docLibId = await adminApiActions.sites.getDocLibId(site);
await adminApiActions.sites.addSiteConsumer(site, userConsumer);
await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name );
fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
await apis.admin.nodes.createFile(data.file.name, docLibId);
fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileLockedId = (await apis.admin.nodes.createFile(data.fileLocked.name, docLibId)).entry.id;
fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name );
fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
await adminApiActions.nodes.createFile(data.file.name, docLibId);
fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileLockedId = (await adminApiActions.nodes.createFile(data.fileLocked.name, docLibId)).entry.id;
fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id;
file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id;
await apis.admin.nodes.createFolder(data.folder.name, docLibId);
folderFavId = (await apis.admin.nodes.createFolder(data.folderFav.name, docLibId)).entry.id;
done();
});
await adminApiActions.nodes.createFolder(data.folder.name, docLibId);
folderFavId = (await adminApiActions.nodes.createFolder(data.folderFav.name, docLibId)).entry.id;
beforeAll(async (done) => {
await apis.userConsumer.favorites.addFavoriteById('folder', folderFavId);
await userApi.favorites.addFavoriteById('folder', folderFavId);
await apis.userConsumer.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -91,7 +98,7 @@ describe('Special permissions actions : on File Libraries : ', () => {
file3Id
]);
await apis.userConsumer.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -101,112 +108,96 @@ describe('Special permissions actions : on File Libraries : ', () => {
file3Id
]);
await apis.admin.nodes.lockFile(fileLockedId);
await apis.admin.nodes.lockFile(fileFavLockedId);
await apis.admin.nodes.lockFile(fileSharedLockedId);
await apis.admin.nodes.lockFile(fileSharedFavLockedId);
await adminApiActions.nodes.lockFile(fileLockedId);
await adminApiActions.nodes.lockFile(fileFavLockedId);
await adminApiActions.nodes.lockFile(fileSharedLockedId);
await adminApiActions.nodes.lockFile(fileSharedFavLockedId);
await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await apis.userConsumer.favorites.waitForApi({ expect: 8 });
await apis.userConsumer.shared.waitForApi({ expect: 7 });
done();
});
await Promise.all([
userApi.favorites.waitForApi({ expect: 8 }),
userApi.shared.waitForApi({ expect: 7 })
]);
beforeAll(async (done) => {
await loginPage.loginWith(userConsumer);
done();
});
afterAll(async (done) => {
await apis.admin.sites.deleteSite(site);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(site);
await dataTable.waitForHeader();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await adminApiActions.sites.deleteSite(site);
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('on a file', () => {
it('File Office - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.toolbarPrimary, data.fileDocx.toolbarMore);
await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu);
});
it('File Office, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.toolbarPrimary, data.fileDocxFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu);
});
it('File simple - []', async () => {
await testUtil.checkToolbarPrimary(data.file.name, data.file.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore);
await testUtil.checkToolbarActions(data.file.name, data.file.toolbarPrimary, data.file.toolbarMore);
await testUtil.checkContextMenu(data.file.name, data.file.contextMenu);
});
it('File favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.toolbarPrimary, data.fileFav.toolbarMore);
await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu);
});
it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu);
});
it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.toolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu);
});
it('File locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.toolbarPrimary, data.fileLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu);
});
it('File favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.toolbarPrimary, data.fileFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu);
});
it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
});
});
@@ -214,14 +205,12 @@ describe('Special permissions actions : on File Libraries : ', () => {
describe('on a folder', () => {
it('Folder not favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folder.name, data.folder.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.toolbarMore);
await testUtil.checkToolbarActions(data.folder.name, data.folder.toolbarPrimary, data.folder.toolbarMore);
await testUtil.checkContextMenu(data.folder.name, data.folder.contextMenu);
});
it('Folder favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.toolbarMore);
await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.toolbarPrimary, data.folderFav.toolbarMore);
await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu);
});
});
@@ -229,38 +218,32 @@ describe('Special permissions actions : on File Libraries : ', () => {
describe('on multiple selection', () => {
it('multiple files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocx.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files - all favorite - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileDocxSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
it('multiple locked files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple folders - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.folderFav.name, data.folder.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.folderFav.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('both files and folders - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folder.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folder.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files with different granular permissions - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, file3 ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, file3 ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
});
});

View File

@@ -23,61 +23,72 @@
* 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 { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages';
import { FILES, SITE_ROLES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-permissions';
import * as testUtil from '../test-util';
describe('Special permissions actions : on Search Results : ', () => {
const random = Utils.random();
const site = `site-private-${Utils.random()}`;
const site = `site-private-${random}`;
const userConsumer = `consumer-${Utils.random()}`;
const userConsumer = `consumer-${random}`;
const file3 = `file-3-${Utils.random()}.txt`;
let file3Id;
const file3 = `file-3-${random}.txt`;
let file3Id: string;
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
let folderFavId;
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileLockedId: string;
let fileFavLockedId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
let folderFavId: string;
const apis = {
admin: new RepoClient(),
userConsumer: new RepoClient(userConsumer, userConsumer)
};
const adminApiActions = new AdminActions();
const userApi = new RepoClient(userConsumer, userConsumer);
const loginPage = new LoginPage();
const page = new BrowsingPage();
const searchResultsPage = new SearchResultsPage();
const { searchInput } = page.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username: userConsumer });
beforeAll(async () => {
await adminApiActions.createUser({ username: userConsumer });
await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE);
const docLibId = await apis.admin.sites.getDocLibId(site);
await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE);
await adminApiActions.sites.createSitePrivate(site);
const docLibId = await adminApiActions.sites.getDocLibId(site);
await adminApiActions.sites.addSiteConsumer(site, userConsumer);
await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name );
fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
await apis.admin.nodes.createFile(data.file.name, docLibId);
fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileLockedId = (await apis.admin.nodes.createFile(data.fileLocked.name, docLibId)).entry.id;
fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name );
fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
await adminApiActions.nodes.createFile(data.file.name, docLibId);
fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileLockedId = (await adminApiActions.nodes.createFile(data.fileLocked.name, docLibId)).entry.id;
fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id;
file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id;
await apis.admin.nodes.createFolder(data.folder.name, docLibId);
folderFavId = (await apis.admin.nodes.createFolder(data.folderFav.name, docLibId)).entry.id;
await apis.userConsumer.favorites.addFavoriteById('folder', folderFavId);
await adminApiActions.nodes.createFolder(data.folder.name, docLibId);
folderFavId = (await adminApiActions.nodes.createFolder(data.folderFav.name, docLibId)).entry.id;
await userApi.favorites.addFavoriteById('folder', folderFavId);
await apis.userConsumer.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -87,7 +98,7 @@ describe('Special permissions actions : on Search Results : ', () => {
file3Id
]);
await apis.userConsumer.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -97,214 +108,172 @@ describe('Special permissions actions : on Search Results : ', () => {
file3Id
]);
await apis.admin.nodes.lockFile(fileLockedId);
await apis.admin.nodes.lockFile(fileFavLockedId);
await apis.admin.nodes.lockFile(fileSharedLockedId);
await apis.admin.nodes.lockFile(fileSharedFavLockedId);
await adminApiActions.nodes.lockFile(fileLockedId);
await adminApiActions.nodes.lockFile(fileFavLockedId);
await adminApiActions.nodes.lockFile(fileSharedLockedId);
await adminApiActions.nodes.lockFile(fileSharedFavLockedId);
await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await apis.userConsumer.favorites.waitForApi({ expect: 8 });
await apis.userConsumer.shared.waitForApi({ expect: 7 });
await apis.userConsumer.search.waitForApi(userConsumer, { expect: 13 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 8 }),
userApi.shared.waitForApi({ expect: 7 }),
userApi.search.waitForApi(userConsumer, { expect: 13 })
]);
await loginPage.loginWith(userConsumer);
done();
});
afterAll(async (done) => {
await apis.admin.sites.deleteSite(site);
done();
afterAll(async () => {
await adminApiActions.sites.deleteSite(site);
});
beforeEach(async () => {
await Utils.pressEscape();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('on a file', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
await searchResultsPage.waitForResults();
});
it('File Office - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocx.name, data.fileDocx.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocx.name, data.fileDocx.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocx.name, data.fileDocx.searchToolbarPrimary, data.fileDocx.toolbarMore);
await testUtil.checkContextMenu(data.fileDocx.name, data.fileDocx.contextMenu);
});
it('File Office, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxFav.name, data.fileDocxFav.searchToolbarPrimary, data.fileDocxFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxFav.name, data.fileDocxFav.contextMenu);
});
it('File simple - []', async () => {
await testUtil.checkToolbarPrimary(data.file.name, data.file.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.file.name, data.file.toolbarMore);
await testUtil.checkToolbarActions(data.file.name, data.file.searchToolbarPrimary, data.file.toolbarMore);
await testUtil.checkContextMenu(data.file.name, data.file.contextMenu);
});
it('File favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFav.name, data.fileFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFav.name, data.fileFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileFav.name, data.fileFav.searchToolbarPrimary, data.fileFav.toolbarMore);
await testUtil.checkContextMenu(data.fileFav.name, data.fileFav.contextMenu);
});
it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.searchToolbarPrimary, data.fileDocxShared.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.contextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.searchToolbarPrimary, data.fileDocxSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.contextMenu);
});
it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.toolbarMore);
await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.searchToolbarPrimary, data.fileShared.toolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.contextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.searchToolbarPrimary, data.fileSharedFav.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.contextMenu);
});
it('File locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileLocked.name, data.fileLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileLocked.name, data.fileLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileLocked.name, data.fileLocked.searchToolbarPrimary, data.fileLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileLocked.name, data.fileLocked.contextMenu);
});
it('File favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileFavLocked.name, data.fileFavLocked.searchToolbarPrimary, data.fileFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileFavLocked.name, data.fileFavLocked.contextMenu);
});
it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.searchToolbarPrimary, data.fileSharedLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.contextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.searchToolbarPrimary, data.fileSharedFavLocked.toolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.contextMenu);
});
});
describe('on a folder', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchFor('folder-');
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
await searchResultsPage.waitForResults();
});
it('Folder not favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folder.name, data.folder.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folder.name, data.folder.toolbarMore);
await testUtil.checkToolbarActions(data.folder.name, data.folder.searchToolbarPrimary, data.folder.toolbarMore);
await testUtil.checkContextMenu(data.folder.name, data.folder.contextMenu);
});
it('Folder favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.folderFav.name, data.folderFav.searchToolbarPrimary);
await testUtil.checkToolbarMoreActions(data.folderFav.name, data.folderFav.toolbarMore);
await testUtil.checkToolbarActions(data.folderFav.name, data.folderFav.searchToolbarPrimary, data.folderFav.toolbarMore);
await testUtil.checkContextMenu(data.folderFav.name, data.folderFav.contextMenu);
});
});
describe('on multiple selection', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFiles();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
describe('of files', () => {
it('multiple files - []', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
beforeAll(async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.searchFor('file-');
await searchResultsPage.waitForResults();
});
await testUtil.checkMultipleSelContextMenu([ data.file.name, data.fileDocxShared.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.toolbarMore);
});
it('multiple files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.file.name, data.fileDocxShared.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.fileDocxShared.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files - all favorite - []', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
it('multiple files - all favorite - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, data.fileSharedFav.name ], data.multipleSelAllFav.toolbarMore);
});
it('multiple locked files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple locked files - []', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
await testUtil.checkMultipleSelContextMenu([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore);
it('multiple files with different granular permissions - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarActions([ data.fileDocxFav.name, file3 ], data.multipleSel.searchToolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
});
it('multiple folders - []', async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchFor('folder-');
await testUtil.checkMultipleSelContextMenu([ data.folder.name, data.folderFav.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.folder.name, data.folderFav.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.folder.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore);
});
it('both files and folders - []', async () => {
await page.clickPersonalFiles();
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchFor(`=${data.file.name} or =${data.folderFav.name}`);
await testUtil.checkMultipleSelContextMenu([ data.file.name, data.folderFav.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.file.name, data.folderFav.name ], data.multipleSel.toolbarMore);
});
it('multiple files with different granular permissions - []', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
await testUtil.checkMultipleSelContextMenu([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileDocxFav.name, file3 ], data.multipleSel.searchToolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileDocxFav.name, file3 ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.file.name, data.folderFav.name ], data.multipleSel.searchToolbarPrimary, data.multipleSel.toolbarMore);
});
});
});

View File

@@ -24,55 +24,61 @@
*/
import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES, SITE_VISIBILITY, SITE_ROLES } from '../../../configs';
import { FILES, SITE_ROLES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-permissions';
import * as testUtil from '../test-util';
describe('Special permissions actions : on Shared Files : ', () => {
const random = Utils.random();
const site = `site-private-${Utils.random()}`;
const site = `site-private-${random}`;
const userConsumer = `consumer-${Utils.random()}`;
const userConsumer = `consumer-${random}`;
const file3 = `file-3-${Utils.random()}.txt`;
let file3Id;
const file3 = `file-3-${random}.txt`;
let file3Id: string;
let fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileSharedLockedId, fileSharedFavLockedId;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
const apis = {
admin: new RepoClient(),
userConsumer: new RepoClient(userConsumer, userConsumer)
};
const adminApiActions = new AdminActions();
const userApi = new RepoClient(userConsumer, userConsumer);
const loginPage = new LoginPage();
const page = new BrowsingPage();
beforeAll(async (done) => {
await apis.admin.people.createUser({ username: userConsumer });
beforeAll(async () => {
await adminApiActions.createUser({ username: userConsumer });
await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE);
const docLibId = await apis.admin.sites.getDocLibId(site);
await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE);
await adminApiActions.sites.createSitePrivate(site);
const docLibId = await adminApiActions.sites.getDocLibId(site);
await adminApiActions.sites.addSiteConsumer(site, userConsumer);
fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
file3Id = (await apis.admin.nodes.createFile(file3, docLibId)).entry.id;
file3Id = (await adminApiActions.nodes.createFile(file3, docLibId)).entry.id;
await apis.userConsumer.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxSharedFavId,
fileSharedFavId,
fileSharedFavLockedId,
file3Id
]);
await apis.userConsumer.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -82,70 +88,62 @@ describe('Special permissions actions : on Shared Files : ', () => {
file3Id
]);
await apis.admin.nodes.lockFile(fileSharedLockedId);
await apis.admin.nodes.lockFile(fileSharedFavLockedId);
await adminApiActions.nodes.lockFile(fileSharedLockedId);
await adminApiActions.nodes.lockFile(fileSharedFavLockedId);
await apis.admin.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await adminApiActions.nodes.setGranularPermission(file3Id, false, userConsumer, SITE_ROLES.SITE_MANAGER.ROLE);
await apis.userConsumer.favorites.waitForApi({ expect: 7 });
await apis.userConsumer.shared.waitForApi({ expect: 4 });
await Promise.all([
userApi.favorites.waitForApi({ expect: 4 }),
userApi.shared.waitForApi({ expect: 7 })
]);
await loginPage.loginWith(userConsumer);
done();
});
afterAll(async (done) => {
await apis
await apis.admin.sites.deleteSite(site);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickSharedFilesAndWait();
done();
});
afterEach(async (done) => {
afterAll(async () => {
await adminApiActions.sites.deleteSite(site);
});
beforeEach(async () => {
await Utils.pressEscape();
done();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('single selection', () => {
it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.sharedContextMenu);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedContextMenu);
});
it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.sharedContextMenu);
});
it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.sharedContextMenu);
});
it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.sharedContextMenu);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedToolbarMore);
await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu);
});
});
@@ -153,26 +151,22 @@ describe('Special permissions actions : on Shared Files : ', () => {
describe('multiple selection', () => {
it('multiple files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files - all favorite - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
it('multiple locked files - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
});
it('multiple files with different granular permissions - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileSharedFav.name, file3 ], data.multipleSelAllFav.contextMenu);
await testUtil.checkMultipleSelToolbarPrimary([ data.fileSharedFav.name, file3 ], data.multipleSel.toolbarPrimary);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedFav.name, file3 ], data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarActions([ data.fileSharedFav.name, file3 ], data.multipleSel.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
});
});

View File

@@ -23,56 +23,64 @@
* 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 { LoginPage, BrowsingPage, SearchResultsPage } from '../../../pages/pages';
import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils';
import * as data from './test-data-permissions';
import { AdminActions } from '../../../utilities/admin-actions';
import * as testUtil from '../test-util';
describe('Special permissions actions : in the Viewer : ', () => {
const site = `site-private-${Utils.random()}`;
const random = Utils.random();
const userConsumer = `consumer-${Utils.random()}`;
const site = `site-private-${random}`;
let fileDocxFavId, fileFavId, fileDocxSharedId, fileDocxSharedFavId, fileSharedId, fileSharedFavId, fileLockedId, fileFavLockedId, fileSharedLockedId, fileSharedFavLockedId;
const userConsumer = `consumer-${random}`;
const apis = {
admin: new RepoClient(),
userConsumer: new RepoClient(userConsumer, userConsumer)
};
let fileDocxFavId: string;
let fileFavId: string;
let fileDocxSharedId: string;
let fileDocxSharedFavId: string;
let fileSharedId: string;
let fileSharedFavId: string;
let fileLockedId: string;
let fileFavLockedId: string;
let fileSharedLockedId: string;
let fileSharedFavLockedId: string;
const adminApiActions = new AdminActions();
const userApi = new RepoClient(userConsumer, userConsumer);
const loginPage = new LoginPage();
const page = new BrowsingPage();
const searchResultsPage = new SearchResultsPage();
const { dataTable } = page;
const { searchInput } = page.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username: userConsumer });
beforeAll(async () => {
await adminApiActions.createUser({ username: userConsumer });
await apis.admin.sites.createSite(site, SITE_VISIBILITY.PRIVATE);
const docLibId = await apis.admin.sites.getDocLibId(site);
await apis.admin.sites.addSiteMember(site, userConsumer, SITE_ROLES.SITE_CONSUMER.ROLE);
await adminApiActions.sites.createSitePrivate(site);
const docLibId = await adminApiActions.sites.getDocLibId(site);
await adminApiActions.sites.addSiteConsumer(site, userConsumer);
await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name );
fileDocxFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
await apis.admin.nodes.createFile(data.file.name, docLibId);
fileFavId = (await apis.admin.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.admin.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.admin.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await apis.admin.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileLockedId = (await apis.admin.nodes.createFile(data.fileLocked.name, docLibId)).entry.id;
fileFavLockedId = (await apis.admin.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedLockedId = (await apis.admin.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await apis.admin.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocx.name );
fileDocxFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxFav.name)).entry.id;
await adminApiActions.nodes.createFile(data.file.name, docLibId);
fileFavId = (await adminApiActions.nodes.createFile(data.fileFav.name, docLibId)).entry.id;
fileDocxSharedId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await adminApiActions.upload.uploadFileWithRename(FILES.docxFile, docLibId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await adminApiActions.nodes.createFile(data.fileShared.name, docLibId)).entry.id;
fileSharedFavId = (await adminApiActions.nodes.createFile(data.fileSharedFav.name, docLibId)).entry.id;
fileLockedId = (await adminApiActions.nodes.createFile(data.fileLocked.name, docLibId)).entry.id;
fileFavLockedId = (await adminApiActions.nodes.createFile(data.fileFavLocked.name, docLibId)).entry.id;
fileSharedLockedId = (await adminApiActions.nodes.createFile(data.fileSharedLocked.name, docLibId)).entry.id;
fileSharedFavLockedId = (await adminApiActions.nodes.createFile(data.fileSharedFavLocked.name, docLibId)).entry.id;
done();
});
beforeAll(async (done) => {
await apis.userConsumer.favorites.addFavoritesByIds('file', [
await userApi.favorites.addFavoritesByIds('file', [
fileDocxFavId,
fileFavId,
fileDocxSharedFavId,
@@ -81,7 +89,7 @@ describe('Special permissions actions : in the Viewer : ', () => {
fileSharedFavLockedId
]);
await apis.userConsumer.shared.shareFilesByIds([
await userApi.shared.shareFilesByIds([
fileDocxSharedId,
fileDocxSharedFavId,
fileSharedId,
@@ -90,312 +98,204 @@ describe('Special permissions actions : in the Viewer : ', () => {
fileSharedFavLockedId
]);
await apis.admin.nodes.lockFile(fileLockedId);
await apis.admin.nodes.lockFile(fileFavLockedId);
await apis.admin.nodes.lockFile(fileSharedLockedId);
await apis.admin.nodes.lockFile(fileSharedFavLockedId);
await adminApiActions.nodes.lockFile(fileLockedId);
await adminApiActions.nodes.lockFile(fileFavLockedId);
await adminApiActions.nodes.lockFile(fileSharedLockedId);
await adminApiActions.nodes.lockFile(fileSharedFavLockedId);
await apis.userConsumer.favorites.waitForApi({ expect: 6 });
await apis.userConsumer.shared.waitForApi({ expect: 6 });
done();
});
await Promise.all([
userApi.favorites.waitForApi({ expect: 6 }),
userApi.shared.waitForApi({ expect: 6 })
]);
beforeAll(async (done) => {
await loginPage.loginWith(userConsumer);
done();
});
afterAll(async (done) => {
await apis.admin.sites.deleteSite(site);
done();
afterAll(async () => {
await adminApiActions.sites.deleteSite(site);
});
beforeEach(async () => {
await Utils.pressEscape();
});
afterEach(async () => {
await page.closeOpenDialogs();
});
describe('file opened from File Libraries', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(site);
await dataTable.waitForHeader();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
it('File Office - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore);
});
it('File Office, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore);
});
it('File simple - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore);
await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore);
});
it('File favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore);
});
it('File Office, shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore);
});
it('File favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore);
});
it('File shared, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
describe('file opened from Favorites', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickFavoritesAndWait();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
it('File Office, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore);
});
it('File favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
describe('file opened from Shared Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
beforeAll(async () => {
await page.clickSharedFilesAndWait();
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
});
it('File Office, shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File shared, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
describe('file opened from Search Results', () => {
beforeAll(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFiles();
beforeAll(async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchFor('file-');
done();
});
afterEach(async (done) => {
await Utils.pressEscape();
done();
await searchResultsPage.waitForResults();
});
it('File Office - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocx.name, data.fileDocx.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocx.name, data.fileDocx.viewerToolbarPrimary, data.fileDocx.viewerToolbarMore);
});
it('File Office, favorite - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxFav.name, data.fileDocxFav.viewerToolbarPrimary, data.fileDocxFav.viewerToolbarMore);
});
it('File simple - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.file.name, data.file.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.file.name, data.file.viewerToolbarMore);
await testUtil.checkViewerActions(data.file.name, data.file.viewerToolbarPrimary, data.file.viewerToolbarMore);
});
it('File favorite - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFav.name, data.fileFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFav.name, data.fileFav.viewerToolbarPrimary, data.fileFav.viewerToolbarMore);
});
it('File Office, shared - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxShared.name, data.fileDocxShared.viewerToolbarPrimary, data.fileDocxShared.viewerToolbarMore);
});
it('File Office, shared, favorite - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.viewerToolbarPrimary, data.fileDocxSharedFav.viewerToolbarMore);
});
it('File shared - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileShared.name, data.fileShared.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileShared.name, data.fileShared.viewerToolbarPrimary, data.fileShared.viewerToolbarMore);
});
it('File shared, favorite - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFav.name, data.fileSharedFav.viewerToolbarPrimary, data.fileSharedFav.viewerToolbarMore);
});
it('File locked - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileLocked.name, data.fileLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileLocked.name, data.fileLocked.viewerToolbarPrimary, data.fileLocked.viewerToolbarMore);
});
it('File favorite, locked - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileFavLocked.name, data.fileFavLocked.viewerToolbarPrimary, data.fileFavLocked.viewerToolbarMore);
});
it('File shared, locked - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedLocked.name, data.fileSharedLocked.viewerToolbarPrimary, data.fileSharedLocked.viewerToolbarMore);
});
it('File shared, favorite, locked - []', async () => {
// await searchInput.clickSearchButton();
// await searchInput.checkOnlyFiles();
// await searchInput.searchFor('file-');
await testUtil.checkViewerToolbarPrimaryActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary);
await testUtil.checkViewerToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarMore);
await testUtil.checkViewerActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.viewerToolbarPrimary, data.fileSharedFavLocked.viewerToolbarMore);
});
});
});

View File

@@ -33,101 +33,132 @@ const contextMenu = dataTable.menu;
const viewer = new Viewer();
const viewerToolbar = viewer.toolbar;
export async function checkContextMenu(item: string, expectedContextMenu: string[]) {
export async function checkContextMenu(item: string, expectedContextMenu: string[]): Promise<void> {
await dataTable.rightClickOnItem(item);
const actualActions = await contextMenu.getMenuItems();
expect(actualActions.length).toBe(expectedContextMenu.length, 'Incorrect number of context menu items');
expect(JSON.stringify(actualActions)).toEqual(JSON.stringify(expectedContextMenu), 'Incorrect context menu actions');
expect(actualActions).toEqual(expectedContextMenu);
await Utils.pressEscape();
}
export async function checkToolbarPrimary(item: string, expectedToolbarPrimary: string[]) {
export async function checkToolbarPrimary(item: string, expectedToolbarPrimary: string[]): Promise<void> {
await dataTable.selectItem(item);
const actualPrimaryActions = await toolbar.getButtons();
expect(actualPrimaryActions.length).toBe(expectedToolbarPrimary.length, 'Incorrect number of toolbar primary items');
expect(JSON.stringify(actualPrimaryActions)).toEqual(JSON.stringify(expectedToolbarPrimary), 'Incorrect toolbar primary actions');
expect(actualPrimaryActions).toEqual(expectedToolbarPrimary);
}
export async function checkToolbarMoreActions(item: string, expectedToolbarMore: string[]) {
export async function checkToolbarMoreActions(item: string, expectedToolbarMore: string[]): Promise<void> {
await dataTable.selectItem(item);
await toolbar.openMoreMenu();
const actualMoreActions = await toolbar.menu.getMenuItems();
expect(actualMoreActions.length).toBe(expectedToolbarMore.length, 'Incorrect number of toolbar More menu items');
expect(JSON.stringify(actualMoreActions)).toEqual(JSON.stringify(expectedToolbarMore), 'Incorrect toolbar More actions');
expect(actualMoreActions).toEqual(expectedToolbarMore);
await toolbar.closeMoreMenu();
}
export async function checkMultipleSelContextMenu(items: string[], expectedContextMenu: string[]) {
export async function checkToolbarActions(item: string, expectedToolbarPrimary: string[], expectedToolbarMore: string[]): Promise<void> {
await dataTable.selectItem(item);
const actualPrimaryActions = await toolbar.getButtons();
expect(actualPrimaryActions).toEqual(expectedToolbarPrimary);
await toolbar.openMoreMenu();
const actualMoreActions = await toolbar.menu.getMenuItems();
expect(actualMoreActions).toEqual(expectedToolbarMore);
await toolbar.closeMoreMenu();
}
export async function checkMultipleSelContextMenu(items: string[], expectedContextMenu: string[]): Promise<void> {
await dataTable.selectMultipleItems(items);
await dataTable.rightClickOnMultipleSelection();
const actualActions = await contextMenu.getMenuItems();
expect(actualActions.length).toBe(expectedContextMenu.length, 'Incorrect number of context menu items');
expect(JSON.stringify(actualActions)).toEqual(JSON.stringify(expectedContextMenu), 'Incorrect context menu actions');
expect(actualActions).toEqual(expectedContextMenu);
await Utils.pressEscape();
}
export async function checkMultipleSelToolbarPrimary(items: string[], expectedToolbarPrimary: string[]) {
export async function checkMultipleSelToolbarPrimary(items: string[], expectedToolbarPrimary: string[]): Promise<void> {
await dataTable.selectMultipleItems(items);
const actualPrimaryActions = await toolbar.getButtons();
expect(actualPrimaryActions.length).toBe(expectedToolbarPrimary.length, 'Incorrect number of toolbar primary items');
expect(JSON.stringify(actualPrimaryActions)).toEqual(JSON.stringify(expectedToolbarPrimary), 'Incorrect toolbar primary actions');
expect(actualPrimaryActions).toEqual(expectedToolbarPrimary);
}
export async function checkMultipleSelToolbarMoreActions(items: string[], expectedToolbarMore: string[]) {
export async function checkMultipleSelToolbarMoreActions(items: string[], expectedToolbarMore: string[]): Promise<void> {
await dataTable.selectMultipleItems(items);
await toolbar.openMoreMenu();
const actualMoreActions = await toolbar.menu.getMenuItems();
expect(actualMoreActions.length).toBe(expectedToolbarMore.length, 'Incorrect number of toolbar More menu items');
expect(JSON.stringify(actualMoreActions)).toEqual(JSON.stringify(expectedToolbarMore), 'Incorrect toolbar More actions');
expect(actualMoreActions).toEqual(expectedToolbarMore);
await toolbar.closeMoreMenu();
}
export async function checkViewerToolbarPrimaryActions(item: string, expectedToolbarPrimary: string[]) {
// await dataTable.doubleClickOnRowByName(item);
export async function checkMultipleSelToolbarActions(items: string[], expectedToolbarPrimary: string[], expectedToolbarMore: string[]): Promise<void> {
await dataTable.selectMultipleItems(items);
const actualPrimaryActions = await toolbar.getButtons();
expect(actualPrimaryActions).toEqual(expectedToolbarPrimary);
await toolbar.openMoreMenu();
const actualMoreActions = await toolbar.menu.getMenuItems();
expect(actualMoreActions).toEqual(expectedToolbarMore);
await toolbar.closeMoreMenu();
}
export async function checkViewerToolbarPrimaryActions(item: string, expectedToolbarPrimary: string[]): Promise<void> {
await dataTable.selectItem(item);
await toolbar.clickView();
await viewer.waitForViewerToOpen();
let actualPrimaryActions = await viewerToolbar.getButtons();
actualPrimaryActions = removeClosePreviousNextOldInfo(actualPrimaryActions);
expect(actualPrimaryActions.length).toBe(expectedToolbarPrimary.length, 'Incorrect number of viewer toolbar primary items');
expect(JSON.stringify(actualPrimaryActions)).toEqual(JSON.stringify(expectedToolbarPrimary), 'Incorrect viewer toolbar primary actions');
expect(actualPrimaryActions).toEqual(expectedToolbarPrimary);
await Utils.pressEscape();
}
export async function checkViewerToolbarMoreActions(item: string, expectedToolbarMore: string[]) {
// await dataTable.doubleClickOnRowByName(item);
export async function checkViewerToolbarMoreActions(item: string, expectedToolbarMore: string[]): Promise<void> {
await dataTable.selectItem(item);
await toolbar.clickView();
await viewer.waitForViewerToOpen();
await viewerToolbar.openMoreMenu();
const actualMoreActions = await viewerToolbar.menu.getMenuItems();
expect(actualMoreActions.length).toBe(expectedToolbarMore.length, 'Incorrect number of toolbar More menu items');
expect(JSON.stringify(actualMoreActions)).toEqual(JSON.stringify(expectedToolbarMore), 'Incorrect toolbar More actions');
expect(actualMoreActions).toEqual(expectedToolbarMore);
await toolbar.closeMoreMenu();
await Utils.pressEscape();
}
export async function checkViewerActions(item: string, expectedToolbarPrimary: string[], expectedToolbarMore: string[]): Promise<void> {
await dataTable.selectItem(item);
await toolbar.clickView();
await viewer.waitForViewerToOpen();
let actualPrimaryActions = await viewerToolbar.getButtons();
actualPrimaryActions = removeClosePreviousNextOldInfo(actualPrimaryActions);
expect(actualPrimaryActions).toEqual(expectedToolbarPrimary);
await viewerToolbar.openMoreMenu();
const actualMoreActions = await viewerToolbar.menu.getMenuItems();
expect(actualMoreActions).toEqual(expectedToolbarMore);
await toolbar.closeMoreMenu();
await Utils.pressEscape();
}
const toRemove = ['Close', 'Previous File', 'Next File', 'View details'];
function removeClosePreviousNextOldInfo(actions: string[]): string[] {
return actions.filter(elem => {
if ( (elem !== 'Close') && (elem !== 'Previous File') && (elem !== 'Next File') && (elem !== 'View details')) {
return elem;
}
return null
}).filter((action) => action != null);
return actions.filter((elem) => !toRemove.includes(elem));
}

View File

@@ -2,7 +2,7 @@
* @license
* Alfresco Example Content Application
*
* Copyright (C) 2005 - 2019 Alfresco Software Limited
* Copyright (C) 2005 - 2020 Alfresco Software Limited
*
* This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of