[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

@@ -2,7 +2,7 @@
* @license * @license
* Alfresco Example Content Application * 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. * This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of

View File

@@ -276,11 +276,11 @@ export class DataTable extends Component {
async selectMultipleItems(names: string[], location: string = ''): Promise<void> { async selectMultipleItems(names: string[], location: string = ''): Promise<void> {
await this.clearSelection(); await this.clearSelection();
await browser.actions().sendKeys(protractor.Key.COMMAND).perform(); await Utils.pressCmd();
for (const name of names) { for (const name of names) {
await this.selectItem(name, location); await this.selectItem(name, location);
} }
await browser.actions().sendKeys(protractor.Key.NULL).perform(); await Utils.releaseKeyPressed();
} }
async clearSelection(): Promise<void> { async clearSelection(): Promise<void> {

View File

@@ -2,7 +2,7 @@
* @license * @license
* Alfresco Example Content Application * 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. * This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of

View File

@@ -2,7 +2,7 @@
* @license * @license
* Alfresco Example Content Application * 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. * This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of

View File

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

View File

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

View File

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

View File

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

View File

@@ -27,6 +27,7 @@ import { LoginPage, BrowsingPage } from '../../../pages/pages';
import { FILES } from '../../../configs'; import { FILES } from '../../../configs';
import { RepoClient } from '../../../utilities/repo-client/repo-client'; import { RepoClient } from '../../../utilities/repo-client/repo-client';
import { Utils } from '../../../utilities/utils'; import { Utils } from '../../../utilities/utils';
import { AdminActions } from '../../../utilities/admin-actions';
import * as data from './test-data-files-folders'; import * as data from './test-data-files-folders';
import * as testUtil from '../test-util'; import * as testUtil from '../test-util';
@@ -36,37 +37,42 @@ describe('File actions : on Shared Files : ', () => {
const username = `user-${random}`; 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 = { const userApi = new RepoClient(username, username);
admin: new RepoClient(),
user: new RepoClient(username, username) const adminApiActions = new AdminActions();
};
const loginPage = new LoginPage(); const loginPage = new LoginPage();
const page = new BrowsingPage(); const page = new BrowsingPage();
beforeAll(async (done) => { beforeAll(async () => {
await apis.admin.people.createUser({ username }); 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; fileDocxSharedId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxShared.name)).entry.id;
fileDocxSharedFavId = (await apis.user.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id; fileDocxSharedFavId = (await userApi.upload.uploadFileWithRename(FILES.docxFile, parentId, data.fileDocxSharedFav.name)).entry.id;
fileSharedId = (await apis.user.nodes.createFile(data.fileShared.name, parentId)).entry.id; fileSharedId = (await userApi.nodes.createFile(data.fileShared.name, parentId)).entry.id;
fileSharedFavId = (await apis.user.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id; fileSharedFavId = (await userApi.nodes.createFile(data.fileSharedFav.name, parentId)).entry.id;
fileSharedLockedId = (await apis.user.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id; fileSharedLockedId = (await userApi.nodes.createFile(data.fileSharedLocked.name, parentId)).entry.id;
fileSharedFavLockedId = (await apis.user.nodes.createFile(data.fileSharedFavLocked.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, fileDocxSharedFavId,
fileSharedFavId, fileSharedFavId,
fileSharedFavLockedId fileSharedFavLockedId
]); ]);
await apis.user.shared.shareFilesByIds([ await userApi.shared.shareFilesByIds([
fileDocxSharedId, fileDocxSharedId,
fileDocxSharedFavId, fileDocxSharedFavId,
fileSharedId, fileSharedId,
@@ -75,66 +81,55 @@ describe('File actions : on Shared Files : ', () => {
fileSharedFavLockedId fileSharedFavLockedId
]); ]);
await apis.user.nodes.lockFile(fileSharedLockedId); await userApi.nodes.lockFile(fileSharedLockedId);
await apis.user.nodes.lockFile(fileSharedFavLockedId); await userApi.nodes.lockFile(fileSharedFavLockedId);
await apis.user.favorites.waitForApi({ expect: 3 }); await Promise.all([
await apis.user.shared.waitForApi({ expect: 6 }); userApi.favorites.waitForApi({ expect: 3 }),
userApi.shared.waitForApi({ expect: 6 })
]);
await loginPage.loginWith(username); await loginPage.loginWith(username);
done();
});
afterAll(async (done) => {
await apis.user.nodes.deleteNodeById(parentId);
done();
});
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickSharedFilesAndWait(); await page.clickSharedFilesAndWait();
done();
}); });
afterEach(async (done) => { afterAll(async () => {
await userApi.nodes.deleteNodeById(parentId);
});
beforeEach(async () => {
await Utils.pressEscape(); await Utils.pressEscape();
done();
}); });
describe('single selection', () => { describe('single selection', () => {
it('File Office, shared - []', async () => { it('File Office, shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary); await testUtil.checkToolbarActions(data.fileDocxShared.name, data.fileDocxShared.toolbarPrimary, data.fileDocxShared.sharedToolbarMore);
await testUtil.checkToolbarMoreActions(data.fileDocxShared.name, data.fileDocxShared.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.sharedContextMenu); await testUtil.checkContextMenu(data.fileDocxShared.name, data.fileDocxShared.sharedContextMenu);
}); });
it('File Office, shared, favorite - []', async () => { it('File Office, shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary); await testUtil.checkToolbarActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.toolbarPrimary, data.fileDocxSharedFav.sharedToolbarMore);
await testUtil.checkToolbarMoreActions(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedContextMenu); await testUtil.checkContextMenu(data.fileDocxSharedFav.name, data.fileDocxSharedFav.sharedContextMenu);
}); });
it('File shared - []', async () => { it('File shared - []', async () => {
await testUtil.checkToolbarPrimary(data.fileShared.name, data.fileShared.toolbarPrimary); await testUtil.checkToolbarActions(data.fileShared.name, data.fileShared.toolbarPrimary, data.fileShared.sharedToolbarMore);
await testUtil.checkToolbarMoreActions(data.fileShared.name, data.fileShared.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.sharedContextMenu); await testUtil.checkContextMenu(data.fileShared.name, data.fileShared.sharedContextMenu);
}); });
it('File shared, favorite - []', async () => { it('File shared, favorite - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary); await testUtil.checkToolbarActions(data.fileSharedFav.name, data.fileSharedFav.toolbarPrimary, data.fileSharedFav.sharedToolbarMore);
await testUtil.checkToolbarMoreActions(data.fileSharedFav.name, data.fileSharedFav.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.sharedContextMenu); await testUtil.checkContextMenu(data.fileSharedFav.name, data.fileSharedFav.sharedContextMenu);
}); });
it('File shared, locked - []', async () => { it('File shared, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary); await testUtil.checkToolbarActions(data.fileSharedLocked.name, data.fileSharedLocked.toolbarPrimary, data.fileSharedLocked.sharedToolbarMore);
await testUtil.checkToolbarMoreActions(data.fileSharedLocked.name, data.fileSharedLocked.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.sharedContextMenu); await testUtil.checkContextMenu(data.fileSharedLocked.name, data.fileSharedLocked.sharedContextMenu);
}); });
it('File shared, favorite, locked - []', async () => { it('File shared, favorite, locked - []', async () => {
await testUtil.checkToolbarPrimary(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary); await testUtil.checkToolbarActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.toolbarPrimary, data.fileSharedFavLocked.sharedToolbarMore);
await testUtil.checkToolbarMoreActions(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedToolbarMore);
await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu); await testUtil.checkContextMenu(data.fileSharedFavLocked.name, data.fileSharedFavLocked.sharedContextMenu);
}); });
}); });
@@ -142,20 +137,17 @@ describe('File actions : on Shared Files : ', () => {
describe('multiple selection', () => { describe('multiple selection', () => {
it('multiple files - [C280467]', async () => { it('multiple files - [C280467]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.contextMenu); 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.checkMultipleSelToolbarActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileShared.name, data.fileSharedFav.name ], data.multipleSel.toolbarMore);
}); });
it('multiple files - all favorite - []', async () => { it('multiple files - all favorite - []', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.contextMenu); 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.checkMultipleSelToolbarActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarPrimary, data.multipleSelAllFav.toolbarMore);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedFav.name, data.fileSharedFavLocked.name ], data.multipleSelAllFav.toolbarMore);
}); });
it('multiple locked files - [C297623]', async () => { it('multiple locked files - [C297623]', async () => {
await testUtil.checkMultipleSelContextMenu([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.contextMenu); 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.checkMultipleSelToolbarActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], data.multipleSel.toolbarPrimary, data.multipleSel.toolbarMore);
await testUtil.checkMultipleSelToolbarMoreActions([ data.fileSharedLocked.name, data.fileSharedFavLocked.name ], 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: add Edit Offline when ACA-2174 is fixed
// TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue // 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']; const favoritesSharedToolbarPrimary = ['Shared Link Settings', 'Download', 'View', 'View Details', 'More Actions'];
// TODO: add Edit Offline when ACA-2174 is fixed // TODO: add Edit Offline when ACA-2174 is fixed
// TODO: investigate why 'Edit in Microsoft Office™' and 'Permissions' are not displayed and raise issue // TODO: 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 = { export const fileDocx = {
name: `file-docx-${Utils.random()}.docx`, name: `file-docx-${Utils.random()}.docx`,
description: 'file not shared, not fav, office, not locked', description: 'file not shared, not fav, office, not locked',

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,7 +2,7 @@
* @license * @license
* Alfresco Example Content Application * 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. * This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of

View File

@@ -2,7 +2,7 @@
* @license * @license
* Alfresco Example Content Application * 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. * This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of
@@ -27,6 +27,11 @@ import { RepoClient, NodeContentTree } from './repo-client/repo-client';
import { PersonEntry, NodeEntry } from '@alfresco/js-api'; import { PersonEntry, NodeEntry } from '@alfresco/js-api';
import { PersonModel } from './repo-client/apis/people/people-api-models'; import { PersonModel } from './repo-client/apis/people/people-api-models';
import { SitesApi } from './repo-client/apis/sites/sites-api';
import { UploadApi } from './repo-client/apis/upload/upload-api';
import { NodesApi } from './repo-client/apis/nodes/nodes-api';
import { FavoritesApi } from './repo-client/apis/favorites/favorites-api';
export class AdminActions { export class AdminActions {
private adminApi: RepoClient; private adminApi: RepoClient;
@@ -34,6 +39,11 @@ export class AdminActions {
this.adminApi = new RepoClient(); this.adminApi = new RepoClient();
} }
sites: SitesApi = new SitesApi();
upload: UploadApi = new UploadApi();
nodes: NodesApi = new NodesApi();
favorites: FavoritesApi = new FavoritesApi();
async getDataDictionaryId(): Promise<string> { async getDataDictionaryId(): Promise<string> {
return await this.adminApi.nodes.getNodeIdFromParent('Data Dictionary', '-root-'); return await this.adminApi.nodes.getNodeIdFromParent('Data Dictionary', '-root-');
} }

View File

@@ -24,8 +24,8 @@
*/ */
import { RepoApi } from '../repo-api'; import { RepoApi } from '../repo-api';
import { SiteBody, SiteMemberRoleBody, SiteMemberBody, SiteEntry, SiteMembershipRequestEntry, SitesApi as AdfSiteApi } from '@alfresco/js-api'; import { SiteBody, SiteMemberRoleBody, SiteMemberBody, SiteEntry, SiteMembershipRequestEntry, SitesApi as AdfSiteApi, SiteMemberEntry } from '@alfresco/js-api';
import { SITE_VISIBILITY } from '../../../../configs'; import { SITE_VISIBILITY, SITE_ROLES } from '../../../../configs';
import { Utils } from '../../../../utilities/utils'; import { Utils } from '../../../../utilities/utils';
export class SitesApi extends RepoApi { export class SitesApi extends RepoApi {
@@ -112,6 +112,14 @@ export class SitesApi extends RepoApi {
} }
} }
async createSitePrivate(title: string, description?: string, siteId?: string): Promise<SiteEntry> {
return this.createSite(title, SITE_VISIBILITY.PRIVATE, description, siteId);
}
async createSiteModerated(title: string, description?: string, siteId?: string): Promise<SiteEntry> {
return this.createSite(title, SITE_VISIBILITY.MODERATED, description, siteId);
}
async createSites(titles: string[], visibility?: string) { async createSites(titles: string[], visibility?: string) {
try { try {
return titles.reduce(async (previous: any, current: any) => { return titles.reduce(async (previous: any, current: any) => {
@@ -185,6 +193,22 @@ export class SitesApi extends RepoApi {
} }
} }
async addSiteConsumer(siteId: string, userId: string): Promise<SiteMemberEntry> {
return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_CONSUMER.ROLE);
}
async addSiteContributor(siteId: string, userId: string): Promise<SiteMemberEntry> {
return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_CONTRIBUTOR.ROLE);
}
async addSiteCollaborator(siteId: string, userId: string): Promise<SiteMemberEntry> {
return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_COLLABORATOR.ROLE);
}
async addSiteManager(siteId: string, userId: string): Promise<SiteMemberEntry> {
return this.addSiteMember(siteId, userId, SITE_ROLES.SITE_MANAGER.ROLE);
}
async deleteSiteMember(siteId: string, userId: string) { async deleteSiteMember(siteId: string, userId: string) {
try { try {
await this.apiAuth(); await this.apiAuth();

View File

@@ -48,7 +48,7 @@ export class RepoClient {
return { username, password }; return { username, password };
} }
get people () { get people() {
return new PeopleApi(this.auth.username, this.auth.password); return new PeopleApi(this.auth.username, this.auth.password);
} }

View File

@@ -2,7 +2,7 @@
* @license * @license
* Alfresco Example Content Application * 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. * This file is part of the Alfresco Example Content Application.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "حقوق الطبع والنشر © 2017 - 2019 Alfresco Software, Inc. جميع الحقوق محفوظة.", "COPYRIGHT": "حقوق الطبع والنشر © 2017 - 2020 Alfresco Software, Inc. جميع الحقوق محفوظة.",
"ABOUT": { "ABOUT": {
"VERSION": "الإصدار:", "VERSION": "الإصدار:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Všechna práva vyhrazena.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Všechna práva vyhrazena.",
"ABOUT": { "ABOUT": {
"VERSION": "Verze:", "VERSION": "Verze:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alle rettigheder forbeholdes.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alle rettigheder forbeholdes.",
"ABOUT": { "ABOUT": {
"VERSION": "Version:", "VERSION": "Version:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alle Rechte vorbehalten.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alle Rechte vorbehalten.",
"ABOUT": { "ABOUT": {
"VERSION": "Version:", "VERSION": "Version:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Todos los derechos reservados.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Todos los derechos reservados.",
"ABOUT": { "ABOUT": {
"VERSION": "Versión:", "VERSION": "Versión:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Kaikki oikeudet pidätetään.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Kaikki oikeudet pidätetään.",
"ABOUT": { "ABOUT": {
"VERSION": "Versio:", "VERSION": "Versio:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Tous droits réservés.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Tous droits réservés.",
"ABOUT": { "ABOUT": {
"VERSION": "Version :", "VERSION": "Version :",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Tutti i diritti riservati.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Tutti i diritti riservati.",
"ABOUT": { "ABOUT": {
"VERSION": "Versione:", "VERSION": "Versione:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc。 All rights reserved。", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc。 All rights reserved。",
"ABOUT": { "ABOUT": {
"VERSION": "バージョン:", "VERSION": "バージョン:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Med enerett.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Med enerett.",
"ABOUT": { "ABOUT": {
"VERSION": "Versjon:", "VERSION": "Versjon:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alle rechten voorbehouden.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alle rechten voorbehouden.",
"ABOUT": { "ABOUT": {
"VERSION": "Versie:", "VERSION": "Versie:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Wszelkie prawa zastrzeżone.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Wszelkie prawa zastrzeżone.",
"ABOUT": { "ABOUT": {
"VERSION": "Wersja:", "VERSION": "Wersja:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Todos os direitos reservados.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Todos os direitos reservados.",
"ABOUT": { "ABOUT": {
"VERSION": "Versão:", "VERSION": "Versão:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Все права защищены.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Все права защищены.",
"ABOUT": { "ABOUT": {
"VERSION": "Версия:", "VERSION": "Версия:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc. Alla rättigheter förbehålls.", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc. Alla rättigheter förbehålls.",
"ABOUT": { "ABOUT": {
"VERSION": "Version:", "VERSION": "Version:",
"PLUGINS": { "PLUGINS": {

View File

@@ -1,6 +1,6 @@
{ {
"APP": { "APP": {
"COPYRIGHT": "© 2017 - 2019 Alfresco Software, Inc。保留所有权利。", "COPYRIGHT": "© 2017 - 2020 Alfresco Software, Inc。保留所有权利。",
"ABOUT": { "ABOUT": {
"VERSION": "版本:", "VERSION": "版本:",
"PLUGINS": { "PLUGINS": {