[ACA-2116] search results available actions (#895)

* add item.id to File Libraries

* add method to wait for node to be indexed

* create separate methods in queries API to wait for sites or wait for nodes

* improvements, renaming

* renaming

* fix

* add tests for actions on search results

* add wait and use new method

* fix

* another fix

* use correct method

* more fixes

* create method for clickView button

* fixes

* no message
This commit is contained in:
Adina Parpalita
2019-01-19 16:47:12 +00:00
committed by Denys Vuika
parent 0471b783a4
commit d2e0f688e8
36 changed files with 919 additions and 257 deletions
@@ -23,7 +23,7 @@
* 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 { SITE_VISIBILITY } from '../../configs';
import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
@@ -31,11 +31,11 @@ import { Utils } from '../../utilities/utils';
describe('Context menu actions - multiple selection : ', () => {
const username = `user-${Utils.random()}`;
const file1 = `file1-${Utils.random()}.txt`; let file1Id;
const file2 = `file2-${Utils.random()}.txt`; let file2Id;
const file1 = `my-file1-${Utils.random()}.txt`; let file1Id;
const file2 = `my-file2-${Utils.random()}.txt`; let file2Id;
const folder1 = `folder1-${Utils.random()}`; let folder1Id;
const folder2 = `folder2-${Utils.random()}`; let folder2Id;
const folder1 = `my-folder1-${Utils.random()}`; let folder1Id;
const folder2 = `my-folder2-${Utils.random()}`; let folder2Id;
const fileInTrash1 = `deletedFile1-${Utils.random()}.txt`; let fileInTrash1Id;
const fileInTrash2 = `deletedFile2-${Utils.random()}.txt`; let fileInTrash2Id;
@@ -43,10 +43,10 @@ describe('Context menu actions - multiple selection : ', () => {
const folderInTrash2 = `deletedFolder2-${Utils.random()}`; let folderInTrash2Id;
const siteName = `site-${Utils.random()}`;
const file1Site = `file1-${Utils.random()}.txt`;
const file2Site = `file2-${Utils.random()}.txt`;
const folder1Site = `folder1-${Utils.random()}`;
const folder2Site = `folder2-${Utils.random()}`;
const file1Site = `my-inSite-file1-${Utils.random()}.txt`;
const file2Site = `my-inSite-file2-${Utils.random()}.txt`;
const folder1Site = `my-inSite-folder1-${Utils.random()}`;
const folder2Site = `my-inSite-folder2-${Utils.random()}`;
const apis = {
admin: new RepoClient(),
@@ -57,6 +57,8 @@ describe('Context menu actions - multiple selection : ', () => {
const page = new BrowsingPage();
const { dataTable } = page;
const contextMenu = dataTable.menu;
const searchResultsPage = new SearchResultsPage();
const { searchInput } = searchResultsPage.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
@@ -70,7 +72,7 @@ describe('Context menu actions - multiple selection : ', () => {
await apis.user.nodes.createFile(file1Site, docLibId);
await apis.user.nodes.createFile(file2Site, docLibId);
await apis.user.nodes.createFolder(folder1Site, docLibId);
await apis.user.nodes.createFile(folder2Site, docLibId);
await apis.user.nodes.createFolder(folder2Site, docLibId);
await apis.user.shared.shareFilesByIds([ file1Id, file2Id ]);
await apis.user.shared.waitForApi({ expect: 2 });
@@ -179,10 +181,9 @@ describe('Context menu actions - multiple selection : ', () => {
describe('on File Libraries', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.clearSelection();
done();
});
@@ -382,4 +383,63 @@ describe('Context menu actions - multiple selection : ', () => {
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed`);
});
});
describe('on Search Results', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
done();
});
it('correct actions appear when multiple files are selected - [C291831]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions('my-inSite-file');
await dataTable.selectMultipleItems([ file1Site, file2Site ]);
await dataTable.rightClickOnMultipleSelection();
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await contextMenu.isEditPresent()).toBe(false, 'Edit is displayed');
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed`);
});
it('correct actions appear when multiple folders are selected - [C291832]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-inSite-folder');
await dataTable.selectMultipleItems([ folder1Site, folder2Site ]);
await dataTable.rightClickOnMultipleSelection();
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await contextMenu.isEditPresent()).toBe(false, 'Edit is displayed');
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed`);
});
it('correct actions appear when both files and folders are selected - [C291833]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-inSite-f');
await dataTable.selectMultipleItems([ file1Site, file2Site, folder1Site, folder2Site ]);
await dataTable.rightClickOnMultipleSelection();
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await contextMenu.isEditPresent()).toBe(false, 'Edit is displayed');
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed`);
});
});
});
@@ -23,7 +23,7 @@
* 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 { SITE_VISIBILITY } from '../../configs';
import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
@@ -52,6 +52,8 @@ describe('Context menu actions - single selection : ', () => {
const page = new BrowsingPage();
const { dataTable } = page;
const contextMenu = dataTable.menu;
const searchResultsPage = new SearchResultsPage();
const { searchInput } = searchResultsPage.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
@@ -82,6 +84,10 @@ describe('Context menu actions - single selection : ', () => {
await apis.user.favorites.addFavoriteById('site', adminModerated);
await apis.user.sites.requestToJoin(adminModerated);
await apis.user.queries.waitForSites(siteName, { expect: 1 });
await apis.user.queries.waitForSites(adminPublic, { expect: 1 });
await apis.user.queries.waitForSites(adminModerated, { expect: 1 });
await loginPage.loginWith(username);
done();
});
@@ -186,7 +192,7 @@ describe('Context menu actions - single selection : ', () => {
describe('on File Libraries', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
done();
@@ -231,8 +237,8 @@ describe('Context menu actions - single selection : ', () => {
done();
});
it('Available actions when a library is selected - My Libraries - [C290080]', async () => {
await page.goToMyLibraries();
it('Available actions for a library - My Libraries - [C290080]', async () => {
await page.goToMyLibrariesAndWait();
await dataTable.rightClickOnItem(siteName);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
@@ -241,8 +247,8 @@ describe('Context menu actions - single selection : ', () => {
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${siteName}`);
});
it('Available actions when a library is selected - Favorite Libraries - user is a member - [C290081]', async () => {
await page.goToFavoriteLibraries();
it('Available actions for a library - Favorite Libraries - user is a member - [C290081]', async () => {
await page.goToFavoriteLibrariesAndWait();
await dataTable.rightClickOnItem(siteName);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
@@ -251,8 +257,8 @@ describe('Context menu actions - single selection : ', () => {
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${siteName}`);
});
it('Available actions when a library is selected - Favorite Libraries - user is not a member - [C290082]', async () => {
await page.goToFavoriteLibraries();
it('Available actions for a library - Favorite Libraries - user is not a member - [C290082]', async () => {
await page.goToFavoriteLibrariesAndWait();
await dataTable.rightClickOnItem(adminPublic);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
@@ -261,8 +267,44 @@ describe('Context menu actions - single selection : ', () => {
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${adminPublic}`);
});
it('Available actions when a library is selected - Favorite Libraries - user requested to join - [C290089]', async () => {
await page.goToFavoriteLibraries();
it('Available actions for a moderated library - Favorite Libraries - user requested to join - [C290089]', async () => {
await page.goToFavoriteLibrariesAndWait();
await dataTable.rightClickOnItem(adminModerated);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
expect(await contextMenu.isCancelJoinPresent()).toBe(true, `Cancel join is not displayed for ${adminModerated}`);
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminModerated}`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${adminModerated}`);
});
it('Available actions for a library - Search Results - user is a member - [C291812]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkLibraries();
await searchInput.searchForTextAndCloseSearchOptions(siteName);
await dataTable.rightClickOnItem(siteName);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
expect(await contextMenu.isLeaveLibraryPresent()).toBe(true, `Leave is not displayed for ${siteName}`);
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${siteName}`);
});
it('Available actions for a library - Search Results - user is not a member - [C291813]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkLibraries();
await searchInput.searchForTextAndCloseSearchOptions(adminPublic);
await dataTable.rightClickOnItem(adminPublic);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
expect(await contextMenu.isJoinLibraryPresent()).toBe(true, `Join is not displayed for ${adminPublic}`);
expect(await contextMenu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminPublic}`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${adminPublic}`);
});
it('Available actions for a moderated library - Search Results - user requested to join - [C291814]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkLibraries();
await searchInput.searchForTextAndCloseSearchOptions(adminModerated);
await dataTable.rightClickOnItem(adminModerated);
expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
@@ -374,15 +416,15 @@ describe('Context menu actions - single selection : ', () => {
expect(await contextMenu.isPermanentDeletePresent())
.toBe(true, `Permanently delete is not displayed for ${fileInTrash}`);
expect(await contextMenu.isRestorePresent()).toBe(true, `Restore is not displayed for ${fileInTrash}`);
expect(await contextMenu.isDownloadPresent()).toBe(false, `Download is not displayed for ${fileInTrash}`);
expect(await contextMenu.isViewPresent()).toBe(false, `View is not displayed for ${fileInTrash}`);
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is not displayed for ${fileInTrash}`);
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is not displayed for ${fileInTrash}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is not displayed for ${fileInTrash}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is not displayed for ${fileInTrash}`);
expect(await contextMenu.isSharePresent()).toBe(false, `Share is not displayed for ${fileInTrash}`);
expect(await contextMenu.isDownloadPresent()).toBe(false, `Download is displayed for ${fileInTrash}`);
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${fileInTrash}`);
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed for ${fileInTrash}`);
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is displayed for ${fileInTrash}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${fileInTrash}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileInTrash}`);
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${fileInTrash}`);
expect(await contextMenu.isManageVersionsPresent())
.toBe(false, `Manage Versions is not displayed for ${fileInTrash}`);
.toBe(false, `Manage Versions is displayed for ${fileInTrash}`);
expect(await contextMenu.isEditPresent()).toBe(false, `Edit is displayed for ${fileInTrash}`);
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileInTrash}`);
});
@@ -393,17 +435,62 @@ describe('Context menu actions - single selection : ', () => {
expect(await contextMenu.isPermanentDeletePresent())
.toBe(true, `Permanently delete is not displayed for ${folderInTrash}`);
expect(await contextMenu.isRestorePresent()).toBe(true, `Restore is not displayed for ${folderInTrash}`);
expect(await contextMenu.isDownloadPresent()).toBe(false, `Download is not displayed for ${folderInTrash}`);
expect(await contextMenu.isViewPresent()).toBe(false, `View is not displayed for ${folderInTrash}`);
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is not displayed for ${folderInTrash}`);
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is not displayed for ${folderInTrash}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is not displayed for ${folderInTrash}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is not displayed for ${folderInTrash}`);
expect(await contextMenu.isSharePresent()).toBe(false, `Share is not displayed for ${folderInTrash}`);
expect(await contextMenu.isDownloadPresent()).toBe(false, `Download is displayed for ${folderInTrash}`);
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folderInTrash}`);
expect(await contextMenu.isFavoritePresent()).toBe(false, `Favorite is displayed for ${folderInTrash}`);
expect(await contextMenu.isCopyPresent()).toBe(false, `Copy is displayed for ${folderInTrash}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${folderInTrash}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${folderInTrash}`);
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folderInTrash}`);
expect(await contextMenu.isManageVersionsPresent())
.toBe(false, `Manage Versions is not displayed for ${folderInTrash}`);
.toBe(false, `Manage Versions is displayed for ${folderInTrash}`);
expect(await contextMenu.isEditPresent()).toBe(false, `Edit is displayed for ${folderInTrash}`);
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${folderInTrash}`);
});
});
describe('on Search Results', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
done();
});
it('Context menu has the correct actions for a file - [C291827]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions(fileSiteUser);
await dataTable.rightClickOnItem(fileSiteUser);
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileSiteUser}`);
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${fileSiteUser}`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${fileSiteUser}`);
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileSiteUser}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${fileSiteUser}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileSiteUser}`);
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${fileSiteUser}`);
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${fileSiteUser}`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${fileSiteUser}`);
expect(await contextMenu.isEditPresent()).toBe(false, `Edit is displayed for ${fileSiteUser}`);
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${fileSiteUser}`);
});
it('Context menu has the correct actions for a folder - [C291828]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions(folderSiteUser);
await dataTable.rightClickOnItem(folderSiteUser);
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${folderSiteUser}`);
expect(await contextMenu.isEditPresent()).toBe(true, `Edit is not displayed for ${folderSiteUser}`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${folderSiteUser}`);
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderSiteUser}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${folderSiteUser}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${folderSiteUser}`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(true, `Permissions is not displayed for ${folderSiteUser}`);
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folderSiteUser}`);
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions displayed for ${folderSiteUser}`);
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folderSiteUser}`);
});
});
});
+1 -1
View File
@@ -216,7 +216,7 @@ describe('Create folder', () => {
const fileLibrariesPage = new BrowsingPage();
beforeEach(async (done) => {
await fileLibrariesPage.clickFileLibrariesAndWait();
await fileLibrariesPage.goToMyLibrariesAndWait();
done();
});
+5 -5
View File
@@ -106,7 +106,7 @@ describe('Create library', () => {
await createDialog.waitForDialogToClose();
expect(await page.breadcrumb.getCurrentItemName()).toEqual(site1Name, `Not navigated into ${site1Name}`);
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
expect(await dataTable.isItemPresent(site1Name)).toBe(true, `${site1Name} not in the list`);
expect(await apis.user.sites.getVisibility(site1Name)).toEqual(SITE_VISIBILITY.PUBLIC);
});
@@ -120,7 +120,7 @@ describe('Create library', () => {
await createDialog.waitForDialogToClose();
expect(await page.breadcrumb.getCurrentItemName()).toEqual(site2Name, `Not navigated into ${site2Name}`);
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
expect(await dataTable.isItemPresent(site2Name)).toBe(true, `${site2Name} not in the list`);
expect(await apis.user.sites.getVisibility(site2Name)).toEqual(SITE_VISIBILITY.MODERATED);
});
@@ -134,7 +134,7 @@ describe('Create library', () => {
await createDialog.waitForDialogToClose();
expect(await page.breadcrumb.getCurrentItemName()).toEqual(site3Name, `Not navigated into ${site3Name}`);
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
expect(await dataTable.isItemPresent(site3Name)).toBe(true, `${site3Name} not in the list`);
expect(await apis.user.sites.getVisibility(site3Name)).toEqual(SITE_VISIBILITY.PRIVATE);
});
@@ -150,7 +150,7 @@ describe('Create library', () => {
await createDialog.waitForDialogToClose();
expect(await page.breadcrumb.getCurrentItemName()).toEqual(site4.name, `Not navigated into ${site4.name}`);
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
expect(await dataTable.isItemPresent(site4.name)).toBe(true, `${site4.name} not in the list`);
expect(await apis.user.sites.getVisibility(site4.id)).toEqual(SITE_VISIBILITY.PUBLIC);
expect(await apis.user.sites.getDescription(site4.id)).toEqual(site4.description);
@@ -209,7 +209,7 @@ describe('Create library', () => {
await createDialog.waitForDialogToClose();
expect(await page.breadcrumb.getCurrentItemName()).toEqual(duplicateSite.name, `Not navigated into ${duplicateSite.name}`);
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
expect(await dataTable.isItemPresent(`${duplicateSite.name} (${duplicateSite.id}-2)`)).toBe(true, `${duplicateSite.name} not in the list`);
expect(await apis.user.sites.getTitle(`${duplicateSite.id}-2`)).toEqual(duplicateSite.name);
});
+1 -1
View File
@@ -244,7 +244,7 @@ describe('Edit folder', () => {
describe('on My Libraries', () => {
beforeEach(async (done) => {
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
done();
});
+8 -8
View File
@@ -96,7 +96,7 @@ describe('Library actions', () => {
});
it('Join a public library - Favorite Libraries - [C290105]', async () => {
await page.goToFavoriteLibraries();
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(sitePublic1Admin);
await toolbar.clickJoin();
@@ -104,7 +104,7 @@ describe('Library actions', () => {
});
it('Join a moderated library - Favorite Libraries - [C290109]', async () => {
await page.goToFavoriteLibraries();
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(siteModerated1Admin);
await toolbar.clickJoin();
@@ -114,7 +114,7 @@ describe('Library actions', () => {
});
it('Leave a library - My Libraries - [C290106]', async () => {
await page.goToMyLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(sitePublic2Admin);
await toolbar.clickLeave();
await page.waitForDialog();
@@ -125,7 +125,7 @@ describe('Library actions', () => {
});
it('Leave a library - Favorite Libraries - [C290110]', async () => {
await page.goToFavoriteLibraries();
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(sitePublic3Admin);
await toolbar.clickLeave();
await page.waitForDialog();
@@ -136,7 +136,7 @@ describe('Library actions', () => {
});
it('Confirmation dialog UI - [C290136]', async () => {
await page.goToMyLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(sitePublic4Admin);
await toolbar.clickLeave();
await page.waitForDialog();
@@ -149,7 +149,7 @@ describe('Library actions', () => {
});
it('Cancel Leave library - [C290111]', async () => {
await page.goToMyLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(sitePublic4Admin);
await toolbar.clickLeave();
await page.waitForDialog();
@@ -160,7 +160,7 @@ describe('Library actions', () => {
});
it('Leave a library - failure notification - [C290107]', async () => {
await page.goToMyLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(sitePublicUser);
await toolbar.clickLeave();
await page.waitForDialog();
@@ -170,7 +170,7 @@ describe('Library actions', () => {
});
it('Cancel join - Favorite Libraries - [C290108]', async () => {
await page.goToFavoriteLibraries();
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(siteModerated2Admin);
await toolbar.clickButton('Cancel join request');
+4 -4
View File
@@ -369,7 +369,7 @@ describe('Mark items as favorites', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await page.dataTable.doubleClickOnRowByName(siteName);
await page.dataTable.waitForHeader();
done();
@@ -457,7 +457,7 @@ describe('Mark items as favorites', () => {
});
it('Mark a library as favorite - [C289974]', async () => {
await page.goToMyLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(adminSite1);
await toolbar.clickMoreActionsFavorite();
@@ -465,7 +465,7 @@ describe('Mark items as favorites', () => {
});
it('Remove a library from favorites - on My Libraries - [C289975]', async () => {
await page.goToMyLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(adminSite2);
await toolbar.clickMoreActionsFavorite();
@@ -473,7 +473,7 @@ describe('Mark items as favorites', () => {
});
it('Remove a library from favorites - on Favorite Libraries - [C289976]', async () => {
await page.goToFavoriteLibraries();
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(adminSite3);
await toolbar.clickMoreActionsFavorite();
+7 -7
View File
@@ -86,14 +86,14 @@ describe('New menu', () => {
});
it('Create folder is enabled when having enough permissions - File Libraries - [C280393]', async () => {
await page.clickFileLibraries();
await page.goToMyLibrariesAndWait();
await page.dataTable.doubleClickOnRowByName(siteUser);
await page.sidenav.openNewMenu();
expect(await sidenav.menu.isCreateFolderEnabled()).toBe(true, 'Create folder is not enabled');
});
it('Create folder is disabled when not enough permissions - [C280397]', async () => {
await page.clickFileLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteAdmin);
await sidenav.openNewMenu();
expect(await sidenav.menu.isCreateFolderEnabled()).toBe(false, 'Create folder is not disabled');
@@ -107,7 +107,7 @@ describe('New menu', () => {
});
it('Upload File option is enabled when having permissions - on File Libraries - [C290142]', async () => {
await page.clickFileLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteUser);
await sidenav.openNewMenu();
@@ -115,7 +115,7 @@ describe('New menu', () => {
});
it('Upload File option is disabled when user cannot create content in that location - [C217146]', async () => {
await page.clickFileLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteAdmin);
await sidenav.openNewMenu();
@@ -130,7 +130,7 @@ describe('New menu', () => {
});
it('Upload Folder option is enabled when having permissions - on File Libraries - [C290146]', async () => {
await page.clickFileLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteUser);
await sidenav.openNewMenu();
@@ -138,7 +138,7 @@ describe('New menu', () => {
});
it('Upload Folder option is disabled when user cannot create content in that location - [C213193]', async () => {
await page.clickFileLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteAdmin);
await sidenav.openNewMenu();
@@ -154,7 +154,7 @@ describe('New menu', () => {
});
it('Create folder disabled button tooltip - [C280398]', async () => {
await page.clickFileLibraries();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteAdmin);
await sidenav.openNewMenu();
+9 -9
View File
@@ -261,14 +261,14 @@ describe('Share a file', () => {
describe('from File Libraries', () => {
const file1 = `file1-${Utils.random()}.txt`; let file1Id;
const file2 = `file2-${Utils.random()}.txt`; let file2Id;
const file1 = `file1-${Utils.random()}.txt`;
const file2 = `file2-${Utils.random()}.txt`;
const file3 = `file3-${Utils.random()}.txt`; let file3Id;
const file4 = `file4-${Utils.random()}.txt`; let file4Id;
const file4 = `file4-${Utils.random()}.txt`;
const file5 = `file5-${Utils.random()}.txt`; let file5Id;
const file6 = `file6-${Utils.random()}.txt`; let file6Id;
const file7 = `file7-${Utils.random()}.txt`; let file7Id;
const file8 = `file8-${Utils.random()}.txt`; let file8Id;
const file8 = `file8-${Utils.random()}.txt`;
const file9 = `file9-${Utils.random()}.txt`; let file9Id;
const siteName = `site-${Utils.random()}`;
@@ -279,14 +279,14 @@ describe('Share a file', () => {
const docLibId = await apis.user.sites.getDocLibId(siteName);
parentInSiteId = (await apis.user.nodes.createFolder(parentInSite, docLibId)).entry.id;
file1Id = (await apis.user.nodes.createFile(file1, parentInSiteId)).entry.id;
file2Id = (await apis.user.nodes.createFile(file2, parentInSiteId)).entry.id;
await apis.user.nodes.createFile(file1, parentInSiteId);
await apis.user.nodes.createFile(file2, parentInSiteId);
file3Id = (await apis.user.nodes.createFile(file3, parentInSiteId)).entry.id;
file4Id = (await apis.user.nodes.createFile(file4, parentInSiteId)).entry.id;
await apis.user.nodes.createFile(file4, parentInSiteId);
file5Id = (await apis.user.nodes.createFile(file5, parentInSiteId)).entry.id;
file6Id = (await apis.user.nodes.createFile(file6, parentInSiteId)).entry.id;
file7Id = (await apis.user.nodes.createFile(file7, parentInSiteId)).entry.id;
file8Id = (await apis.user.nodes.createFile(file8, parentInSiteId)).entry.id;
await apis.user.nodes.createFile(file8, parentInSiteId);
file9Id = (await apis.user.nodes.createFile(file9, parentInSiteId)).entry.id;
await apis.user.shared.shareFileById(file6Id, expiryDate);
await apis.user.shared.shareFileById(file7Id, expiryDate);
@@ -295,7 +295,7 @@ describe('Share a file', () => {
});
beforeEach(async (done) => {
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.doubleClickOnRowByName(parentInSite);
@@ -23,7 +23,7 @@
* 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 { SITE_VISIBILITY, SITE_ROLES, FILES } from '../../configs';
import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
@@ -34,16 +34,16 @@ describe('Granular permissions available actions : ', () => {
const userManager = `manager-${Utils.random()}`;
const siteName = `site-private-${Utils.random()}`;
const file1 = `file1-${Utils.random()}.txt`;
const file1 = `my-file1-${Utils.random()}.txt`;
let file1Id;
const file2 = `file2-${Utils.random()}.txt`;
const file2 = `my-file2-${Utils.random()}.txt`;
let file2Id;
const file3 = `file3-${Utils.random()}.txt`;
const file3 = `my-file3-${Utils.random()}.txt`;
let file3Id;
const folder1 = `folder1-${Utils.random()}`;
const folder1 = `my-folder1-${Utils.random()}`;
let folder1Id;
const folder2 = `folder2-${Utils.random()}`;
const folder2 = `my-folder2-${Utils.random()}`;
let folder2Id;
const docxFile = FILES.docxFile;
@@ -61,8 +61,10 @@ describe('Granular permissions available actions : ', () => {
const contextMenu = dataTable.menu;
const viewer = new Viewer();
const viewerToolbar = viewer.toolbar;
const searchResultsPage = new SearchResultsPage();
const { searchInput } = searchResultsPage.header;
beforeAll(async done => {
beforeAll(async (done) => {
await apis.admin.people.createUser({ username: userConsumer });
await apis.admin.people.createUser({ username: userManager });
@@ -96,7 +98,7 @@ describe('Granular permissions available actions : ', () => {
done();
});
afterAll(async done => {
afterAll(async (done) => {
await apis.admin.sites.deleteSite(siteName);
done();
});
@@ -104,8 +106,10 @@ describe('Granular permissions available actions : ', () => {
xit('');
describe('toolbar displays correct actions when selecting multiple files with different granular permissions', () => {
beforeEach(async done => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -114,6 +118,7 @@ describe('Granular permissions available actions : ', () => {
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.selectMultipleItems([file1, file2]);
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for selected files`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for selected files`);
expect(await toolbar.isEditPresent()).toBe(false, `Edit is displayed for selected files`);
@@ -128,6 +133,7 @@ describe('Granular permissions available actions : ', () => {
it('on Shared Files - [C280477]', async () => {
await page.clickSharedFilesAndWait();
await dataTable.selectMultipleItems([file1, file2]);
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for selected files`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for selected files`);
expect(await toolbar.isEditPresent()).toBe(false, `Edit is displayed for selected files`);
@@ -142,6 +148,7 @@ describe('Granular permissions available actions : ', () => {
it('on Favorites - [C280478]', async () => {
await page.clickFavoritesAndWait();
await dataTable.selectMultipleItems([file1, file2]);
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for selected files`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for selected files`);
expect(await toolbar.isEditPresent()).toBe(false, `Edit is displayed for selected files`);
@@ -153,11 +160,30 @@ describe('Granular permissions available actions : ', () => {
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('on Search Results - [C291823]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions('my-file');
await dataTable.selectMultipleItems([file1, file2]);
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for selected files`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for selected files`);
expect(await toolbar.isEditPresent()).toBe(false, `Edit is displayed for selected files`);
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
});
describe('toolbar actions appear correctly for a file - consumer', () => {
beforeEach(async done => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -210,11 +236,32 @@ describe('Granular permissions available actions : ', () => {
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${file1}`);
await toolbar.closeMoreMenu();
});
it('on Search Results - [C291818]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions(file1);
await dataTable.selectItem(file1);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${file1}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${file1}`);
expect(await toolbar.isEditPresent()).toBe(false, `Edit is displayed for ${file1}`);
await toolbar.openMoreMenu();
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.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${file1}`);
await toolbar.closeMoreMenu();
});
});
describe('toolbar actions appear correctly for a folder - consumer', () => {
beforeEach(async done => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -252,12 +299,32 @@ describe('Granular permissions available actions : ', () => {
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${folder1}`);
await toolbar.closeMoreMenu();
});
it('on Search Results - [C291819]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions(folder1);
await dataTable.selectItem(folder1);
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folder1}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${folder1}`);
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${folder1}`);
expect(await toolbar.isEditPresent()).toBe(false, `Edit is displayed for ${folder1}`);
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folder1}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${folder1}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${folder1}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${folder1}`);
await toolbar.closeMoreMenu();
});
});
describe('toolbar actions appear correctly for multiple selection of files - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -305,12 +372,30 @@ describe('Granular permissions available actions : ', () => {
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('on Search Results - [C291824]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions('my-file');
await dataTable.selectMultipleItems([file1, file2]);
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await toolbar.isEditPresent()).toBe(false, 'Edit is displayed');
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
await toolbar.closeMoreMenu();
});
});
describe('toolbar actions appear correctly for multiple selection of folders - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -344,12 +429,30 @@ describe('Granular permissions available actions : ', () => {
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('on Search Results - [C291825]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-folder');
await dataTable.selectMultipleItems([folder1, folder2]);
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await toolbar.isEditPresent()).toBe(false, 'Edit is displayed');
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
await toolbar.closeMoreMenu();
});
});
describe('toolbar actions appear correctly for when both files and folders are selected - consumer', () => {
beforeEach(async done => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -383,11 +486,30 @@ describe('Granular permissions available actions : ', () => {
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('on Search Results - [C291826]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-f');
await dataTable.selectMultipleItems([file1, folder1]);
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await toolbar.isEditPresent()).toBe(false, 'Edit is displayed');
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
await toolbar.closeMoreMenu();
});
});
describe('context menu actions are correct for a file - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -443,11 +565,31 @@ describe('Granular permissions available actions : ', () => {
expect(await contextMenu.isEditPresent()).toBe(false, `Edit is displayed for ${file1}`);
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${file1}`);
});
it('on Search Results - [C291829]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions(file1);
await dataTable.rightClickOnItem(file1);
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${file1}`);
expect(await contextMenu.isViewPresent()).toBe(true, `View is not displayed for ${file1}`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${file1}`);
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${file1}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${file1}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${file1}`);
expect(await contextMenu.isSharePresent()).toBe(true, `Share is not displayed for ${file1}`);
expect(await contextMenu.isManageVersionsPresent()).toBe(true, `Manage Versions not displayed for ${file1}`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed for ${file1}`);
expect(await contextMenu.isEditPresent()).toBe(false, `Edit is displayed for ${file1}`);
expect(await contextMenu.isViewDetailsPresent()).toBe(false, `View details is displayed for ${file1}`);
});
});
describe('context menu actions are correct for a folder - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -485,12 +627,30 @@ describe('Granular permissions available actions : ', () => {
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions is displayed for ${folder1}`);
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folder1}`);
});
it('on Search Results - [C291830]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions(folder1);
await dataTable.rightClickOnItem(folder1);
expect(await contextMenu.isDownloadPresent()).toBe(true, `Download is not displayed for ${folder1}`);
expect(await contextMenu.isEditPresent()).toBe(false, `Edit is displayed for ${folder1}`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${folder1}`);
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folder1}`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed for ${folder1}`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed for ${folder1}`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed for ${folder1}`);
expect(await contextMenu.isViewPresent()).toBe(false, `View is displayed for ${folder1}`);
expect(await contextMenu.isManageVersionsPresent()).toBe(false, `Manage Versions displayed for ${folder1}`);
expect(await contextMenu.isSharePresent()).toBe(false, `Share is displayed for ${folder1}`);
});
});
describe('context menu actions are correct for multiple selection of files - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -535,12 +695,29 @@ describe('Granular permissions available actions : ', () => {
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed`);
});
it('on Search Results - [C291834]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions('my-file');
await dataTable.selectMultipleItems([file1, file2]);
await dataTable.rightClickOnMultipleSelection();
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed`);
});
});
describe('context menu actions are correct for multiple selection of folders - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -572,12 +749,29 @@ describe('Granular permissions available actions : ', () => {
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed`);
});
it('on Search Results - [C291835]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-folder');
await dataTable.selectMultipleItems([folder1, folder2]);
await dataTable.rightClickOnMultipleSelection();
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed`);
});
});
describe('context menu actions are correct when both files and folders are selected - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -609,11 +803,29 @@ describe('Granular permissions available actions : ', () => {
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed`);
});
it('on Search Results - [C291836]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-f');
await dataTable.selectMultipleItems([file1, folder1]);
await dataTable.rightClickOnMultipleSelection();
expect(await contextMenu.isViewPresent()).toBe(false, 'View is displayed');
expect(await contextMenu.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await contextMenu.isCopyPresent()).toBe(true, `Copy is not displayed`);
expect(await contextMenu.isDeletePresent()).toBe(false, `Delete is displayed`);
expect(await contextMenu.isMovePresent()).toBe(false, `Move is displayed`);
expect(await contextMenu.isFavoritePresent()).toBe(true, `Favorite is not displayed`);
expect(await contextMenu.isManagePermissionsPresent()).toBe(false, `Permissions is displayed`);
});
});
describe('toolbar actions appear correctly in the viewer - consumer', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFiles();
done();
});
@@ -24,7 +24,7 @@
*/
import { browser, protractor } from 'protractor';
import { LoginPage, BrowsingPage } from '../../pages/pages';
import { LoginPage, BrowsingPage, SearchResultsPage } from '../../pages/pages';
import { SITE_VISIBILITY } from '../../configs';
import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
@@ -32,14 +32,14 @@ import { Utils } from '../../utilities/utils';
describe('Toolbar actions - multiple selection : ', () => {
const username = `user-${Utils.random()}`;
const file1 = `file1-${Utils.random()}.txt`;
const file1 = `my-file1-${Utils.random()}.txt`;
let file1Id;
const file2 = `file2-${Utils.random()}.txt`;
const file2 = `my-file2-${Utils.random()}.txt`;
let file2Id;
const folder1 = `folder1-${Utils.random()}`;
const folder1 = `my-folder1-${Utils.random()}`;
let folder1Id;
const folder2 = `folder2-${Utils.random()}`;
const folder2 = `my-folder2-${Utils.random()}`;
let folder2Id;
const fileForDelete1 = `file-${Utils.random()}.txt`;
@@ -52,10 +52,10 @@ describe('Toolbar actions - multiple selection : ', () => {
let folderForDelete2Id;
const siteName = `site-${Utils.random()}`;
const file1InSite = `file1-${Utils.random()}.txt`;
const file2InSite = `file2-${Utils.random()}.txt`;
const folder1InSite = `folder1-${Utils.random()}`;
const folder2InSite = `folder2-${Utils.random()}`;
const file1InSite = `my-fileInSite1-${Utils.random()}.txt`;
const file2InSite = `my-fileInSite2-${Utils.random()}.txt`;
const folder1InSite = `my-folderInSite1-${Utils.random()}`;
const folder2InSite = `my-folderInSite2-${Utils.random()}`;
const apis = {
admin: new RepoClient(),
@@ -65,8 +65,10 @@ describe('Toolbar actions - multiple selection : ', () => {
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { dataTable, toolbar } = page;
const searchResultsPage = new SearchResultsPage();
const { searchInput } = searchResultsPage.header;
beforeAll(async done => {
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
file1Id = (await apis.user.nodes.createFiles([file1])).entry.id;
@@ -100,7 +102,7 @@ describe('Toolbar actions - multiple selection : ', () => {
done();
});
afterAll(async done => {
afterAll(async (done) => {
await Promise.all([
apis.user.nodes.deleteNodesById([file1Id, file2Id, folder1Id, folder2Id]),
apis.user.trashcan.emptyTrash(),
@@ -111,11 +113,11 @@ describe('Toolbar actions - multiple selection : ', () => {
xit('');
describe('Personal Files', () => {
beforeEach(async done => {
describe('on Personal Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
await dataTable.clearSelection();
await page.clickPersonalFilesAndWait();
done();
});
@@ -182,13 +184,12 @@ describe('Toolbar actions - multiple selection : ', () => {
});
});
describe('File Libraries', () => {
beforeEach(async done => {
describe('on File Libraries', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.clearSelection();
done();
});
@@ -202,6 +203,7 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when multiple folders are selected - [C280462]', async () => {
@@ -214,6 +216,7 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when both files and folders are selected - [C280463]', async () => {
@@ -226,15 +229,15 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
});
describe('Shared Files', () => {
beforeEach(async done => {
// await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
describe('on Shared Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickSharedFilesAndWait();
await dataTable.clearSelection();
await page.clickSharedFilesAndWait();
done();
});
@@ -248,14 +251,15 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
});
describe('Recent Files', () => {
beforeEach(async done => {
describe('on Recent Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickRecentFilesAndWait();
await dataTable.clearSelection();
await page.clickRecentFilesAndWait();
done();
});
@@ -269,15 +273,15 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
});
describe('Favorites', () => {
beforeEach(async done => {
// await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
describe('on Favorites', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFavoritesAndWait();
await dataTable.clearSelection();
await page.clickFavoritesAndWait();
done();
});
@@ -291,6 +295,7 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when multiple folders are selected - [C280470]', async () => {
@@ -303,6 +308,7 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when both files and folders are selected - [C280471]', async () => {
@@ -315,14 +321,13 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(true, `Move is not displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
});
describe('Trash', () => {
beforeEach(async done => {
await Utils.pressEscape();
describe('on Trash', () => {
beforeEach(async (done) => {
await page.clickTrashAndWait();
await dataTable.clearSelection();
done();
});
@@ -344,4 +349,63 @@ describe('Toolbar actions - multiple selection : ', () => {
expect(await toolbar.isButtonPresent('Restore')).toBe(true, 'Restore is not displayed');
});
});
describe('on Search Results', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
done();
});
it('correct actions appear when multiple files are selected - [C291820]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions('my-fileInSite');
await dataTable.selectMultipleItems([file1InSite, file2InSite]);
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed for selected files');
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed for selected files');
expect(await toolbar.isEditPresent()).toBe(false, 'Edit is displayed for selected files');
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when multiple folders are selected - [C291821]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-folderInSite');
await dataTable.selectMultipleItems([folder1InSite, folder2InSite]);
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await toolbar.isEditPresent()).toBe(false, 'Edit is displayed');
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when both files and folders are selected - [C291822]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchForTextAndCloseSearchOptions('my-f');
await dataTable.selectMultipleItems([file1InSite, file2InSite, folder1InSite, folder2InSite]);
expect(await toolbar.isViewPresent()).toBe(false, 'View is displayed');
expect(await toolbar.isDownloadPresent()).toBe(true, 'Download is not displayed');
expect(await toolbar.isEditPresent()).toBe(false, 'Edit is displayed');
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for selected files`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for selected files`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for selected files`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
});
});
@@ -23,7 +23,7 @@
* 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 { SITE_VISIBILITY } from '../../configs';
import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
@@ -37,8 +37,8 @@ describe('Toolbar actions - single selection : ', () => {
const folderForDelete = `folderForDelete-${Utils.random()}`; let folderForDeleteId;
const siteName = `site-${Utils.random()}`;
const fileInSite = `fileAdmin-${Utils.random()}.txt`;
const folderInSite = `folderAdmin-${Utils.random()}`;
const fileInSite = `file-site-${Utils.random()}.txt`;
const folderInSite = `folder-site-${Utils.random()}`;
const adminPublic = `admin-public-${Utils.random()}`;
const adminModerated = `admin-moderated-${Utils.random()}`;
@@ -51,6 +51,8 @@ describe('Toolbar actions - single selection : ', () => {
const loginPage = new LoginPage();
const page = new BrowsingPage();
const { dataTable, toolbar } = page;
const searchResultsPage = new SearchResultsPage();
const { searchInput } = searchResultsPage.header;
beforeAll(async (done) => {
await apis.admin.people.createUser({ username });
@@ -81,6 +83,8 @@ describe('Toolbar actions - single selection : ', () => {
await apis.user.favorites.addFavoriteById('site', adminModerated);
await apis.user.sites.requestToJoin(adminModerated);
await apis.user.queries.waitForSites(siteName, { expect: 1 });
await loginPage.loginWith(username);
done();
});
@@ -99,27 +103,18 @@ describe('Toolbar actions - single selection : ', () => {
xit('');
describe('General tests', () => {
describe('on Personal Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
await page.clickPersonalFilesAndWait();
done();
});
it('selected row is marked with a check circle icon - [C213134]', async () => {
await page.clickPersonalFilesAndWait();
await dataTable.selectItem(fileUser);
expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(true, 'check mark missing');
});
});
describe('on Personal Files', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
await dataTable.clearSelection();
done();
});
it('actions are not displayed when no item is selected - [C213120]', async () => {
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
@@ -157,10 +152,9 @@ describe('Toolbar actions - single selection : ', () => {
describe('on File Libraries', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.clearSelection();
done();
});
@@ -200,12 +194,16 @@ describe('Toolbar actions - single selection : ', () => {
describe('on a library', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await dataTable.clearSelection();
done();
});
it('Available actions when a library is selected - My Libraries - [C213135]', async () => {
await page.goToMyLibraries();
afterAll(async (done) => {
await page.clickPersonalFiles();
done();
});
it('Available actions for a library - My Libraries - [C213135]', async () => {
await page.goToMyLibrariesAndWait();
await dataTable.selectItem(siteName);
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${siteName}`);
@@ -213,10 +211,11 @@ describe('Toolbar actions - single selection : ', () => {
await toolbar.openMoreMenu();
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${siteName}`);
await toolbar.closeMoreMenu();
});
it('Available actions when a library is selected - Favorite Libraries - user is a member - [C289892]', async () => {
await page.goToFavoriteLibraries();
it('Available actions for a library - Favorite Libraries - user is a member - [C289892]', async () => {
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(siteName);
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${siteName}`);
@@ -224,10 +223,11 @@ describe('Toolbar actions - single selection : ', () => {
await toolbar.openMoreMenu();
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${siteName}`);
await toolbar.closeMoreMenu();
});
it('Available actions when a library is selected - Favorite Libraries - user is not a member - [C290090]', async () => {
await page.goToFavoriteLibraries();
it('Available actions for a library - Favorite Libraries - user is not a member - [C290090]', async () => {
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(adminPublic);
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminPublic}`);
@@ -235,10 +235,11 @@ describe('Toolbar actions - single selection : ', () => {
await toolbar.openMoreMenu();
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminPublic}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${adminPublic}`);
await toolbar.closeMoreMenu();
});
it('Available actions when a library is selected - Favorite Libraries - user requested to join - [C290091]', async () => {
await page.goToFavoriteLibraries();
it('Available actions for a moderated library - Favorite Libraries - user requested to join - [C290091]', async () => {
await page.goToFavoriteLibrariesAndWait();
await dataTable.selectItem(adminModerated);
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminModerated}`);
@@ -246,6 +247,52 @@ describe('Toolbar actions - single selection : ', () => {
await toolbar.openMoreMenu();
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminModerated}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${adminModerated}`);
await toolbar.closeMoreMenu();
});
it('Available actions for a library - Search Results - [C290084]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkLibraries();
await searchInput.searchForTextAndCloseSearchOptions(siteName);
await dataTable.selectItem(siteName);
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${siteName}`);
expect(await toolbar.isButtonPresent('Leave library')).toBe(true, `Leave is not displayed for ${siteName}`);
await toolbar.openMoreMenu();
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${siteName}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${siteName}`);
await toolbar.closeMoreMenu();
});
it('Available actions for a library - Search Results - user is not a member - [C290085]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkLibraries();
await searchInput.searchForTextAndCloseSearchOptions(adminPublic);
await dataTable.selectItem(adminPublic);
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminPublic}`);
expect(await toolbar.isButtonPresent('Join')).toBe(true, `Join is not displayed for ${adminPublic}`);
await toolbar.openMoreMenu();
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminPublic}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${adminPublic}`);
await toolbar.closeMoreMenu();
});
it('Available actions for a moderated library - Search Results - user requested to join - [C290086]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkLibraries();
await searchInput.searchForTextAndCloseSearchOptions(adminModerated);
await dataTable.selectItem(adminModerated);
expect(await toolbar.isEmpty()).toBe(false, 'toolbar not displayed');
expect(await toolbar.isViewDetailsPresent()).toBe(true, `View details is not displayed for ${adminModerated}`);
expect(await toolbar.isButtonPresent('Cancel join request')).toBe(true, `Cancel join is not displayed for ${adminModerated}`);
await toolbar.openMoreMenu();
expect(await toolbar.menu.isDeletePresent()).toBe(true, `Delete is not displayed for ${adminModerated}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${adminModerated}`);
await toolbar.closeMoreMenu();
});
});
@@ -253,7 +300,6 @@ describe('Toolbar actions - single selection : ', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickSharedFilesAndWait();
await dataTable.clearSelection();
done();
});
@@ -281,7 +327,6 @@ describe('Toolbar actions - single selection : ', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickRecentFilesAndWait();
await dataTable.clearSelection();
done();
});
@@ -308,7 +353,6 @@ describe('Toolbar actions - single selection : ', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickFavoritesAndWait();
await dataTable.clearSelection();
done();
});
@@ -349,7 +393,6 @@ describe('Toolbar actions - single selection : ', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickTrashAndWait();
await dataTable.clearSelection();
done();
});
@@ -371,4 +414,56 @@ describe('Toolbar actions - single selection : ', () => {
expect(await toolbar.isButtonPresent('Restore')).toBe(true, `Restore is not enabled for folder`);
});
});
describe('on Search Results', () => {
beforeEach(async (done) => {
await Utils.pressEscape();
await page.clickPersonalFilesAndWait();
done();
});
it('actions are not displayed when no item is selected - [C291815]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkFilesAndFolders();
await searchInput.searchForTextAndCloseSearchOptions(fileInSite);
expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
it('correct actions appear when a file is selected - [C291816]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFiles();
await searchInput.searchForTextAndCloseSearchOptions(fileUser);
await dataTable.selectItem(fileUser);
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
expect(await toolbar.isViewPresent()).toBe(true, `View is not displayed for ${fileUser}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not displayed for ${fileUser}`);
expect(await toolbar.isEditPresent()).toBe(false, `Edit is displayed for ${fileUser}`);
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${fileUser}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${fileUser}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${fileUser}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${fileUser}`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when a folder is selected - [C291817]', async () => {
await searchInput.clickSearchButton();
await searchInput.checkOnlyFolders();
await searchInput.searchForTextAndCloseSearchOptions(folderUser);
await dataTable.selectItem(folderUser);
expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
expect(await toolbar.isViewPresent()).toBe(false, `View is displayed for ${folderUser}`);
expect(await toolbar.isDownloadPresent()).toBe(true, `Download is not enabled for ${folderUser}`);
expect(await toolbar.isEditPresent()).toBe(true, `Edit is not displayed for ${folderUser}`);
await toolbar.openMoreMenu();
expect(await toolbar.menu.isCopyPresent()).toBe(true, `Copy is not displayed for ${folderUser}`);
expect(await toolbar.menu.isDeletePresent()).toBe(false, `Delete is displayed for ${folderUser}`);
expect(await toolbar.menu.isMovePresent()).toBe(false, `Move is displayed for ${folderUser}`);
expect(await toolbar.menu.isFavoritePresent()).toBe(true, `Favorite is not displayed for ${folderUser}`);
await toolbar.closeMoreMenu();
});
});
});
+3 -3
View File
@@ -214,7 +214,7 @@ describe('Unshare a file', () => {
beforeEach(async (done) => {
await page.refresh();
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(siteName);
await dataTable.waitForHeader();
await dataTable.doubleClickOnRowByName(parentInSite);
@@ -733,7 +733,7 @@ describe('Unshare a file', () => {
});
it('on File Libraries - file shared by other user - [C286682]', async () => {
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(sitePrivate);
await dataTable.waitForHeader();
await dataTable.selectItem(file1);
@@ -744,7 +744,7 @@ describe('Unshare a file', () => {
});
it('on File Libraries - file shared by the user - [C286701]', async () => {
await page.clickFileLibrariesAndWait();
await page.goToMyLibrariesAndWait();
await dataTable.doubleClickOnRowByName(sitePrivate);
await dataTable.waitForHeader();
await dataTable.selectItem(file2);