diff --git a/e2e/suites/actions/context-menu-multiple-selection.test.ts b/e2e/suites/actions/context-menu-multiple-selection.test.ts
index 9c1fe4810..2c136f7f0 100755
--- a/e2e/suites/actions/context-menu-multiple-selection.test.ts
+++ b/e2e/suites/actions/context-menu-multiple-selection.test.ts
@@ -30,352 +30,352 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
describe('Context menu actions - multiple selection : ', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const file1 = `file1-${Utils.random()}.txt`; let file1Id;
- const file2 = `file2-${Utils.random()}.txt`; let file2Id;
+ const file1 = `file1-${Utils.random()}.txt`; let file1Id;
+ const file2 = `file2-${Utils.random()}.txt`; let file2Id;
- const folder1 = `folder1-${Utils.random()}`; let folder1Id;
- const folder2 = `folder2-${Utils.random()}`; let folder2Id;
+ const folder1 = `folder1-${Utils.random()}`; let folder1Id;
+ const folder2 = `folder2-${Utils.random()}`; let folder2Id;
- const fileInTrash1 = `deletedFile1-${Utils.random()}.txt`; let fileInTrash1Id;
- const fileInTrash2 = `deletedFile2-${Utils.random()}.txt`; let fileInTrash2Id;
- const folderInTrash1 = `deletedFolder1-${Utils.random()}`; let folderInTrash1Id;
- const folderInTrash2 = `deletedFolder2-${Utils.random()}`; let folderInTrash2Id;
+ const fileInTrash1 = `deletedFile1-${Utils.random()}.txt`; let fileInTrash1Id;
+ const fileInTrash2 = `deletedFile2-${Utils.random()}.txt`; let fileInTrash2Id;
+ const folderInTrash1 = `deletedFolder1-${Utils.random()}`; let folderInTrash1Id;
+ const folderInTrash2 = `deletedFolder2-${Utils.random()}`; let folderInTrash2Id;
- const siteName = `site-${Utils.random()}`;
- const file1Site = `file1-${Utils.random()}.txt`;
- const file2Site = `file2-${Utils.random()}.txt`;
- const folder1Site = `folder1-${Utils.random()}`;
- const folder2Site = `folder2-${Utils.random()}`;
+ 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 apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { dataTable } = page;
- const contextMenu = dataTable.menu;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { dataTable } = page;
+ const contextMenu = dataTable.menu;
- beforeAll(async (done) => {
- await apis.admin.people.createUser({ username });
- file1Id = (await apis.user.nodes.createFile(file1)).entry.id;
- file2Id = (await apis.user.nodes.createFile(file2)).entry.id;
- folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
- folder2Id = (await apis.user.nodes.createFolder(folder2)).entry.id;
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ file1Id = (await apis.user.nodes.createFile(file1)).entry.id;
+ file2Id = (await apis.user.nodes.createFile(file2)).entry.id;
+ folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
+ folder2Id = (await apis.user.nodes.createFolder(folder2)).entry.id;
- await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
- const docLibId = (await apis.user.sites.getDocLibId(siteName));
- await apis.user.nodes.createFile(file1Site, docLibId);
- await apis.user.nodes.createFile(file2Site, docLibId);
- await apis.user.nodes.createFolder(folder1Site, docLibId);
- await apis.user.nodes.createFile(folder2Site, docLibId);
+ await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
+ const docLibId = (await apis.user.sites.getDocLibId(siteName));
+ await apis.user.nodes.createFile(file1Site, docLibId);
+ await apis.user.nodes.createFile(file2Site, docLibId);
+ await apis.user.nodes.createFolder(folder1Site, docLibId);
+ await apis.user.nodes.createFile(folder2Site, docLibId);
- await apis.user.shared.shareFilesByIds([ file1Id, file2Id ]);
- await apis.user.shared.waitForApi({ expect: 2 });
+ await apis.user.shared.shareFilesByIds([ file1Id, file2Id ]);
+ await apis.user.shared.waitForApi({ expect: 2 });
- await apis.user.favorites.addFavoritesByIds('file', [ file1Id, file2Id ]);
- await apis.user.favorites.addFavoritesByIds('folder', [ folder1Id, folder2Id ]);
- await apis.user.favorites.waitForApi({ expect: 4 });
+ await apis.user.favorites.addFavoritesByIds('file', [ file1Id, file2Id ]);
+ await apis.user.favorites.addFavoritesByIds('folder', [ folder1Id, folder2Id ]);
+ await apis.user.favorites.waitForApi({ expect: 4 });
- fileInTrash1Id = (await apis.user.nodes.createFile(fileInTrash1)).entry.id;
- fileInTrash2Id = (await apis.user.nodes.createFile(fileInTrash2)).entry.id;
- folderInTrash1Id = (await apis.user.nodes.createFolder(folderInTrash1)).entry.id;
- folderInTrash2Id = (await apis.user.nodes.createFolder(folderInTrash2)).entry.id;
- await apis.user.nodes.deleteNodesById([ fileInTrash1Id, fileInTrash2Id, folderInTrash1Id, folderInTrash2Id ], false);
+ fileInTrash1Id = (await apis.user.nodes.createFile(fileInTrash1)).entry.id;
+ fileInTrash2Id = (await apis.user.nodes.createFile(fileInTrash2)).entry.id;
+ folderInTrash1Id = (await apis.user.nodes.createFolder(folderInTrash1)).entry.id;
+ folderInTrash2Id = (await apis.user.nodes.createFolder(folderInTrash2)).entry.id;
+ await apis.user.nodes.deleteNodesById([ fileInTrash1Id, fileInTrash2Id, folderInTrash1Id, folderInTrash2Id ], false);
- await loginPage.loginWith(username);
- done();
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.nodes.deleteNodesById([ file1Id, file2Id, folder1Id, folder2Id ]),
+ apis.user.sites.deleteSite(siteName),
+ apis.user.trashcan.emptyTrash(),
+ logoutPage.load()
+ ]);
+ done();
+ });
+
+ xit('');
+
+ describe('Generic tests', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ await dataTable.clearSelection();
+ done();
});
- afterAll(async (done) => {
- await Promise.all([
- apis.user.nodes.deleteNodesById([ file1Id, file2Id, folder1Id, folder2Id ]),
- apis.user.sites.deleteSite(siteName),
- apis.user.trashcan.emptyTrash(),
- logoutPage.load()
- ]);
- done();
+ it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => {
+ await dataTable.selectMultipleItems([ file1, file2 ]);
+ // await dataTable.rightClickOnItem(file1);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
- xit('');
+ it('Context menu appears when right clicking on a single item while having multiple items selected - [C286269]', async () => {
+ await dataTable.selectMultipleItems([ file2, folder1 ]);
+ await dataTable.rightClickOnItem(file1);
+ expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${file1}`);
+ expect(await dataTable.countSelectedRows()).toEqual(1, 'incorrect number of selected rows');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
+ expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, `${file1} is not selected`);
+ expect(await dataTable.hasCheckMarkIcon(file2)).toBe(false, `${file2} is selected`);
+ expect(await dataTable.hasCheckMarkIcon(folder1)).toBe(false, `${folder1} is selected`);
+ });
+ });
- describe('Generic tests', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- await dataTable.clearSelection();
- done();
- });
-
- it('Context menu appears on right click on a multiple selection of items - [C286268]', async () => {
- await dataTable.selectMultipleItems([ file1, file2 ]);
- // await dataTable.rightClickOnItem(file1);
- await dataTable.rightClickOnMultipleSelection();
- expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
- });
-
- it('Context menu appears when right clicking on a single item while having multiple items selected - [C286269]', async () => {
- await dataTable.selectMultipleItems([ file2, folder1 ]);
- await dataTable.rightClickOnItem(file1);
- expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${file1}`);
- expect(await dataTable.countSelectedRows()).toEqual(1, 'incorrect number of selected rows');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
- expect(await dataTable.hasCheckMarkIcon(file1)).toBe(true, `${file1} is not selected`);
- expect(await dataTable.hasCheckMarkIcon(file2)).toBe(false, `${file2} is selected`);
- expect(await dataTable.hasCheckMarkIcon(folder1)).toBe(false, `${folder1} is selected`);
- });
+ describe('on Personal Files', () => {
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ await dataTable.clearSelection();
+ done();
});
- describe('on Personal Files', () => {
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- await dataTable.clearSelection();
- done();
- });
-
- it('correct actions appear when multiple files are selected - [C280661]', async () => {
- await dataTable.selectMultipleItems([file1, file2]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
-
- it('correct actions appear when multiple folders are selected - [C280632]', async () => {
- await dataTable.selectMultipleItems([folder1, folder2]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
-
- it('correct actions appear when both files and folders are selected - [C280631]', async () => {
- await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
+ it('correct actions appear when multiple files are selected - [C280661]', async () => {
+ await dataTable.selectMultipleItems([file1, file2]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
});
- describe('on File Libraries', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await dataTable.clearSelection();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
- await dataTable.waitForHeader();
- await dataTable.doubleClickOnRowByName(siteName);
- await dataTable.waitForHeader();
- done();
- });
-
- it('correct actions appear when multiple files are selected - [C280641]', async () => {
- await dataTable.selectMultipleItems([ file1Site, file2Site ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
-
- it('correct actions appear when multiple folders are selected - [C280574]', async () => {
- await dataTable.selectMultipleItems([ folder1Site, folder2Site ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
-
- it('correct actions appear when both files and folders are selected - [C280642]', async () => {
- await dataTable.selectMultipleItems([ file1Site, file2Site, folder1Site, folder2Site ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
+ it('correct actions appear when multiple folders are selected - [C280632]', async () => {
+ await dataTable.selectMultipleItems([folder1, folder2]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
});
- describe('on Shared Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await dataTable.clearSelection();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
- await dataTable.waitForHeader();
- done();
- });
+ it('correct actions appear when both files and folders are selected - [C280631]', async () => {
+ await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
+ });
+ });
- it('correct actions appear when multiple files are selected - [C280648]', async () => {
- await dataTable.selectMultipleItems([ file1, file2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
+ describe('on File Libraries', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await dataTable.clearSelection();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await dataTable.waitForHeader();
+ await dataTable.doubleClickOnRowByName(siteName);
+ await dataTable.waitForHeader();
+ done();
});
- describe('Recent Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await dataTable.clearSelection();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('correct actions appear when multiple files are selected - [C280652]', async () => {
- await dataTable.selectMultipleItems([ file1, file2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
+ it('correct actions appear when multiple files are selected - [C280641]', async () => {
+ await dataTable.selectMultipleItems([ file1Site, file2Site ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
});
- describe('Favorites', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await dataTable.clearSelection();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('correct actions appear when multiple files are selected - [C280656]', async () => {
- await dataTable.selectMultipleItems([ file1, file2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- // TODO: enable when ACA-1794 is fixed
- // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
-
- it('correct actions appear when multiple folders are selected - [C280664]', async () => {
- await dataTable.selectMultipleItems([ folder1, folder2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- // TODO: enable when ACA-1794 is fixed
- // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
-
- it('correct actions appear when both files and folders are selected - [C280657]', async () => {
- await dataTable.selectMultipleItems([ file1, file2, folder1, folder2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
- // TODO: enable when ACA-1794 is fixed
- // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
- });
+ it('correct actions appear when multiple folders are selected - [C280574]', async () => {
+ await dataTable.selectMultipleItems([ folder1Site, folder2Site ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
});
- describe('Trash', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await dataTable.clearSelection();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- await dataTable.waitForHeader();
- done();
- });
-
- it('correct actions appear when multiple files are selected - [C286273]', async () => {
- await dataTable.selectMultipleItems([ fileInTrash1, fileInTrash2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('Permanently delete')).toBe(true, 'Permanently delete is not displayed');
- expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, 'Restore is not displayed');
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, 'Download is displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is displayed`);
- });
-
- it('correct actions appear when multiple folders are selected - [C286274]', async () => {
- await dataTable.selectMultipleItems([ folderInTrash1, folderInTrash2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('Permanently delete')).toBe(true, 'Permanently delete is not displayed');
- expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, 'Restore is not displayed');
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, 'Download is displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is displayed`);
- });
-
- it('correct actions appear when both files and folders are selected - [C286275]', async () => {
- await dataTable.selectMultipleItems([ fileInTrash1, fileInTrash2, folderInTrash1, folderInTrash2 ]);
- await dataTable.rightClickOnMultipleSelection();
- expect(await contextMenu.isMenuItemPresent('Permanently delete')).toBe(true, 'Permanently delete is not displayed');
- expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, 'Restore is not displayed');
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, 'Download is displayed');
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is displayed`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is displayed`);
- });
+ it('correct actions appear when both files and folders are selected - [C280642]', async () => {
+ await dataTable.selectMultipleItems([ file1Site, file2Site, folder1Site, folder2Site ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
});
+ });
+
+ describe('on Shared Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await dataTable.clearSelection();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('correct actions appear when multiple files are selected - [C280648]', async () => {
+ await dataTable.selectMultipleItems([ file1, file2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
+ });
+ });
+
+ describe('Recent Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await dataTable.clearSelection();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('correct actions appear when multiple files are selected - [C280652]', async () => {
+ await dataTable.selectMultipleItems([ file1, file2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
+ });
+ });
+
+ describe('Favorites', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await dataTable.clearSelection();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('correct actions appear when multiple files are selected - [C280656]', async () => {
+ await dataTable.selectMultipleItems([ file1, file2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ // TODO: enable when ACA-1794 is fixed
+ // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
+ });
+
+ it('correct actions appear when multiple folders are selected - [C280664]', async () => {
+ await dataTable.selectMultipleItems([ folder1, folder2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ // TODO: enable when ACA-1794 is fixed
+ // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
+ });
+
+ it('correct actions appear when both files and folders are selected - [C280657]', async () => {
+ await dataTable.selectMultipleItems([ file1, file2, folder1, folder2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
+ // TODO: enable when ACA-1794 is fixed
+ // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed`);
+ });
+ });
+
+ describe('Trash', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await dataTable.clearSelection();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('correct actions appear when multiple files are selected - [C286273]', async () => {
+ await dataTable.selectMultipleItems([ fileInTrash1, fileInTrash2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('Permanently delete')).toBe(true, 'Permanently delete is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, 'Restore is not displayed');
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, 'Download is displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is displayed`);
+ });
+
+ it('correct actions appear when multiple folders are selected - [C286274]', async () => {
+ await dataTable.selectMultipleItems([ folderInTrash1, folderInTrash2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('Permanently delete')).toBe(true, 'Permanently delete is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, 'Restore is not displayed');
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, 'Download is displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is displayed`);
+ });
+
+ it('correct actions appear when both files and folders are selected - [C286275]', async () => {
+ await dataTable.selectMultipleItems([ fileInTrash1, fileInTrash2, folderInTrash1, folderInTrash2 ]);
+ await dataTable.rightClickOnMultipleSelection();
+ expect(await contextMenu.isMenuItemPresent('Permanently delete')).toBe(true, 'Permanently delete is not displayed');
+ expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, 'Restore is not displayed');
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, 'View is displayed');
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, 'Download is displayed');
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, 'Edit is displayed');
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is displayed`);
+ });
+ });
});
diff --git a/e2e/suites/actions/context-menu-single-selection.test.ts b/e2e/suites/actions/context-menu-single-selection.test.ts
index 7d8408c3a..b86447ecb 100755
--- a/e2e/suites/actions/context-menu-single-selection.test.ts
+++ b/e2e/suites/actions/context-menu-single-selection.test.ts
@@ -30,326 +30,326 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
describe('Context menu actions - single selection : ', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const fileUser = `fileUser-${Utils.random()}.txt`; let fileUserId;
- const folderUser = `folderUser-${Utils.random()}`; let folderUserId;
- const fileInTrash = `fileForDelete-${Utils.random()}.txt`; let fileInTrashId;
- const folderInTrash = `folderForDelete-${Utils.random()}`; let folderInTrashId;
+ const fileUser = `fileUser-${Utils.random()}.txt`; let fileUserId;
+ const folderUser = `folderUser-${Utils.random()}`; let folderUserId;
+ const fileInTrash = `fileForDelete-${Utils.random()}.txt`; let fileInTrashId;
+ const folderInTrash = `folderForDelete-${Utils.random()}`; let folderInTrashId;
- const siteName = `userSite-${Utils.random()}`;
- const fileSiteUser = `fileUser-${Utils.random()}.txt`;
- const folderSiteUser = `folderUser-${Utils.random()}`;
+ const siteName = `userSite-${Utils.random()}`;
+ const fileSiteUser = `fileUser-${Utils.random()}.txt`;
+ const folderSiteUser = `folderUser-${Utils.random()}`;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { dataTable } = page;
- const contextMenu = dataTable.menu;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { dataTable } = page;
+ const contextMenu = dataTable.menu;
- beforeAll(async (done) => {
- await apis.admin.people.createUser({ username });
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
- fileUserId = (await apis.user.nodes.createFile(fileUser)).entry.id;
- folderUserId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
+ fileUserId = (await apis.user.nodes.createFile(fileUser)).entry.id;
+ folderUserId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
- await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
- const docLibId = await apis.user.sites.getDocLibId(siteName);
- await apis.user.nodes.createFile(fileSiteUser, docLibId);
- await apis.user.nodes.createFolder(folderSiteUser, docLibId);
+ await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
+ const docLibId = await apis.user.sites.getDocLibId(siteName);
+ await apis.user.nodes.createFile(fileSiteUser, docLibId);
+ await apis.user.nodes.createFolder(folderSiteUser, docLibId);
- fileInTrashId = (await apis.user.nodes.createFiles([fileInTrash])).entry.id;
- folderInTrashId = (await apis.user.nodes.createFolders([ folderInTrash ])).entry.id;
- await apis.user.nodes.deleteNodeById(fileInTrashId, false);
- await apis.user.nodes.deleteNodeById(folderInTrashId, false);
+ fileInTrashId = (await apis.user.nodes.createFiles([fileInTrash])).entry.id;
+ folderInTrashId = (await apis.user.nodes.createFolders([ folderInTrash ])).entry.id;
+ await apis.user.nodes.deleteNodeById(fileInTrashId, false);
+ await apis.user.nodes.deleteNodeById(folderInTrashId, false);
- await apis.user.shared.shareFileById(fileUserId);
- await apis.user.shared.waitForApi({ expect: 1 });
+ await apis.user.shared.shareFileById(fileUserId);
+ await apis.user.shared.waitForApi({ expect: 1 });
- await apis.user.favorites.addFavoriteById('file', fileUserId);
- await apis.user.favorites.addFavoriteById('folder', folderUserId);
- await apis.user.favorites.waitForApi({ expect: 2 });
+ await apis.user.favorites.addFavoriteById('file', fileUserId);
+ await apis.user.favorites.addFavoriteById('folder', folderUserId);
+ await apis.user.favorites.waitForApi({ expect: 2 });
- await loginPage.loginWith(username);
- done();
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.nodes.deleteNodeById(fileUserId),
+ apis.user.nodes.deleteNodeById(folderUserId),
+ apis.user.sites.deleteSite(siteName),
+ apis.user.trashcan.emptyTrash(),
+ logoutPage.load()
+ ]);
+ done();
+ });
+
+ xit('');
+
+ describe('Generic tests', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- afterAll(async (done) => {
- await Promise.all([
- apis.user.nodes.deleteNodeById(fileUserId),
- apis.user.nodes.deleteNodeById(folderUserId),
- apis.user.sites.deleteSite(siteName),
- apis.user.trashcan.emptyTrash(),
- logoutPage.load()
- ]);
- done();
+ it('Row is marked with a check circle icon on direct right click - [C286252]', async () => {
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(true, 'check mark missing');
});
- xit('');
-
- describe('Generic tests', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Row is marked with a check circle icon on direct right click - [C286252]', async () => {
- await dataTable.rightClickOnItem(fileUser);
- expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(true, 'check mark missing');
- });
-
- it('Context menu appears on direct right click on an item - [C286253]', async () => {
- await dataTable.rightClickOnItem(fileUser);
- expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
- });
-
- it('Context menu appears when selecting an item and then right clicking on it - [C286254]', async () => {
- await dataTable.selectItem(fileUser);
- await dataTable.rightClickOnItem(fileUser);
- expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
- });
-
- it('Context menu appears correctly when right clicking on another item - [C284666]', async () => {
- await dataTable.selectItem(fileUser);
- await dataTable.rightClickOnItem(folderUser);
- expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
- expect(await dataTable.hasCheckMarkIcon(folderUser)).toBe(true, `${folderUser} is not selected`);
- expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(false, `${fileUser} is not selected`);
- });
-
- it('Context menu closes when clicking away from it - [C280619]', async () => {
- await dataTable.rightClickOnItem(fileUser);
- expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
- await page.sidenav.activeLink.click();
- expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed');
- });
-
- it('Context menu does not appear for a library - [C286276]', async () => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
- await dataTable.waitForHeader();
- await dataTable.rightClickOnItem(siteName);
- expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed for a site');
- });
+ it('Context menu appears on direct right click on an item - [C286253]', async () => {
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
- describe('on Personal Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await dataTable.clearSelection();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Context menu has the correct actions for a file - [C280615]', async () => {
- await dataTable.rightClickOnItem(fileUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
- });
-
- it('Context menu has the correct actions for a folder - [C280616]', async () => {
- await dataTable.rightClickOnItem(folderUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(false, `Manage Versions is displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is displayed for ${folderUser}`);
- });
+ it('Context menu appears when selecting an item and then right clicking on it - [C286254]', async () => {
+ await dataTable.selectItem(fileUser);
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
});
- describe('File Libraries', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
- await dataTable.waitForHeader();
- await dataTable.doubleClickOnRowByName(siteName);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Context menu has the correct actions for a file - [C280594]', async () => {
- await dataTable.rightClickOnItem(fileSiteUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileSiteUser}`);
- });
-
- it('Context menu has the correct actions for a folder - [C280595]', async () => {
- await dataTable.rightClickOnItem(folderSiteUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not enabled for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(false, `Manage Versions displayed for ${folderSiteUser}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is displayed for ${folderSiteUser}`);
- });
+ it('Context menu appears correctly when right clicking on another item - [C284666]', async () => {
+ await dataTable.selectItem(fileUser);
+ await dataTable.rightClickOnItem(folderUser);
+ expect(await dataTable.hasContextMenu()).toBe(true, `Context menu is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
+ expect(await dataTable.hasCheckMarkIcon(folderUser)).toBe(true, `${folderUser} is not selected`);
+ expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(false, `${fileUser} is not selected`);
});
- describe('Shared Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Context menu has the correct actions for a file - [C280601]', async () => {
- await dataTable.rightClickOnItem(fileUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- // TODO: enable this when the action is properly implemented: ACA-92
- // expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
- });
+ it('Context menu closes when clicking away from it - [C280619]', async () => {
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await dataTable.hasContextMenu()).toBe(true, 'Context menu is not displayed');
+ await page.sidenav.activeLink.click();
+ expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed');
});
- describe('Recent Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
- await dataTable.waitForHeader();
- done();
- });
+ it('Context menu does not appear for a library - [C286276]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await dataTable.waitForHeader();
+ await dataTable.rightClickOnItem(siteName);
+ expect(await dataTable.hasContextMenu()).toBe(false, 'Context menu is displayed for a site');
+ });
+ });
- it('Context menu has the correct actions for a file - [C280622]', async () => {
- await dataTable.rightClickOnItem(fileUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
- });
+ describe('on Personal Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await dataTable.clearSelection();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- describe('Favorites', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Context menu has the correct actions for a file - [C280608]', async () => {
- await dataTable.rightClickOnItem(fileUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions is not displayed for ${fileUser}`);
- // TODO: enable when ACA-1794 is fixed
- // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
- });
-
- it('Context menu has the correct actions for a folder - [C280609]', async () => {
- await dataTable.rightClickOnItem(folderUser);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
- // TODO: enable when ACA-1794 is fixed
- // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(false, `Manage Versions is displayed for ${folderUser}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is displayed for ${folderUser}`);
- });
+ it('Context menu has the correct actions for a file - [C280615]', async () => {
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
});
- describe('Trash', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Context menu has the correct actions for a file - [C286258]', async () => {
- await dataTable.rightClickOnItem(fileInTrash);
- expect(await contextMenu.isMenuItemPresent('Permanently delete'))
- .toBe(true, `Permanently delete is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, `Restore is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, `Download is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions'))
- .toBe(false, `Manage Versions is not displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileInTrash}`);
- expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileInTrash}`);
- });
-
- it('Context menu has the correct actions for a folder - [C286259]', async () => {
- await dataTable.rightClickOnItem(folderInTrash);
- expect(await contextMenu.isMenuItemPresent('Permanently delete'))
- .toBe(true, `Permanently delete is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, `Restore is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, `Download is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Manage Versions'))
- .toBe(false, `Manage Versions is not displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${folderInTrash}`);
- expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${folderInTrash}`);
- });
+ it('Context menu has the correct actions for a folder - [C280616]', async () => {
+ await dataTable.rightClickOnItem(folderUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(false, `Manage Versions is displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is displayed for ${folderUser}`);
});
+ });
+
+ describe('File Libraries', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await dataTable.waitForHeader();
+ await dataTable.doubleClickOnRowByName(siteName);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('Context menu has the correct actions for a file - [C280594]', async () => {
+ await dataTable.rightClickOnItem(fileSiteUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileSiteUser}`);
+ });
+
+ it('Context menu has the correct actions for a folder - [C280595]', async () => {
+ await dataTable.rightClickOnItem(folderSiteUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not enabled for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(false, `Manage Versions displayed for ${folderSiteUser}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is displayed for ${folderSiteUser}`);
+ });
+ });
+
+ describe('Shared Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('Context menu has the correct actions for a file - [C280601]', async () => {
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ // TODO: enable this when the action is properly implemented: ACA-92
+ // expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
+ });
+ });
+
+ describe('Recent Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('Context menu has the correct actions for a file - [C280622]', async () => {
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
+ });
+ });
+
+ describe('Favorites', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('Context menu has the correct actions for a file - [C280608]', async () => {
+ await dataTable.rightClickOnItem(fileUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage Versions is not displayed for ${fileUser}`);
+ // TODO: enable when ACA-1794 is fixed
+ // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileUser}`);
+ });
+
+ it('Context menu has the correct actions for a folder - [C280609]', async () => {
+ await dataTable.rightClickOnItem(folderUser);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
+ // TODO: enable when ACA-1794 is fixed
+ // expect(await contextMenu.isMenuItemPresent('Permissions')).toBe(true, `Permissions is not displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions')).toBe(false, `Manage Versions is displayed for ${folderUser}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is displayed for ${folderUser}`);
+ });
+ });
+
+ describe('Trash', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('Context menu has the correct actions for a file - [C286258]', async () => {
+ await dataTable.rightClickOnItem(fileInTrash);
+ expect(await contextMenu.isMenuItemPresent('Permanently delete'))
+ .toBe(true, `Permanently delete is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, `Restore is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, `Download is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions'))
+ .toBe(false, `Manage Versions is not displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${fileInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${fileInTrash}`);
+ });
+
+ it('Context menu has the correct actions for a folder - [C286259]', async () => {
+ await dataTable.rightClickOnItem(folderInTrash);
+ expect(await contextMenu.isMenuItemPresent('Permanently delete'))
+ .toBe(true, `Permanently delete is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Restore')).toBe(true, `Restore is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Download')).toBe(false, `Download is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('View')).toBe(false, `View is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Favorite')).toBe(false, `Favorite is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Copy')).toBe(false, `Copy is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Move')).toBe(false, `Move is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Delete')).toBe(false, `Delete is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Share')).toBe(false, `Share is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Manage Versions'))
+ .toBe(false, `Manage Versions is not displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('Edit')).toBe(false, `Edit is displayed for ${folderInTrash}`);
+ expect(await contextMenu.isMenuItemPresent('View details')).toBe(false, `View details is displayed for ${folderInTrash}`);
+ });
+ });
});
diff --git a/e2e/suites/actions/create-folder.test.ts b/e2e/suites/actions/create-folder.test.ts
index 2be7427d0..0a2c09388 100755
--- a/e2e/suites/actions/create-folder.test.ts
+++ b/e2e/suites/actions/create-folder.test.ts
@@ -32,259 +32,234 @@ import { Utils } from '../../utilities/utils';
import { RepoClient } from '../../utilities/repo-client/repo-client';
describe('Create folder', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const parent = `parent-${Utils.random()}`;
- const folderName1 = `folder-${Utils.random()}`;
- const folderName2 = `folder-${Utils.random()}`;
- const folderDescription = 'description of my folder';
- const duplicateFolderName = `folder-${Utils.random()}`;
- const nameWithSpaces = ` folder-${Utils.random()} `;
+ const parent = `parent-${Utils.random()}`; let parentId;
+ const folderName1 = `folder-${Utils.random()}`;
+ const folderName2 = `folder-${Utils.random()}`;
+ const folderDescription = 'description of my folder';
+ const duplicateFolderName = `folder-${Utils.random()}`;
+ const nameWithSpaces = ` folder-${Utils.random()} `;
- const siteName = `site-private-${Utils.random()}`;
+ const siteName = `site-private-${Utils.random()}`;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const personalFilesPage = new BrowsingPage();
- const createDialog = new CreateOrEditFolderDialog();
- const { dataTable } = personalFilesPage;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const personalFilesPage = new BrowsingPage();
+ const createDialog = new CreateOrEditFolderDialog();
+ const { dataTable } = personalFilesPage;
- beforeAll(done => {
- apis.admin.people.createUser({ username })
- .then(() => apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE))
- .then(() => apis.admin.nodes.createFolders([ folderName1 ], `Sites/${siteName}/documentLibrary`))
- .then(() => apis.admin.sites.addSiteMember(siteName, username, SITE_ROLES.SITE_CONSUMER))
- .then(() => apis.user.nodes.createFolders([ duplicateFolderName ], parent))
- .then(() => loginPage.loginWith(username))
- .then(done);
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ await apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
+ const docLibId = (await apis.admin.sites.getDocLibId(siteName));
+ await apis.admin.nodes.createFolder(folderName1, docLibId);
+ await apis.admin.sites.addSiteMember(siteName, username, SITE_ROLES.SITE_CONSUMER);
+ parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
+ await apis.user.nodes.createFolder(duplicateFolderName, parentId);
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.admin.sites.deleteSite(siteName),
+ apis.user.nodes.deleteNodeById(parentId),
+ logoutPage.load()
+ ]);
+ done();
+ });
+
+ describe('on Personal Files', () => {
+ beforeEach(async (done) => {
+ await personalFilesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- afterAll(done => {
- Promise
- .all([
- apis.admin.sites.deleteSite(siteName),
- apis.user.nodes.deleteNodes([ parent ]),
- logoutPage.load()
- ])
- .then(done);
+ afterEach(async (done) => {
+ await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
+ done();
});
- describe('on Personal Files', () => {
- beforeEach(done => {
- personalFilesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => dataTable.waitForHeader())
- .then(done);
- });
-
- afterEach(done => {
- browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform().then(done);
- });
-
- it('option is enabled when having enough permissions - [C216339]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openNewMenu())
- .then(menu => {
- const isEnabled = menu.getItemByLabel('Create folder').isEnabled();
- expect(isEnabled).toBe(true, 'Create folder is not enabled');
- });
- });
-
- it('creates new folder with name - [C216341]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.enterName(folderName1))
- .then(() => createDialog.clickCreate())
- .then(() => createDialog.waitForDialogToClose())
- .then(() => dataTable.waitForHeader())
- .then(() => {
- const isPresent = dataTable.getRowByName(folderName1).isPresent();
- expect(isPresent).toBe(true, 'Folder not displayed in list view');
- });
- });
-
- it('creates new folder with name and description - [C216340]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.enterName(folderName2))
- .then(() => createDialog.enterDescription(folderDescription))
- .then(() => createDialog.clickCreate())
- .then(() => createDialog.waitForDialogToClose())
- .then(() => dataTable.waitForHeader())
- .then(() => expect(dataTable.getRowByName(folderName2).isPresent()).toBe(true, 'Folder not displayed'))
- .then(() => apis.user.nodes.getNodeDescription(folderName2, parent))
- .then(desc => expect(desc).toEqual(folderDescription));
- });
-
- it('enabled option tooltip - [C216342]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openNewMenu())
- .then(menu => browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform()
- .then(() => menu))
- .then(menu => {
- expect(menu.getItemTooltip('Create folder')).toContain('Create new folder');
- });
- });
-
- it('dialog UI elements - [C216345]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => {
- const dialogTitle = createDialog.getTitle();
- const isFolderNameDisplayed = createDialog.nameInput.isDisplayed();
- const isDescriptionDisplayed = createDialog.descriptionTextArea.isDisplayed();
- const isCreateEnabled = createDialog.createButton.isEnabled();
- const isCancelEnabled = createDialog.cancelButton.isEnabled();
-
- expect(dialogTitle).toMatch('Create new folder');
- expect(isFolderNameDisplayed).toBe(true, 'Name input is not displayed');
- expect(isDescriptionDisplayed).toBe(true, 'Description field is not displayed');
- expect(isCreateEnabled).toBe(false, 'Create button is not disabled');
- expect(isCancelEnabled).toBe(true, 'Cancel button is not enabled');
- });
- });
-
- it('with empty folder name - [C216346]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.deleteNameWithBackspace())
- .then(() => {
- const isCreateEnabled = createDialog.createButton.isEnabled();
- const validationMessage = createDialog.getValidationMessage();
-
- expect(isCreateEnabled).toBe(false, 'Create button is enabled');
- expect(validationMessage).toMatch('Folder name is required');
- });
- });
-
- it('with folder name ending with a dot "." - [C216348]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.enterName('folder-name.'))
- .then(() => {
- const isCreateEnabled = createDialog.createButton.isEnabled();
- const validationMessage = createDialog.getValidationMessage();
-
- expect(isCreateEnabled).toBe(false, 'Create button is not disabled');
- expect(validationMessage).toMatch(`Folder name can't end with a period .`);
- });
- });
-
- it('with folder name containing special characters - [C216347]', () => {
- const namesWithSpecialChars = [ 'a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a' ];
-
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => namesWithSpecialChars.forEach(name => {
- createDialog.enterName(name);
-
- const isCreateEnabled = createDialog.createButton.isEnabled();
- const validationMessage = createDialog.getValidationMessage();
-
- expect(isCreateEnabled).toBe(false, 'Create button is not disabled');
- expect(validationMessage).toContain(`Folder name can't contain these characters`);
- }));
- });
-
- it('with folder name containing only spaces - [C280406]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.enterName(' '))
- .then(() => {
- const isCreateEnabled = createDialog.createButton.isEnabled();
- const validationMessage = createDialog.getValidationMessage();
-
- expect(isCreateEnabled).toBe(false, 'Create button is not disabled');
- expect(validationMessage).toMatch(`Folder name can't contain only spaces`);
- });
- });
-
- it('cancel folder creation - [C216349]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.enterName('test'))
- .then(() => createDialog.enterDescription('test description'))
- .then(() => createDialog.clickCancel())
- .then(() => {
- expect(createDialog.component.isPresent()).not.toBe(true, 'dialog is not closed');
- });
- });
-
- it('duplicate folder name - [C216350]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.enterName(duplicateFolderName))
- .then(() => createDialog.clickCreate())
- .then(() => personalFilesPage.getSnackBarMessage())
- .then(message => {
- expect(message).toEqual(`There's already a folder with this name. Try a different name.`);
- expect(createDialog.component.isPresent()).toBe(true, 'dialog is not present');
- });
- });
-
- it('trim ending spaces from folder name - [C216351]', () => {
- personalFilesPage.dataTable.doubleClickOnRowByName(parent)
- .then(() => personalFilesPage.sidenav.openCreateDialog())
- .then(() => createDialog.waitForDialogToOpen())
- .then(() => createDialog.enterName(nameWithSpaces))
- .then(() => createDialog.clickCreate())
- .then(() => createDialog.waitForDialogToClose())
- .then(() => dataTable.waitForHeader())
- .then(() => {
- const isPresent = dataTable.getRowByName(nameWithSpaces.trim()).isPresent();
- expect(isPresent).toBe(true, 'Folder not displayed in list view');
- });
- });
+ it('option is enabled when having enough permissions - [C216339]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ const menu = await personalFilesPage.sidenav.openNewMenu();
+ const isEnabled = await menu.getItemByLabel('Create folder').isEnabled();
+ expect(isEnabled).toBe(true, 'Create folder is not enabled');
});
- describe('on File Libraries', () => {
- const fileLibrariesPage = new BrowsingPage();
-
- beforeEach(done => {
- fileLibrariesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES)
- .then(() => dataTable.waitForHeader())
- .then(done);
- });
-
- afterEach(done => {
- browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform().then(done);
- });
-
- it('option is disabled when not enough permissions - [C280397]', () => {
- fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName)
- .then(() => fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1))
- .then(() => fileLibrariesPage.sidenav.openNewMenu())
- .then(menu => {
- const isEnabled = menu.getItemByLabel('Create folder').isEnabled();
- expect(isEnabled).toBe(false, 'Create folder is not disabled');
- });
- });
-
- it('disabled option tooltip - [C280398]', () => {
- fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName)
- .then(() => fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1))
- .then(() => fileLibrariesPage.sidenav.openNewMenu())
- .then(menu => browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform()
- .then(() => menu))
- .then(menu => {
- const tooltip = menu.getItemTooltip('Create folder');
- expect(tooltip).toContain(`Folders cannot be created whilst viewing the current items`);
- });
- });
+ it('creates new folder with name - [C216341]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName(folderName1);
+ await createDialog.clickCreate();
+ await createDialog.waitForDialogToClose();
+ await dataTable.waitForHeader();
+ const isPresent = await dataTable.getRowByName(folderName1).isPresent();
+ expect(isPresent).toBe(true, 'Folder not displayed in list view');
});
- xit('');
+ it('creates new folder with name and description - [C216340]', async (done) => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName(folderName2);
+ await createDialog.enterDescription(folderDescription);
+ await createDialog.clickCreate();
+ await createDialog.waitForDialogToClose();
+ await dataTable.waitForHeader();
+ expect(await dataTable.getRowByName(folderName2).isPresent()).toBe(true, 'Folder not displayed');
+ const desc = await apis.user.nodes.getNodeDescription(folderName2, parent);
+ expect(desc).toEqual(folderDescription);
+ done();
+ });
+
+ it('enabled option tooltip - [C216342]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ const menu = await personalFilesPage.sidenav.openNewMenu();
+ await browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform();
+ expect(await menu.getItemTooltip('Create folder')).toContain('Create new folder');
+ });
+
+ it('dialog UI elements - [C216345]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ const dialogTitle = await createDialog.getTitle();
+ const isFolderNameDisplayed = await createDialog.nameInput.isDisplayed();
+ const isDescriptionDisplayed = await createDialog.descriptionTextArea.isDisplayed();
+ const isCreateEnabled = await createDialog.createButton.isEnabled();
+ const isCancelEnabled = await createDialog.cancelButton.isEnabled();
+
+ expect(dialogTitle).toMatch('Create new folder');
+ expect(isFolderNameDisplayed).toBe(true, 'Name input is not displayed');
+ expect(isDescriptionDisplayed).toBe(true, 'Description field is not displayed');
+ expect(isCreateEnabled).toBe(false, 'Create button is not disabled');
+ expect(isCancelEnabled).toBe(true, 'Cancel button is not enabled');
+ });
+
+ it('with empty folder name - [C216346]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.deleteNameWithBackspace();
+ const isCreateEnabled = await createDialog.createButton.isEnabled();
+ const validationMessage = await createDialog.getValidationMessage();
+
+ expect(isCreateEnabled).toBe(false, 'Create button is enabled');
+ expect(validationMessage).toMatch('Folder name is required');
+ });
+
+ it('with folder name ending with a dot "." - [C216348]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName('folder-name.');
+ const isCreateEnabled = await createDialog.createButton.isEnabled();
+ const validationMessage = await createDialog.getValidationMessage();
+
+ expect(isCreateEnabled).toBe(false, 'Create button is not disabled');
+ expect(validationMessage).toMatch(`Folder name can't end with a period .`);
+ });
+
+ it('with folder name containing special characters - [C216347]', async () => {
+ const namesWithSpecialChars = [ 'a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a' ];
+
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+
+ for (const name of namesWithSpecialChars) {
+ await createDialog.enterName(name);
+ expect(await createDialog.createButton.isEnabled()).toBe(false, 'Create button is not disabled');
+ expect(await createDialog.getValidationMessage()).toContain(`Folder name can't contain these characters`);
+ }
+ });
+
+ it('with folder name containing only spaces - [C280406]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName(' ');
+ const isCreateEnabled = await createDialog.createButton.isEnabled();
+ const validationMessage = await createDialog.getValidationMessage();
+
+ expect(isCreateEnabled).toBe(false, 'Create button is not disabled');
+ expect(validationMessage).toMatch(`Folder name can't contain only spaces`);
+ });
+
+ it('cancel folder creation - [C216349]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName('test');
+ await createDialog.enterDescription('test description');
+ await createDialog.clickCancel();
+ expect(await createDialog.component.isPresent()).not.toBe(true, 'dialog is not closed');
+ });
+
+ it('duplicate folder name - [C216350]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName(duplicateFolderName);
+ await createDialog.clickCreate();
+ const message = await personalFilesPage.getSnackBarMessage();
+ expect(message).toEqual(`There's already a folder with this name. Try a different name.`);
+ expect(await createDialog.component.isPresent()).toBe(true, 'dialog is not present');
+ });
+
+ it('trim ending spaces from folder name - [C216351]', async () => {
+ await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
+ await personalFilesPage.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName(nameWithSpaces);
+ await createDialog.clickCreate();
+ await createDialog.waitForDialogToClose();
+ await dataTable.waitForHeader();
+ const isPresent = await dataTable.getRowByName(nameWithSpaces.trim()).isPresent();
+ expect(isPresent).toBe(true, 'Folder not displayed in list view');
+ });
+ });
+
+ describe('on File Libraries', () => {
+ const fileLibrariesPage = new BrowsingPage();
+
+ beforeEach(async (done) => {
+ await fileLibrariesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ afterEach(async (done) => {
+ await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
+ done();
+ });
+
+ it('option is disabled when not enough permissions - [C280397]', async () => {
+ await fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName);
+ await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1);
+ const menu = await fileLibrariesPage.sidenav.openNewMenu();
+ const isEnabled = await menu.getItemByLabel('Create folder').isEnabled();
+ expect(isEnabled).toBe(false, 'Create folder is not disabled');
+ });
+
+ it('disabled option tooltip - [C280398]', async () => {
+ await fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName);
+ await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1);
+ const menu = await fileLibrariesPage.sidenav.openNewMenu();
+ await browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform();
+ const tooltip = await menu.getItemTooltip('Create folder');
+ expect(tooltip).toContain(`Folders cannot be created whilst viewing the current items`);
+ });
+ });
+
+ xit('');
});
diff --git a/e2e/suites/actions/delete-undo-delete.test.ts b/e2e/suites/actions/delete-undo-delete.test.ts
index 1d3b1082d..6e868df23 100755
--- a/e2e/suites/actions/delete-undo-delete.test.ts
+++ b/e2e/suites/actions/delete-undo-delete.test.ts
@@ -30,621 +30,621 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
describe('Delete and undo delete', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { dataTable, toolbar } = page;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { dataTable, toolbar } = page;
+
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ done();
+ });
+
+ afterAll(async (done) => {
+ await apis.admin.trashcan.emptyTrash();
+ done();
+ });
+
+ xit('');
+
+ describe('on Personal Files', () => {
+ const file1 = `file1-${Utils.random()}.txt`; let file1Id;
+ const file2 = `file2-${Utils.random()}.txt`; let file2Id;
+ const file3 = `file3-${Utils.random()}.txt`;
+ const file4 = `file4-${Utils.random()}.txt`; let file4Id;
+ const folder1 = `folder1-${Utils.random()}`; let folder1Id;
+ const folder2 = `folder2-${Utils.random()}`; let folder2Id;
+ const fileLocked1 = `fileLocked-${Utils.random()}.txt`; let fileLocked1Id;
beforeAll(async (done) => {
- await apis.admin.people.createUser({ username });
- done();
+ file1Id = (await apis.user.nodes.createFile(file1)).entry.id;
+ file2Id = (await apis.user.nodes.createFile(file2)).entry.id;
+ folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
+ folder2Id = (await apis.user.nodes.createFolder(folder2)).entry.id;
+ await apis.user.nodes.createFile(file3, folder1Id);
+ file4Id = (await apis.user.nodes.createFile(file4, folder2Id)).entry.id;
+ await apis.user.nodes.lockFile(file4Id);
+
+ fileLocked1Id = (await apis.user.nodes.createFile(fileLocked1)).entry.id;
+ await apis.user.nodes.lockFile(fileLocked1Id);
+
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ afterEach(async (done) => {
+ await page.refresh();
+ done();
});
afterAll(async (done) => {
- await apis.admin.trashcan.emptyTrash();
- done();
+ await Promise.all([
+ apis.user.nodes.unlockFile(file4Id),
+ apis.user.nodes.unlockFile(fileLocked1Id)
+ ]);
+ await Promise.all([
+ logoutPage.load(),
+ apis.user.nodes.deleteNodesById([file1Id, file2Id, folder1Id, folder2Id, fileLocked1Id])
+ ]);
+ await apis.user.search.waitForApi(username, {expect: 0});
+ done();
});
- xit('');
+ xit('delete a file and check notification - [C217125]', async () => {
+ let items = await page.dataTable.countRows();
- describe('on Personal Files', () => {
- const file1 = `file1-${Utils.random()}.txt`; let file1Id;
- const file2 = `file2-${Utils.random()}.txt`; let file2Id;
- const file3 = `file3-${Utils.random()}.txt`;
- const file4 = `file4-${Utils.random()}.txt`; let file4Id;
- const folder1 = `folder1-${Utils.random()}`; let folder1Id;
- const folder2 = `folder2-${Utils.random()}`; let folder2Id;
- const fileLocked1 = `fileLocked-${Utils.random()}.txt`; let fileLocked1Id;
+ await dataTable.selectItem(file1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`${file1} deleted`);
+ expect(await dataTable.getRowByName(file1).isPresent()).toBe(false, 'Item was not removed from list');
+ items--;
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item is not in trash');
- beforeAll(async (done) => {
- file1Id = (await apis.user.nodes.createFile(file1)).entry.id;
- file2Id = (await apis.user.nodes.createFile(file2)).entry.id;
- folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
- folder2Id = (await apis.user.nodes.createFolder(folder2)).entry.id;
- await apis.user.nodes.createFile(file3, folder1Id);
- file4Id = (await apis.user.nodes.createFile(file4, folder2Id)).entry.id;
- await apis.user.nodes.lockFile(file4Id);
-
- fileLocked1Id = (await apis.user.nodes.createFile(fileLocked1)).entry.id;
- await apis.user.nodes.lockFile(fileLocked1Id);
-
- await loginPage.loginWith(username);
- done();
- });
-
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- afterEach(async (done) => {
- await page.refresh();
- done();
- });
-
- afterAll(async (done) => {
- await Promise.all([
- apis.user.nodes.unlockFile(file4Id),
- apis.user.nodes.unlockFile(fileLocked1Id)
- ]);
- await Promise.all([
- logoutPage.load(),
- apis.user.nodes.deleteNodesById([file1Id, file2Id, folder1Id, folder2Id, fileLocked1Id])
- ]);
- await apis.user.search.waitForApi(username, {expect: 0});
- done();
- });
-
- xit('delete a file and check notification - [C217125]', async () => {
- let items = await page.dataTable.countRows();
-
- await dataTable.selectItem(file1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`${file1} deleted`);
- expect(dataTable.getRowByName(file1).isPresent()).toBe(false, 'Item was not removed from list');
- items--;
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item is not in trash');
-
- await apis.user.trashcan.restore(file1Id);
- });
-
- xit('delete multiple files and check notification - [C280502]', async () => {
- let items = await page.dataTable.countRows();
-
- await dataTable.selectMultipleItems([file1, file2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Deleted 2 items`);
- expect(dataTable.getRowByName(file1).isPresent()).toBe(false, `${file1} was not removed from list`);
- expect(dataTable.getRowByName(file2).isPresent()).toBe(false, `${file2} was not removed from list`);
- items = items - 2;
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(file1).isPresent()).toBe(true, `${file1} is not in trash`);
- expect(dataTable.getRowByName(file2).isPresent()).toBe(true, `${file2} is not in trash`);
-
- await apis.user.trashcan.restore(file1Id);
- await apis.user.trashcan.restore(file2Id);
- });
-
- it('delete a folder with content - [C217126]', async () => {
- let items = await page.dataTable.countRows();
-
- await dataTable.selectItem(folder1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- expect(dataTable.getRowByName(folder1).isPresent()).toBe(false, 'Item was not removed from list');
- items--;
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(folder1).isPresent()).toBe(true, 'Item is not in trash');
- expect(dataTable.getRowByName(file3).isPresent()).toBe(false, 'Item is in trash');
-
- await apis.user.trashcan.restore(folder1Id);
- });
-
- it('delete a folder containing locked files - [C217127]', async () => {
- await dataTable.selectItem(folder2);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`${folder2} couldn't be deleted`);
- expect(dataTable.getRowByName(folder2).isPresent()).toBe(true, 'Item was removed from list');
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(folder2).isPresent()).toBe(false, 'Item is in trash');
- expect(dataTable.getRowByName(file4).isPresent()).toBe(false, 'Item is in trash');
- });
-
- it('notification on multiple items deletion - some items fail to delete - [C217129]', async () => {
- await dataTable.selectMultipleItems([file1, folder2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`);
-
- await apis.user.trashcan.restore(file1Id);
- });
-
- it('notification on multiple items deletion - all items fail to delete - [C217130]', async () => {
- await dataTable.selectMultipleItems([fileLocked1, folder2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toEqual(`2 items couldn't be deleted`);
- });
-
- it('successful delete notification shows Undo action - [C217131]', async () => {
- await dataTable.selectItem(file1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Undo`);
-
- await apis.user.trashcan.restore(file1Id);
- });
-
- it('unsuccessful delete notification does not show Undo action - [C217134]', async () => {
- await dataTable.selectItem(folder2);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).not.toContain(`Undo`);
- });
-
- it('undo delete of file - [C217132]', async () => {
- const items = await page.dataTable.countRows();
-
- await dataTable.selectItem(file1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- expect(dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item was not restored');
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- });
-
- it('undo delete of folder with content - [C280503]', async () => {
- const items = await page.dataTable.countRows();
-
- await dataTable.selectItem(folder1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- expect(dataTable.getRowByName(folder1).isPresent()).toBe(true, 'Item was not restored');
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await dataTable.doubleClickOnRowByName(folder1);
- expect(dataTable.getRowByName(file3).isPresent()).toBe(true, 'file from folder not restored');
- });
-
- xit('undo delete of multiple files - [C280504]', async () => {
- const items = await page.dataTable.countRows();
-
- await dataTable.selectMultipleItems([file1, file2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- expect(dataTable.getRowByName(file1).isPresent()).toBe(true, `${file1} was not removed from list`);
- expect(dataTable.getRowByName(file2).isPresent()).toBe(true, `${file2} was not removed from list`);
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- });
+ await apis.user.trashcan.restore(file1Id);
});
- describe('on Shared Files', () => {
- const sharedFile1 = `sharedFile1-${Utils.random()}.txt`; let sharedFile1Id;
- const sharedFile2 = `sharedFile2-${Utils.random()}.txt`; let sharedFile2Id;
- const sharedFile3 = `sharedFile3-${Utils.random()}.txt`; let sharedFile3Id;
- const sharedFile4 = `sharedFile4-${Utils.random()}.txt`; let sharedFile4Id;
+ xit('delete multiple files and check notification - [C280502]', async () => {
+ let items = await page.dataTable.countRows();
- beforeAll(async (done) => {
- sharedFile1Id = (await apis.user.nodes.createFile(sharedFile1)).entry.id;
- sharedFile2Id = (await apis.user.nodes.createFile(sharedFile2)).entry.id;
- sharedFile3Id = (await apis.user.nodes.createFile(sharedFile3)).entry.id;
- sharedFile4Id = (await apis.user.nodes.createFile(sharedFile4)).entry.id;
- await apis.user.shared.shareFilesByIds([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id]);
- await apis.user.shared.waitForApi({ expect: 4 });
+ await dataTable.selectMultipleItems([file1, file2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Deleted 2 items`);
+ expect(await dataTable.getRowByName(file1).isPresent()).toBe(false, `${file1} was not removed from list`);
+ expect(await dataTable.getRowByName(file2).isPresent()).toBe(false, `${file2} was not removed from list`);
+ items = items - 2;
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(file1).isPresent()).toBe(true, `${file1} is not in trash`);
+ expect(await dataTable.getRowByName(file2).isPresent()).toBe(true, `${file2} is not in trash`);
- await loginPage.loginWith(username);
- done();
- });
-
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- afterEach(async (done) => {
- await page.refresh();
- done();
- });
-
- afterAll(async (done) => {
- await Promise.all([
- logoutPage.load(),
- apis.user.nodes.deleteNodesById([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id])
- ]);
- await apis.user.search.waitForApi(username, {expect: 0});
- done();
- });
-
- xit('delete a file and check notification - [C280316]', async () => {
- await dataTable.selectItem(sharedFile1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`${sharedFile1} deleted`);
- expect(dataTable.getRowByName(sharedFile1).isPresent()).toBe(false, 'Item was not removed from list');
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(sharedFile1).isPresent()).toBe(true, 'Item is not in trash');
-
- await apis.user.trashcan.restore(sharedFile1Id);
- await apis.user.shared.shareFilesByIds([ sharedFile1Id ]);
- await apis.user.shared.waitForApi({ expect: 4 });
- });
-
- xit('delete multiple files and check notification - [C280513]', async () => {
- await dataTable.selectMultipleItems([sharedFile2, sharedFile3]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Deleted 2 items`);
- expect(dataTable.getRowByName(sharedFile2).isPresent()).toBe(false, `${sharedFile2} was not removed from list`);
- expect(dataTable.getRowByName(sharedFile3).isPresent()).toBe(false, `${sharedFile3} was not removed from list`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(sharedFile2).isPresent()).toBe(true, `${sharedFile2} is not in trash`);
- expect(dataTable.getRowByName(sharedFile3).isPresent()).toBe(true, `${sharedFile3} is not in trash`);
-
- await apis.user.trashcan.restore(sharedFile2Id);
- await apis.user.trashcan.restore(sharedFile3Id);
- await apis.user.shared.shareFilesByIds([ sharedFile2Id, sharedFile3Id ]);
- await apis.user.shared.waitForApi({ expect: 4 });
- });
-
- xit('successful delete notification shows Undo action - [C280323]', async () => {
- await dataTable.selectItem(sharedFile1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Undo`);
-
- await apis.user.trashcan.restore(sharedFile1Id);
- });
-
- xit('undo delete of file - [C280324]', async () => {
- await dataTable.selectItem(sharedFile2);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(sharedFile2).isPresent()).toBe(false, 'Item was not restored');
- });
-
- xit('undo delete of multiple files - [C280514]', async () => {
- await dataTable.selectMultipleItems([sharedFile3, sharedFile4]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(sharedFile3).isPresent()).toBe(false, `${sharedFile3} was not restored`);
- expect(dataTable.getRowByName(sharedFile4).isPresent()).toBe(false, `${sharedFile4} was not restored`);
- });
+ await apis.user.trashcan.restore(file1Id);
+ await apis.user.trashcan.restore(file2Id);
});
- describe('on Favorites', () => {
- const favoriteFile1 = `favFile1-${Utils.random()}.txt`; let favoriteFile1Id;
- const favoriteFile2 = `favFile2-${Utils.random()}.txt`; let favoriteFile2Id;
- const favoriteFile3 = `favFile3-${Utils.random()}.txt`;
- const favoriteFile4 = `favFile4-${Utils.random()}.txt`; let favoriteFile4Id;
- const favoriteFolder1 = `favFolder1-${Utils.random()}`; let favoriteFolder1Id;
- const favoriteFolder2 = `favFolder2-${Utils.random()}`; let favoriteFolder2Id;
- const favoriteFileLocked1 = `favFileLocked-${Utils.random()}.txt`; let favoriteFileLocked1Id;
+ it('delete a folder with content - [C217126]', async () => {
+ let items = await page.dataTable.countRows();
- beforeAll(async (done) => {
- favoriteFile1Id = (await apis.user.nodes.createFile(favoriteFile1)).entry.id;
- favoriteFile2Id = (await apis.user.nodes.createFile(favoriteFile2)).entry.id;
- favoriteFolder1Id = (await apis.user.nodes.createFolder(favoriteFolder1)).entry.id;
- favoriteFolder2Id = (await apis.user.nodes.createFolder(favoriteFolder2)).entry.id;
- await apis.user.nodes.createFile(favoriteFile3, favoriteFolder1Id);
- favoriteFile4Id = (await apis.user.nodes.createFile(favoriteFile4, favoriteFolder2Id)).entry.id;
- await apis.user.nodes.lockFile(favoriteFile4Id);
+ await dataTable.selectItem(folder1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ expect(await dataTable.getRowByName(folder1).isPresent()).toBe(false, 'Item was not removed from list');
+ items--;
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(folder1).isPresent()).toBe(true, 'Item is not in trash');
+ expect(await dataTable.getRowByName(file3).isPresent()).toBe(false, 'Item is in trash');
- favoriteFileLocked1Id = (await apis.user.nodes.createFile(favoriteFileLocked1)).entry.id;
- await apis.user.nodes.lockFile(favoriteFileLocked1Id);
-
- await apis.user.favorites.addFavoritesByIds('file', [ favoriteFile1Id, favoriteFile2Id, favoriteFileLocked1Id ]);
- await apis.user.favorites.addFavoritesByIds('folder', [ favoriteFolder1Id, favoriteFolder2Id ]);
- await apis.user.favorites.waitForApi({ expect: 5 });
-
- await loginPage.loginWith(username);
- done();
- });
-
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
- await dataTable.waitForHeader();
- done();
- });
-
- afterEach(async (done) => {
- await page.refresh();
- done();
- });
-
- afterAll(async (done) => {
- await Promise.all([
- apis.user.nodes.unlockFile(favoriteFile4Id),
- apis.user.nodes.unlockFile(favoriteFileLocked1Id)
- ]);
- await Promise.all([
- logoutPage.load(),
- apis.user.nodes.deleteNodesById([
- favoriteFile1Id, favoriteFile2Id, favoriteFolder1Id, favoriteFolder2Id, favoriteFileLocked1Id
- ])
- ]);
- await apis.user.search.waitForApi(username, {expect: 0});
- done();
- });
-
- xit('delete a file and check notification - [C280516]', async () => {
- let items = await page.dataTable.countRows();
-
- await dataTable.selectItem(favoriteFile1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`${favoriteFile1} deleted`);
- expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(false, 'Item was not removed from list');
- items--;
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, 'Item is not in trash');
-
- await apis.user.trashcan.restore(favoriteFile1Id);
- });
-
- xit('delete multiple files and check notification - [C280517]', async () => {
- let items = await page.dataTable.countRows();
-
- await dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Deleted 2 items`);
- expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(false, `${favoriteFile1} was not removed from list`);
- expect(dataTable.getRowByName(favoriteFile2).isPresent()).toBe(false, `${favoriteFile2} was not removed from list`);
- items = items - 2;
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, `${favoriteFile1} is not in trash`);
- expect(dataTable.getRowByName(favoriteFile2).isPresent()).toBe(true, `${favoriteFile2} is not in trash`);
-
- await apis.user.trashcan.restore(favoriteFile1Id);
- await apis.user.trashcan.restore(favoriteFile2Id);
- });
-
- it('delete a folder with content - [C280518]', async () => {
- let items = await page.dataTable.countRows();
- await dataTable.selectItem(favoriteFolder1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- expect(dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(false, 'Item was not removed from list');
- items--;
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(true, 'Item is not in trash');
- expect(dataTable.getRowByName(favoriteFile3).isPresent()).toBe(false, 'Item is in trash');
-
- await apis.user.trashcan.restore(favoriteFolder1Id);
- });
-
- it('delete a folder containing locked files - [C280519]', async () => {
- await dataTable.selectItem(favoriteFolder2);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`${favoriteFolder2} couldn't be deleted`);
- expect(dataTable.getRowByName(favoriteFolder2).isPresent()).toBe(true, 'Item was removed from list');
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(favoriteFolder2).isPresent()).toBe(false, 'Item is in trash');
- expect(dataTable.getRowByName(favoriteFile4).isPresent()).toBe(false, 'Item is in trash');
- });
-
- it('notification on multiple items deletion - some items fail to delete - [C280520]', async () => {
- await dataTable.selectMultipleItems([favoriteFile1, favoriteFolder2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`);
-
- await apis.user.trashcan.restore(favoriteFile1Id);
- });
-
- it('notification on multiple items deletion - all items fail to delete - [C280521]', async () => {
- await dataTable.selectMultipleItems([favoriteFileLocked1, favoriteFolder2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toEqual(`2 items couldn't be deleted`);
- });
-
- it('successful delete notification shows Undo action - [C280522]', async () => {
- await dataTable.selectItem(favoriteFile1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Undo`);
-
- await apis.user.trashcan.restore(favoriteFile1Id);
- });
-
- it('unsuccessful delete notification does not show Undo action - [C280523]', async () => {
- await dataTable.selectItem(favoriteFolder2);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).not.toContain(`Undo`);
- });
-
- it('undo delete of file - [C280524]', async () => {
- const items = await page.dataTable.countRows();
-
- await dataTable.selectItem(favoriteFile1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, 'Item was not restored');
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- });
-
- it('undo delete of folder with content - [C280526]', async () => {
- const items = await page.dataTable.countRows();
-
- await dataTable.selectItem(favoriteFolder1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- expect(dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(true, 'Item was not restored');
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- await dataTable.doubleClickOnRowByName(favoriteFolder1);
- expect(dataTable.getRowByName(favoriteFile3).isPresent()).toBe(true, 'file from folder not restored');
- });
-
- it('undo delete of multiple files - [C280525]', async () => {
- const items = await page.dataTable.countRows();
-
- await dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, `${favoriteFile1} was not removed from list`);
- expect(dataTable.getRowByName(favoriteFile2).isPresent()).toBe(true, `${favoriteFile2} was not removed from list`);
- expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
- });
+ await apis.user.trashcan.restore(folder1Id);
});
- // TODO: try to change search.waitForApi to wait for exact number of items
- xdescribe('on Recent Files', () => {
- const recentFile1 = `recentFile1-${Utils.random()}.txt`; let recentFile1Id;
- const recentFile2 = `recentFile2-${Utils.random()}.txt`; let recentFile2Id;
- const recentFile3 = `recentFile3-${Utils.random()}.txt`; let recentFile3Id;
- const recentFile4 = `recentFile4-${Utils.random()}.txt`; let recentFile4Id;
-
- beforeAll(async (done) => {
- recentFile1Id = (await apis.user.nodes.createFile(recentFile1)).entry.id;
- recentFile2Id = (await apis.user.nodes.createFile(recentFile2)).entry.id;
- recentFile3Id = (await apis.user.nodes.createFile(recentFile3)).entry.id;
- recentFile4Id = (await apis.user.nodes.createFile(recentFile4)).entry.id;
- await apis.user.search.waitForApi(username, { expect: 4 });
-
- await loginPage.loginWith(username);
-
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
- const empty = await dataTable.isEmptyList();
- if (empty) {
- await browser.sleep(6000);
- await browser.refresh();
- }
- done();
- });
-
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- afterEach(async (done) => {
- await page.refresh();
- done();
- });
-
- afterAll(async (done) => {
- await Promise.all([
- logoutPage.load(),
- apis.user.nodes.deleteNodesById([recentFile1Id, recentFile2Id, recentFile3Id, recentFile4Id])
- ]);
- done();
- });
-
- xit('delete a file and check notification - [C280528]', async () => {
- await dataTable.selectItem(recentFile1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`${recentFile1} deleted`);
- expect(dataTable.getRowByName(recentFile1).isPresent()).toBe(false, 'Item was not removed from list');
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(recentFile1).isPresent()).toBe(true, 'Item is not in trash');
-
- await apis.user.trashcan.restore(recentFile1Id);
- await apis.user.search.waitForApi(username, { expect: 4 });
- });
-
- xit('delete multiple files and check notification - [C280529]', async () => {
- await dataTable.selectMultipleItems([recentFile2, recentFile3]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Deleted 2 items`);
- expect(dataTable.getRowByName(recentFile2).isPresent()).toBe(false, `${recentFile2} was not removed from list`);
- expect(dataTable.getRowByName(recentFile3).isPresent()).toBe(false, `${recentFile3} was not removed from list`);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(recentFile2).isPresent()).toBe(true, `${recentFile2} is not in trash`);
- expect(dataTable.getRowByName(recentFile3).isPresent()).toBe(true, `${recentFile3} is not in trash`);
-
- await apis.user.trashcan.restore(recentFile2Id);
- await apis.user.trashcan.restore(recentFile3Id);
- await apis.user.search.waitForApi(username, { expect: 4 });
- });
-
- xit('successful delete notification shows Undo action - [C280534]', async () => {
- await dataTable.selectItem(recentFile1);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- const message = await page.getSnackBarMessage();
- expect(message).toContain(`Undo`);
-
- await apis.user.trashcan.restore(recentFile1Id);
- await apis.user.search.waitForApi(username, { expect: 4 });
- });
-
- // due to the fact that the search api is slow to update,
- // we cannot test that the restored file is displayed in the Recent Files list
- // without adding a very big browser.sleep followed by a page.refresh
- // so for the moment we're testing that the restored file is not displayed in the Trash
- xit('undo delete of file - [C280536]', async () => {
- await dataTable.selectItem(recentFile2);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(recentFile2).isPresent()).toBe(false, 'Item is in Trash');
- });
-
- // due to the fact that the search api is slow to update,
- // we cannot test that the restored file is displayed in the Recent Files list
- // without adding a very big browser.sleep followed by a page.refresh
- // so for the moment we're testing that the restored file is not displayed in the Trash
- xit('undo delete of multiple files - [C280537]', async () => {
- await dataTable.selectMultipleItems([recentFile3, recentFile4]);
- await toolbar.openMoreMenu();
- await toolbar.menu.clickMenuItem('Delete');
- await page.clickSnackBarAction();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- expect(dataTable.getRowByName(recentFile3).isPresent()).toBe(false, `${recentFile3} is in Trash`);
- expect(dataTable.getRowByName(recentFile4).isPresent()).toBe(false, `${recentFile4} is in Trash`);
- });
+ it('delete a folder containing locked files - [C217127]', async () => {
+ await dataTable.selectItem(folder2);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`${folder2} couldn't be deleted`);
+ expect(await dataTable.getRowByName(folder2).isPresent()).toBe(true, 'Item was removed from list');
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(folder2).isPresent()).toBe(false, 'Item is in trash');
+ expect(await dataTable.getRowByName(file4).isPresent()).toBe(false, 'Item is in trash');
});
+
+ it('notification on multiple items deletion - some items fail to delete - [C217129]', async () => {
+ await dataTable.selectMultipleItems([file1, folder2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`);
+
+ await apis.user.trashcan.restore(file1Id);
+ });
+
+ it('notification on multiple items deletion - all items fail to delete - [C217130]', async () => {
+ await dataTable.selectMultipleItems([fileLocked1, folder2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toEqual(`2 items couldn't be deleted`);
+ });
+
+ it('successful delete notification shows Undo action - [C217131]', async () => {
+ await dataTable.selectItem(file1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Undo`);
+
+ await apis.user.trashcan.restore(file1Id);
+ });
+
+ it('unsuccessful delete notification does not show Undo action - [C217134]', async () => {
+ await dataTable.selectItem(folder2);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).not.toContain(`Undo`);
+ });
+
+ it('undo delete of file - [C217132]', async () => {
+ const items = await page.dataTable.countRows();
+
+ await dataTable.selectItem(file1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ expect(await dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item was not restored');
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ });
+
+ it('undo delete of folder with content - [C280503]', async () => {
+ const items = await page.dataTable.countRows();
+
+ await dataTable.selectItem(folder1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ expect(await dataTable.getRowByName(folder1).isPresent()).toBe(true, 'Item was not restored');
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await dataTable.doubleClickOnRowByName(folder1);
+ expect(await dataTable.getRowByName(file3).isPresent()).toBe(true, 'file from folder not restored');
+ });
+
+ xit('undo delete of multiple files - [C280504]', async () => {
+ const items = await page.dataTable.countRows();
+
+ await dataTable.selectMultipleItems([file1, file2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ expect(await dataTable.getRowByName(file1).isPresent()).toBe(true, `${file1} was not removed from list`);
+ expect(await dataTable.getRowByName(file2).isPresent()).toBe(true, `${file2} was not removed from list`);
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ });
+ });
+
+ describe('on Shared Files', () => {
+ const sharedFile1 = `sharedFile1-${Utils.random()}.txt`; let sharedFile1Id;
+ const sharedFile2 = `sharedFile2-${Utils.random()}.txt`; let sharedFile2Id;
+ const sharedFile3 = `sharedFile3-${Utils.random()}.txt`; let sharedFile3Id;
+ const sharedFile4 = `sharedFile4-${Utils.random()}.txt`; let sharedFile4Id;
+
+ beforeAll(async (done) => {
+ sharedFile1Id = (await apis.user.nodes.createFile(sharedFile1)).entry.id;
+ sharedFile2Id = (await apis.user.nodes.createFile(sharedFile2)).entry.id;
+ sharedFile3Id = (await apis.user.nodes.createFile(sharedFile3)).entry.id;
+ sharedFile4Id = (await apis.user.nodes.createFile(sharedFile4)).entry.id;
+ await apis.user.shared.shareFilesByIds([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id]);
+ await apis.user.shared.waitForApi({ expect: 4 });
+
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ afterEach(async (done) => {
+ await page.refresh();
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ logoutPage.load(),
+ apis.user.nodes.deleteNodesById([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id])
+ ]);
+ await apis.user.search.waitForApi(username, {expect: 0});
+ done();
+ });
+
+ xit('delete a file and check notification - [C280316]', async () => {
+ await dataTable.selectItem(sharedFile1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`${sharedFile1} deleted`);
+ expect(await dataTable.getRowByName(sharedFile1).isPresent()).toBe(false, 'Item was not removed from list');
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(sharedFile1).isPresent()).toBe(true, 'Item is not in trash');
+
+ await apis.user.trashcan.restore(sharedFile1Id);
+ await apis.user.shared.shareFilesByIds([ sharedFile1Id ]);
+ await apis.user.shared.waitForApi({ expect: 4 });
+ });
+
+ xit('delete multiple files and check notification - [C280513]', async () => {
+ await dataTable.selectMultipleItems([sharedFile2, sharedFile3]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Deleted 2 items`);
+ expect(await dataTable.getRowByName(sharedFile2).isPresent()).toBe(false, `${sharedFile2} was not removed from list`);
+ expect(await dataTable.getRowByName(sharedFile3).isPresent()).toBe(false, `${sharedFile3} was not removed from list`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(sharedFile2).isPresent()).toBe(true, `${sharedFile2} is not in trash`);
+ expect(await dataTable.getRowByName(sharedFile3).isPresent()).toBe(true, `${sharedFile3} is not in trash`);
+
+ await apis.user.trashcan.restore(sharedFile2Id);
+ await apis.user.trashcan.restore(sharedFile3Id);
+ await apis.user.shared.shareFilesByIds([ sharedFile2Id, sharedFile3Id ]);
+ await apis.user.shared.waitForApi({ expect: 4 });
+ });
+
+ xit('successful delete notification shows Undo action - [C280323]', async () => {
+ await dataTable.selectItem(sharedFile1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Undo`);
+
+ await apis.user.trashcan.restore(sharedFile1Id);
+ });
+
+ xit('undo delete of file - [C280324]', async () => {
+ await dataTable.selectItem(sharedFile2);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(sharedFile2).isPresent()).toBe(false, 'Item was not restored');
+ });
+
+ xit('undo delete of multiple files - [C280514]', async () => {
+ await dataTable.selectMultipleItems([sharedFile3, sharedFile4]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(sharedFile3).isPresent()).toBe(false, `${sharedFile3} was not restored`);
+ expect(await dataTable.getRowByName(sharedFile4).isPresent()).toBe(false, `${sharedFile4} was not restored`);
+ });
+ });
+
+ describe('on Favorites', () => {
+ const favoriteFile1 = `favFile1-${Utils.random()}.txt`; let favoriteFile1Id;
+ const favoriteFile2 = `favFile2-${Utils.random()}.txt`; let favoriteFile2Id;
+ const favoriteFile3 = `favFile3-${Utils.random()}.txt`;
+ const favoriteFile4 = `favFile4-${Utils.random()}.txt`; let favoriteFile4Id;
+ const favoriteFolder1 = `favFolder1-${Utils.random()}`; let favoriteFolder1Id;
+ const favoriteFolder2 = `favFolder2-${Utils.random()}`; let favoriteFolder2Id;
+ const favoriteFileLocked1 = `favFileLocked-${Utils.random()}.txt`; let favoriteFileLocked1Id;
+
+ beforeAll(async (done) => {
+ favoriteFile1Id = (await apis.user.nodes.createFile(favoriteFile1)).entry.id;
+ favoriteFile2Id = (await apis.user.nodes.createFile(favoriteFile2)).entry.id;
+ favoriteFolder1Id = (await apis.user.nodes.createFolder(favoriteFolder1)).entry.id;
+ favoriteFolder2Id = (await apis.user.nodes.createFolder(favoriteFolder2)).entry.id;
+ await apis.user.nodes.createFile(favoriteFile3, favoriteFolder1Id);
+ favoriteFile4Id = (await apis.user.nodes.createFile(favoriteFile4, favoriteFolder2Id)).entry.id;
+ await apis.user.nodes.lockFile(favoriteFile4Id);
+
+ favoriteFileLocked1Id = (await apis.user.nodes.createFile(favoriteFileLocked1)).entry.id;
+ await apis.user.nodes.lockFile(favoriteFileLocked1Id);
+
+ await apis.user.favorites.addFavoritesByIds('file', [ favoriteFile1Id, favoriteFile2Id, favoriteFileLocked1Id ]);
+ await apis.user.favorites.addFavoritesByIds('folder', [ favoriteFolder1Id, favoriteFolder2Id ]);
+ await apis.user.favorites.waitForApi({ expect: 5 });
+
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ afterEach(async (done) => {
+ await page.refresh();
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.nodes.unlockFile(favoriteFile4Id),
+ apis.user.nodes.unlockFile(favoriteFileLocked1Id)
+ ]);
+ await Promise.all([
+ logoutPage.load(),
+ apis.user.nodes.deleteNodesById([
+ favoriteFile1Id, favoriteFile2Id, favoriteFolder1Id, favoriteFolder2Id, favoriteFileLocked1Id
+ ])
+ ]);
+ await apis.user.search.waitForApi(username, {expect: 0});
+ done();
+ });
+
+ xit('delete a file and check notification - [C280516]', async () => {
+ let items = await page.dataTable.countRows();
+
+ await dataTable.selectItem(favoriteFile1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`${favoriteFile1} deleted`);
+ expect(await dataTable.getRowByName(favoriteFile1).isPresent()).toBe(false, 'Item was not removed from list');
+ items--;
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, 'Item is not in trash');
+
+ await apis.user.trashcan.restore(favoriteFile1Id);
+ });
+
+ xit('delete multiple files and check notification - [C280517]', async () => {
+ let items = await page.dataTable.countRows();
+
+ await dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Deleted 2 items`);
+ expect(await dataTable.getRowByName(favoriteFile1).isPresent()).toBe(false, `${favoriteFile1} was not removed from list`);
+ expect(await dataTable.getRowByName(favoriteFile2).isPresent()).toBe(false, `${favoriteFile2} was not removed from list`);
+ items = items - 2;
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, `${favoriteFile1} is not in trash`);
+ expect(await dataTable.getRowByName(favoriteFile2).isPresent()).toBe(true, `${favoriteFile2} is not in trash`);
+
+ await apis.user.trashcan.restore(favoriteFile1Id);
+ await apis.user.trashcan.restore(favoriteFile2Id);
+ });
+
+ it('delete a folder with content - [C280518]', async () => {
+ let items = await page.dataTable.countRows();
+ await dataTable.selectItem(favoriteFolder1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ expect(await dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(false, 'Item was not removed from list');
+ items--;
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(true, 'Item is not in trash');
+ expect(await dataTable.getRowByName(favoriteFile3).isPresent()).toBe(false, 'Item is in trash');
+
+ await apis.user.trashcan.restore(favoriteFolder1Id);
+ });
+
+ it('delete a folder containing locked files - [C280519]', async () => {
+ await dataTable.selectItem(favoriteFolder2);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`${favoriteFolder2} couldn't be deleted`);
+ expect(await dataTable.getRowByName(favoriteFolder2).isPresent()).toBe(true, 'Item was removed from list');
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(favoriteFolder2).isPresent()).toBe(false, 'Item is in trash');
+ expect(await dataTable.getRowByName(favoriteFile4).isPresent()).toBe(false, 'Item is in trash');
+ });
+
+ it('notification on multiple items deletion - some items fail to delete - [C280520]', async () => {
+ await dataTable.selectMultipleItems([favoriteFile1, favoriteFolder2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`);
+
+ await apis.user.trashcan.restore(favoriteFile1Id);
+ });
+
+ it('notification on multiple items deletion - all items fail to delete - [C280521]', async () => {
+ await dataTable.selectMultipleItems([favoriteFileLocked1, favoriteFolder2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toEqual(`2 items couldn't be deleted`);
+ });
+
+ it('successful delete notification shows Undo action - [C280522]', async () => {
+ await dataTable.selectItem(favoriteFile1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Undo`);
+
+ await apis.user.trashcan.restore(favoriteFile1Id);
+ });
+
+ it('unsuccessful delete notification does not show Undo action - [C280523]', async () => {
+ await dataTable.selectItem(favoriteFolder2);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).not.toContain(`Undo`);
+ });
+
+ it('undo delete of file - [C280524]', async () => {
+ const items = await page.dataTable.countRows();
+
+ await dataTable.selectItem(favoriteFile1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ expect(await dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, 'Item was not restored');
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ });
+
+ it('undo delete of folder with content - [C280526]', async () => {
+ const items = await page.dataTable.countRows();
+
+ await dataTable.selectItem(favoriteFolder1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ expect(await dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(true, 'Item was not restored');
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ await dataTable.doubleClickOnRowByName(favoriteFolder1);
+ expect(await dataTable.getRowByName(favoriteFile3).isPresent()).toBe(true, 'file from folder not restored');
+ });
+
+ it('undo delete of multiple files - [C280525]', async () => {
+ const items = await page.dataTable.countRows();
+
+ await dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ expect(await dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, `${favoriteFile1} was not removed from list`);
+ expect(await dataTable.getRowByName(favoriteFile2).isPresent()).toBe(true, `${favoriteFile2} was not removed from list`);
+ expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
+ });
+ });
+
+ // TODO: try to change search.waitForApi to wait for exact number of items
+ xdescribe('on Recent Files', () => {
+ const recentFile1 = `recentFile1-${Utils.random()}.txt`; let recentFile1Id;
+ const recentFile2 = `recentFile2-${Utils.random()}.txt`; let recentFile2Id;
+ const recentFile3 = `recentFile3-${Utils.random()}.txt`; let recentFile3Id;
+ const recentFile4 = `recentFile4-${Utils.random()}.txt`; let recentFile4Id;
+
+ beforeAll(async (done) => {
+ recentFile1Id = (await apis.user.nodes.createFile(recentFile1)).entry.id;
+ recentFile2Id = (await apis.user.nodes.createFile(recentFile2)).entry.id;
+ recentFile3Id = (await apis.user.nodes.createFile(recentFile3)).entry.id;
+ recentFile4Id = (await apis.user.nodes.createFile(recentFile4)).entry.id;
+ await apis.user.search.waitForApi(username, { expect: 4 });
+
+ await loginPage.loginWith(username);
+
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ const empty = await dataTable.isEmptyList();
+ if (empty) {
+ await browser.sleep(6000);
+ await browser.refresh();
+ }
+ done();
+ });
+
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ afterEach(async (done) => {
+ await page.refresh();
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ logoutPage.load(),
+ apis.user.nodes.deleteNodesById([recentFile1Id, recentFile2Id, recentFile3Id, recentFile4Id])
+ ]);
+ done();
+ });
+
+ xit('delete a file and check notification - [C280528]', async () => {
+ await dataTable.selectItem(recentFile1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`${recentFile1} deleted`);
+ expect(await dataTable.getRowByName(recentFile1).isPresent()).toBe(false, 'Item was not removed from list');
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(recentFile1).isPresent()).toBe(true, 'Item is not in trash');
+
+ await apis.user.trashcan.restore(recentFile1Id);
+ await apis.user.search.waitForApi(username, { expect: 4 });
+ });
+
+ xit('delete multiple files and check notification - [C280529]', async () => {
+ await dataTable.selectMultipleItems([recentFile2, recentFile3]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Deleted 2 items`);
+ expect(await dataTable.getRowByName(recentFile2).isPresent()).toBe(false, `${recentFile2} was not removed from list`);
+ expect(await dataTable.getRowByName(recentFile3).isPresent()).toBe(false, `${recentFile3} was not removed from list`);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(recentFile2).isPresent()).toBe(true, `${recentFile2} is not in trash`);
+ expect(await dataTable.getRowByName(recentFile3).isPresent()).toBe(true, `${recentFile3} is not in trash`);
+
+ await apis.user.trashcan.restore(recentFile2Id);
+ await apis.user.trashcan.restore(recentFile3Id);
+ await apis.user.search.waitForApi(username, { expect: 4 });
+ });
+
+ xit('successful delete notification shows Undo action - [C280534]', async () => {
+ await dataTable.selectItem(recentFile1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ const message = await page.getSnackBarMessage();
+ expect(message).toContain(`Undo`);
+
+ await apis.user.trashcan.restore(recentFile1Id);
+ await apis.user.search.waitForApi(username, { expect: 4 });
+ });
+
+ // due to the fact that the search api is slow to update,
+ // we cannot test that the restored file is displayed in the Recent Files list
+ // without adding a very big browser.sleep followed by a page.refresh
+ // so for the moment we're testing that the restored file is not displayed in the Trash
+ xit('undo delete of file - [C280536]', async () => {
+ await dataTable.selectItem(recentFile2);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(recentFile2).isPresent()).toBe(false, 'Item is in Trash');
+ });
+
+ // due to the fact that the search api is slow to update,
+ // we cannot test that the restored file is displayed in the Recent Files list
+ // without adding a very big browser.sleep followed by a page.refresh
+ // so for the moment we're testing that the restored file is not displayed in the Trash
+ xit('undo delete of multiple files - [C280537]', async () => {
+ await dataTable.selectMultipleItems([recentFile3, recentFile4]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Delete');
+ await page.clickSnackBarAction();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await dataTable.getRowByName(recentFile3).isPresent()).toBe(false, `${recentFile3} is in Trash`);
+ expect(await dataTable.getRowByName(recentFile4).isPresent()).toBe(false, `${recentFile4} is in Trash`);
+ });
+ });
});
diff --git a/e2e/suites/actions/edit-folder.test.ts b/e2e/suites/actions/edit-folder.test.ts
index e5962698f..aabceefa9 100755
--- a/e2e/suites/actions/edit-folder.test.ts
+++ b/e2e/suites/actions/edit-folder.test.ts
@@ -31,157 +31,151 @@ import { CreateOrEditFolderDialog } from '../../components/dialog/create-edit-fo
import { Utils } from '../../utilities/utils';
describe('Edit folder', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const parent = `parent-${Utils.random()}`;
- const folderName = `folder-${Utils.random()}`;
- const folderDescription = 'my folder description';
+ const parent = `parent-${Utils.random()}`; let parentId;
+ const folderName = `folder-${Utils.random()}`;
+ const folderDescription = 'my folder description';
- const folderNameToEdit = `folder-${Utils.random()}`;
- const duplicateFolderName = `folder-${Utils.random()}`;
+ const folderNameToEdit = `folder-${Utils.random()}`;
+ const duplicateFolderName = `folder-${Utils.random()}`;
- const folderNameEdited = `folder-${Utils.random()}`;
- const folderDescriptionEdited = 'description edited';
+ const folderNameEdited = `folder-${Utils.random()}`;
+ const folderDescriptionEdited = 'description edited';
- const siteName = `site-private-${Utils.random()}`;
+ const siteName = `site-private-${Utils.random()}`;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const personalFilesPage = new BrowsingPage();
- const editDialog = new CreateOrEditFolderDialog();
- const { dataTable } = personalFilesPage;
- const editButton = personalFilesPage.toolbar.getButtonByTitleAttribute('Edit');
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const personalFilesPage = new BrowsingPage();
+ const editDialog = new CreateOrEditFolderDialog();
+ const { dataTable } = personalFilesPage;
+ const editButton = personalFilesPage.toolbar.getButtonByTitleAttribute('Edit');
- beforeAll(done => {
- apis.admin.people.createUser({ username })
- .then(() => apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE))
- .then(() => apis.admin.nodes.createFolders([ folderName ], `Sites/${siteName}/documentLibrary`))
- .then(() => apis.admin.sites.addSiteMember(siteName, username, SITE_ROLES.SITE_CONSUMER))
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ await apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
+ const docLibId = await apis.admin.sites.getDocLibId(siteName);
+ await apis.admin.nodes.createFolder(folderName, docLibId);
+ await apis.admin.sites.addSiteMember(siteName, username, SITE_ROLES.SITE_CONSUMER);
- .then(() => apis.user.nodes.createFolder( parent ))
- .then(resp => apis.user.nodes.createFolder( folderName, resp.entry.id, '', folderDescription ))
- .then(() => apis.user.nodes.createFolders([ folderNameToEdit, duplicateFolderName ], parent))
+ parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
+ await apis.user.nodes.createFolder(folderName, parentId, '', folderDescription);
+ await apis.user.nodes.createFolder(folderNameToEdit, parentId);
+ await apis.user.nodes.createFolder(duplicateFolderName, parentId);
- .then(() => loginPage.loginWith(username))
- .then(done);
- });
+ await loginPage.loginWith(username);
+ done();
+ });
- beforeEach(done => {
- personalFilesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => dataTable.waitForHeader())
- .then(() => dataTable.doubleClickOnRowByName(parent))
- .then(() => dataTable.waitForHeader())
- .then(done);
- });
+ beforeEach(async (done) => {
+ await personalFilesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ await dataTable.doubleClickOnRowByName(parent);
+ await dataTable.waitForHeader();
+ done();
+ });
- afterEach(done => {
- browser.actions().sendKeys(protractor.Key.ESCAPE).perform().then(done);
- });
+ afterEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ done();
+ });
- afterAll(done => {
- Promise
- .all([
- apis.admin.sites.deleteSite(siteName),
- apis.user.nodes.deleteNodes([ parent ]),
- logoutPage.load()
- ])
- .then(done);
- });
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.admin.sites.deleteSite(siteName),
+ apis.user.nodes.deleteNodeById(parentId),
+ logoutPage.load()
+ ]);
+ done();
+ });
- it('dialog UI defaults - [C216331]', () => {
- dataTable.selectItem(folderName)
- .then(() => editButton.click())
- .then(() => {
- expect(editDialog.getTitle()).toEqual('Edit folder');
- expect(editDialog.nameInput.getAttribute('value')).toBe(folderName);
- expect(editDialog.descriptionTextArea.getAttribute('value')).toBe(folderDescription);
- expect(editDialog.updateButton.isEnabled()).toBe(true, 'upload button is not enabled');
- expect(editDialog.cancelButton.isEnabled()).toBe(true, 'cancel button is not enabled');
- });
- });
+ it('dialog UI defaults - [C216331]', async () => {
+ await dataTable.selectItem(folderName);
+ await editButton.click();
+ expect(await editDialog.getTitle()).toEqual('Edit folder');
+ expect(await editDialog.nameInput.getAttribute('value')).toBe(folderName);
+ expect(await editDialog.descriptionTextArea.getAttribute('value')).toBe(folderDescription);
+ expect(await editDialog.updateButton.isEnabled()).toBe(true, 'upload button is not enabled');
+ expect(await editDialog.cancelButton.isEnabled()).toBe(true, 'cancel button is not enabled');
+ });
- it('properties are modified when pressing OK - [C216335]', () => {
- dataTable.selectItem(folderNameToEdit)
- .then(() => editButton.click())
- .then(() => editDialog.waitForDialogToOpen())
- .then(() => editDialog.enterDescription(folderDescriptionEdited))
- .then(() => editDialog.enterName(folderNameEdited))
- .then(() => editDialog.clickUpdate())
- .then(() => editDialog.waitForDialogToClose())
- .then(() => dataTable.waitForHeader())
- .then(() => expect(dataTable.getRowByName(folderNameEdited).isPresent()).toBe(true, 'Folder not displayed'))
- .then(() => apis.user.nodes.getNodeDescription(folderNameEdited, parent))
- .then(desc => expect(desc).toEqual(folderDescriptionEdited));
- });
+ it('properties are modified when pressing OK - [C216335]', async (done) => {
+ await dataTable.selectItem(folderNameToEdit);
+ await editButton.click();
+ await editDialog.waitForDialogToOpen();
+ await editDialog.enterDescription(folderDescriptionEdited);
+ await editDialog.enterName(folderNameEdited);
+ await editDialog.clickUpdate();
+ await editDialog.waitForDialogToClose();
+ await dataTable.waitForHeader();
+ expect(await dataTable.getRowByName(folderNameEdited).isPresent()).toBe(true, 'Folder not displayed');
+ const desc = await apis.user.nodes.getNodeDescription(folderNameEdited, parent);
+ expect(desc).toEqual(folderDescriptionEdited);
+ done();
+ });
- it('with empty folder name - [C216332]', () => {
- dataTable.selectItem(folderName)
- .then(() => editButton.click())
- .then(() => editDialog.deleteNameWithBackspace())
- .then(() => {
- expect(editDialog.updateButton.isEnabled()).toBe(false, 'upload button is not enabled');
- expect(editDialog.getValidationMessage()).toMatch('Folder name is required');
- });
- });
+ it('with empty folder name - [C216332]', async () => {
+ await dataTable.selectItem(folderName);
+ await editButton.click();
+ await editDialog.deleteNameWithBackspace();
+ expect(await editDialog.updateButton.isEnabled()).toBe(false, 'upload button is not enabled');
+ expect(await editDialog.getValidationMessage()).toMatch('Folder name is required');
+ });
- it('with name with special characters - [C216333]', () => {
- const namesWithSpecialChars = [ 'a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a' ];
+ it('with name with special characters - [C216333]', async () => {
+ const namesWithSpecialChars = [ 'a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a' ];
- dataTable.selectItem(folderName)
- .then(() => editButton.click())
- .then(() => namesWithSpecialChars.forEach(name => {
- editDialog.enterName(name);
+ await dataTable.selectItem(folderName);
+ await editButton.click();
- expect(editDialog.updateButton.isEnabled()).toBe(false, 'upload button is not disabled');
- expect(editDialog.getValidationMessage()).toContain(`Folder name can't contain these characters`);
- }));
- });
+ for (const name of namesWithSpecialChars) {
+ await editDialog.enterName(name);
+ expect(await editDialog.updateButton.isEnabled()).toBe(false, 'upload button is not disabled');
+ expect(await editDialog.getValidationMessage()).toContain(`Folder name can't contain these characters`);
+ }
+ });
- it('with name ending with a dot - [C216334]', () => {
- dataTable.selectItem(folderName)
- .then(() => editButton.click())
- .then(() => editDialog.nameInput.sendKeys('.'))
- .then(() => {
- expect(editDialog.updateButton.isEnabled()).toBe(false, 'upload button is not enabled');
- expect(editDialog.getValidationMessage()).toMatch(`Folder name can't end with a period .`);
- });
- });
+ it('with name ending with a dot - [C216334]', async () => {
+ await dataTable.selectItem(folderName);
+ await editButton.click();
+ await editDialog.waitForDialogToOpen();
+ await editDialog.nameInput.sendKeys('.');
+ expect(await editDialog.updateButton.isEnabled()).toBe(false, 'upload button is not enabled');
+ expect(await editDialog.getValidationMessage()).toMatch(`Folder name can't end with a period .`);
+ });
- it('Cancel button - [C216336]', () => {
- dataTable.selectItem(folderName)
- .then(() => editButton.click())
- .then(() => editDialog.clickCancel())
- .then(() => {
- expect(editDialog.component.isPresent()).not.toBe(true, 'dialog is not closed');
- });
- });
+ it('Cancel button - [C216336]', async () => {
+ await dataTable.selectItem(folderName);
+ await editButton.click();
+ await editDialog.waitForDialogToOpen();
+ await editDialog.clickCancel();
+ expect(await editDialog.component.isPresent()).not.toBe(true, 'dialog is not closed');
+ });
- it('with duplicate folder name - [C216337]', () => {
- dataTable.selectItem(folderName)
- .then(() => editButton.click())
- .then(() => editDialog.enterName(duplicateFolderName))
- .then(() => editDialog.clickUpdate())
- .then(() => personalFilesPage.getSnackBarMessage())
- .then(message => {
- expect(message).toEqual(`There's already a folder with this name. Try a different name.`);
- expect(editDialog.component.isPresent()).toBe(true, 'dialog is not present');
- });
- });
+ it('with duplicate folder name - [C216337]', async () => {
+ await dataTable.selectItem(folderName);
+ await editButton.click();
+ await editDialog.waitForDialogToOpen();
+ await editDialog.enterName(duplicateFolderName);
+ await editDialog.clickUpdate();
+ const message = await personalFilesPage.getSnackBarMessage();
+ expect(message).toEqual(`There's already a folder with this name. Try a different name.`);
+ expect(await editDialog.component.isPresent()).toBe(true, 'dialog is not present');
+ });
- it('trim ending spaces - [C216338]', () => {
- dataTable.selectItem(folderName)
- .then(() => editButton.click())
- .then(() => editDialog.nameInput.sendKeys(' '))
- .then(() => editDialog.clickUpdate())
- .then(() => editDialog.waitForDialogToClose())
- .then(() => {
- expect(personalFilesPage.snackBar.isPresent()).not.toBe(true, 'notification appears');
- expect(dataTable.getRowByName(folderName).isPresent()).toBe(true, 'Folder not displayed in list view');
- });
- });
+ it('trim ending spaces - [C216338]', async () => {
+ await dataTable.selectItem(folderName);
+ await editButton.click();
+ await editDialog.nameInput.sendKeys(' ');
+ await editDialog.clickUpdate();
+ await editDialog.waitForDialogToClose();
+ expect(await personalFilesPage.snackBar.isPresent()).not.toBe(true, 'notification appears');
+ expect(await dataTable.getRowByName(folderName).isPresent()).toBe(true, 'Folder not displayed in list view');
+ });
});
diff --git a/e2e/suites/actions/mark-favorite.test.ts b/e2e/suites/actions/mark-favorite.test.ts
index 85b9ec140..c1b5ca28b 100644
--- a/e2e/suites/actions/mark-favorite.test.ts
+++ b/e2e/suites/actions/mark-favorite.test.ts
@@ -56,377 +56,357 @@ describe('Mark items as favorites', () => {
const page = new BrowsingPage();
const { dataTable, toolbar } = page;
- beforeAll(done => {
- apis.admin.people.createUser({ username })
- .then(() => apis.user.nodes.createFile( file1NotFav ).then(resp => file1Id = resp.entry.id))
- .then(() => apis.user.nodes.createFile( file2NotFav ).then(resp => file2Id = resp.entry.id))
- .then(() => apis.user.nodes.createFile( file3Fav ).then(resp => file3Id = resp.entry.id))
- .then(() => apis.user.nodes.createFile( file4Fav ).then(resp => file4Id = resp.entry.id))
- .then(() => apis.user.nodes.createFolder( folder1 ).then(resp => folder1Id = resp.entry.id))
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ file1Id = (await apis.user.nodes.createFile(file1NotFav)).entry.id;
+ file2Id = (await apis.user.nodes.createFile(file2NotFav)).entry.id;
+ file3Id = (await apis.user.nodes.createFile(file3Fav)).entry.id;
+ file4Id = (await apis.user.nodes.createFile(file4Fav)).entry.id;
+ folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id))
- .then(() => apis.user.favorites.addFavoriteById('file', file4Id))
+ await apis.user.favorites.addFavoriteById('file', file3Id);
+ await apis.user.favorites.addFavoriteById('file', file4Id);
- .then(() => apis.user.search.waitForApi(username, { expect: 4 }))
- .then(() => apis.user.favorites.waitForApi({ expect: 2 }))
+ await apis.user.search.waitForApi(username, { expect: 4 });
+ await apis.user.favorites.waitForApi({ expect: 2 });
- .then(() => loginPage.loginWith(username))
- .then(done);
+ await loginPage.loginWith(username);
+ done();
});
- afterAll(done => {
- Promise.all([
+ afterAll(async (done) => {
+ await Promise.all([
apis.user.nodes.deleteNodesById([ file1Id, file2Id, file3Id, file4Id, folder1Id]),
apis.user.sites.deleteSite(siteName),
logoutPage.load()
- ])
- .then(done);
+ ]);
+ done();
});
xit('');
describe('on Personal Files', () => {
- beforeAll(done => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => dataTable.waitForHeader())
- .then(done);
+ beforeAll(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- beforeEach(done => {
- toolbar.closeMoreMenu().then(done);
+ beforeEach(async (done) => {
+ await toolbar.closeMoreMenu();
+ done();
});
- it('Favorite action has empty star icon for an item not marked as favorite - [C217186]', () => {
- dataTable.selectItem(file1NotFav)
- .then(() => toolbar.openMoreMenu())
- .then(() => expect(toolbar.menu.getItemIconText('Favorite')).toEqual('star_border'));
+ it('Favorite action has empty star icon for an item not marked as favorite - [C217186]', async () => {
+ await dataTable.selectItem(file1NotFav);
+ await toolbar.openMoreMenu();
+ expect(await toolbar.menu.getItemIconText('Favorite')).toEqual('star_border');
});
- it('Favorite action has empty star icon for multiple selection of items when some are not favorite - [C217187]', () => {
- dataTable.selectMultipleItems([ file1NotFav, file3Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => expect(toolbar.menu.getItemIconText('Favorite')).toEqual('star_border'));
+ it('Favorite action has empty star icon for multiple selection of items when some are not favorite - [C217187]', async () => {
+ await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
+ await toolbar.openMoreMenu();
+ expect(await toolbar.menu.getItemIconText('Favorite')).toEqual('star_border');
});
- it('Favorite action has full star icon for items marked as favorite - [C217188]', () => {
- dataTable.selectItem(file3Fav)
- .then(() => toolbar.openMoreMenu())
- .then(() => expect(toolbar.menu.getItemIconText('Favorite')).toEqual('star'));
+ it('Favorite action has full star icon for items marked as favorite - [C217188]', async () => {
+ await dataTable.selectItem(file3Fav);
+ await toolbar.openMoreMenu();
+ expect(await toolbar.menu.getItemIconText('Favorite')).toEqual('star');
});
- it('favorite a file - [C217189]', () => {
- dataTable.selectItem(file1NotFav)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 3 }))
- .then(() => apis.user.favorites.isFavorite(file1Id))
- .then(isFavorite => expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`))
+ it('favorite a file - [C217189]', async () => {
+ await dataTable.selectItem(file1NotFav);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 3 });
+ const isFavorite = await apis.user.favorites.isFavorite(file1Id);
+ expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
- .then(() => apis.user.favorites.removeFavoriteById(file1Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
});
- it('favorite a folder - [C280390]', () => {
- dataTable.selectItem(folder1)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 3 }))
- .then(() => apis.user.favorites.isFavorite(folder1Id))
- .then(isFavorite => expect(isFavorite).toBe(true, `${folder1} not marked as favorite`))
+ it('favorite a folder - [C280390]', async () => {
+ await dataTable.selectItem(folder1);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 3 });
+ const isFavorite = await apis.user.favorites.isFavorite(folder1Id);
+ expect(isFavorite).toBe(true, `${folder1} not marked as favorite`);
- .then(() => apis.user.favorites.removeFavoriteById(folder1Id));
+ await apis.user.favorites.removeFavoriteById(folder1Id);
});
- it('unfavorite an item - [C217190]', () => {
- dataTable.selectItem(file3Fav)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 1 }))
- .then(() => apis.user.favorites.isFavorite(file3Id))
- .then(isFavorite => expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`))
+ it('unfavorite an item - [C217190]', async () => {
+ await dataTable.selectItem(file3Fav);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 1 });
+ const isFavorite = await apis.user.favorites.isFavorite(file3Id);
+ expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
});
- it('favorite multiple items - all unfavorite - [C217192]', () => {
- dataTable.selectMultipleItems([ file1NotFav, file2NotFav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 4 }))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file1Id),
- apis.user.favorites.isFavorite(file2Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(true, 'item not marked as favorite');
- expect(resp[1]).toBe(true, 'item not marked as favorite');
- })
+ it('favorite multiple items - all unfavorite - [C217192]', async () => {
+ await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 4 });
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file1Id),
+ apis.user.favorites.isFavorite(file2Id)
+ ]);
+ expect(resp[0]).toBe(true, 'item not marked as favorite');
+ expect(resp[1]).toBe(true, 'item not marked as favorite');
- .then(() => apis.user.favorites.removeFavoriteById(file1Id))
- .then(() => apis.user.favorites.removeFavoriteById(file2Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
+ await apis.user.favorites.removeFavoriteById(file2Id);
});
- it('favorite multiple items - some favorite and some unfavorite - [C217194]', () => {
- dataTable.selectMultipleItems([ file1NotFav, file3Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 3 }))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file1Id),
- apis.user.favorites.isFavorite(file3Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(true, 'item not marked as favorite');
- expect(resp[1]).toBe(true, 'item not marked as favorite');
- })
+ it('favorite multiple items - some favorite and some unfavorite - [C217194]', async () => {
+ await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 3 });
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file1Id),
+ apis.user.favorites.isFavorite(file3Id)
+ ]);
+ expect(resp[0]).toBe(true, 'item not marked as favorite');
+ expect(resp[1]).toBe(true, 'item not marked as favorite');
- .then(() => apis.user.favorites.removeFavoriteById(file1Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
});
- it('unfavorite multiple items - [C217193]', () => {
- dataTable.selectMultipleItems([ file3Fav, file4Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => browser.sleep(2000))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file3Id),
- apis.user.favorites.isFavorite(file4Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(false, 'item marked as favorite');
- expect(resp[1]).toBe(false, 'item marked as favorite');
- })
+ it('unfavorite multiple items - [C217193]', async () => {
+ await dataTable.selectMultipleItems([ file3Fav, file4Fav ])
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await browser.sleep(2000);
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file3Id),
+ apis.user.favorites.isFavorite(file4Id)
+ ]);
+ expect(resp[0]).toBe(false, 'item marked as favorite');
+ expect(resp[1]).toBe(false, 'item marked as favorite');
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id))
- .then(() => apis.user.favorites.addFavoriteById('file', file4Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
+ await apis.user.favorites.addFavoriteById('file', file4Id);
});
});
describe('on Recent Files', () => {
- beforeAll(done => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES)
- .then(() => dataTable.waitForHeader())
- .then(done);
+ beforeAll(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- beforeEach(done => {
- toolbar.closeMoreMenu().then(done);
+ beforeEach(async (done) => {
+ await toolbar.closeMoreMenu();
+ done();
});
- it('favorite a file - [C280352]', () => {
- dataTable.selectItem(file1NotFav)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 3 }))
- .then(() => apis.user.favorites.isFavorite(file1Id))
- .then(isFavorite => expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`))
+ it('favorite a file - [C280352]', async () => {
+ await dataTable.selectItem(file1NotFav);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 3 });
+ const isFavorite = await apis.user.favorites.isFavorite(file1Id);
+ expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
- .then(() => apis.user.favorites.removeFavoriteById(file1Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
});
- it('unfavorite an item - [C280353]', () => {
- dataTable.selectItem(file3Fav)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 1 }))
- .then(() => apis.user.favorites.isFavorite(file3Id))
- .then(isFavorite => expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`))
+ it('unfavorite an item - [C280353]', async () => {
+ await dataTable.selectItem(file3Fav);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 1 });
+ const isFavorite = await apis.user.favorites.isFavorite(file3Id);
+ expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
});
- it('favorite multiple items - all unfavorite - [C280355]', () => {
- dataTable.selectMultipleItems([ file1NotFav, file2NotFav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 4 }))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file1Id),
- apis.user.favorites.isFavorite(file2Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(true, 'item not marked as favorite');
- expect(resp[1]).toBe(true, 'item not marked as favorite');
- })
+ it('favorite multiple items - all unfavorite - [C280355]', async () => {
+ await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 4 });
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file1Id),
+ apis.user.favorites.isFavorite(file2Id)
+ ]);
+ expect(resp[0]).toBe(true, 'item not marked as favorite');
+ expect(resp[1]).toBe(true, 'item not marked as favorite');
- .then(() => apis.user.favorites.removeFavoriteById(file1Id))
- .then(() => apis.user.favorites.removeFavoriteById(file2Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
+ await apis.user.favorites.removeFavoriteById(file2Id);
});
- it('favorite multiple items - some favorite and some unfavorite - [C280357]', () => {
- dataTable.selectMultipleItems([ file1NotFav, file3Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 3 }))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file1Id),
- apis.user.favorites.isFavorite(file3Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(true, 'item not marked as favorite');
- expect(resp[1]).toBe(true, 'item not marked as favorite');
- })
+ it('favorite multiple items - some favorite and some unfavorite - [C280357]', async () => {
+ await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 3 });
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file1Id),
+ apis.user.favorites.isFavorite(file3Id)
+ ]);
+ expect(resp[0]).toBe(true, 'item not marked as favorite');
+ expect(resp[1]).toBe(true, 'item not marked as favorite');
- .then(() => apis.user.favorites.removeFavoriteById(file1Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
});
- it('unfavorite multiple items - [C280356]', () => {
- dataTable.selectMultipleItems([ file3Fav, file4Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => browser.sleep(2000))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file3Id),
- apis.user.favorites.isFavorite(file4Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(false, 'item marked as favorite');
- expect(resp[1]).toBe(false, 'item marked as favorite');
- })
+ it('unfavorite multiple items - [C280356]', async () => {
+ await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await browser.sleep(2000);
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file3Id),
+ apis.user.favorites.isFavorite(file4Id)
+ ]);
+ expect(resp[0]).toBe(false, 'item marked as favorite');
+ expect(resp[1]).toBe(false, 'item marked as favorite');
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id))
- .then(() => apis.user.favorites.addFavoriteById('file', file4Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
+ await apis.user.favorites.addFavoriteById('file', file4Id);
});
});
describe('on Shared Files', () => {
- beforeAll(done => {
- apis.user.shared.shareFilesByIds([ file1Id, file2Id, file3Id, file4Id ])
- .then(() => apis.user.shared.waitForApi({ expect: 4 }))
- .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES))
- .then(() => dataTable.waitForHeader())
- .then(done);
+ beforeAll(async (done) => {
+ await apis.user.shared.shareFilesByIds([ file1Id, file2Id, file3Id, file4Id ]);
+ await apis.user.shared.waitForApi({ expect: 4 });
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- afterEach(done => {
+ afterEach(async (done) => {
// browser.actions().sendKeys(protractor.Key.ESCAPE).perform().then(done);
- browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform().then(done);
+ await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
+ done();
});
- it('favorite a file - [C280362]', () => {
- dataTable.selectItem(file1NotFav)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 3 }))
- .then(() => apis.user.favorites.isFavorite(file1Id))
- .then(isFavorite => expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`))
+ it('favorite a file - [C280362]', async () => {
+ await dataTable.selectItem(file1NotFav)
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 3 });
+ const isFavorite = await apis.user.favorites.isFavorite(file1Id);
+ expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
- .then(() => apis.user.favorites.removeFavoriteById(file1Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
});
- it('unfavorite an item - [C280363]', () => {
- dataTable.selectItem(file3Fav)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 1 }))
- .then(() => apis.user.favorites.isFavorite(file3Id))
- .then(isFavorite => expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`))
+ it('unfavorite an item - [C280363]', async () => {
+ await dataTable.selectItem(file3Fav);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 1 });
+ const isFavorite = await apis.user.favorites.isFavorite(file3Id);
+ expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
});
- it('favorite multiple items - all unfavorite - [C280365]', () => {
- dataTable.selectMultipleItems([ file1NotFav, file2NotFav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 4 }))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file1Id),
- apis.user.favorites.isFavorite(file2Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(true, 'item not marked as favorite');
- expect(resp[1]).toBe(true, 'item not marked as favorite');
- })
+ it('favorite multiple items - all unfavorite - [C280365]', async () => {
+ await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 4 });
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file1Id),
+ apis.user.favorites.isFavorite(file2Id)
+ ]);
+ expect(resp[0]).toBe(true, 'item not marked as favorite');
+ expect(resp[1]).toBe(true, 'item not marked as favorite');
- .then(() => apis.user.favorites.removeFavoriteById(file1Id))
- .then(() => apis.user.favorites.removeFavoriteById(file2Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
+ await apis.user.favorites.removeFavoriteById(file2Id);
});
- it('favorite multiple items - some favorite and some unfavorite - [C280367]', () => {
- dataTable.selectMultipleItems([ file1NotFav, file3Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 3 }))
- .then(() => Promise.all([
+ it('favorite multiple items - some favorite and some unfavorite - [C280367]', async () => {
+ await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 3 });
+ const resp = await Promise.all([
apis.user.favorites.isFavorite(file1Id),
apis.user.favorites.isFavorite(file3Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(true, 'item not marked as favorite');
- expect(resp[1]).toBe(true, 'item not marked as favorite');
- })
+ ]);
+ expect(resp[0]).toBe(true, 'item not marked as favorite');
+ expect(resp[1]).toBe(true, 'item not marked as favorite');
- .then(() => apis.user.favorites.removeFavoriteById(file1Id));
+ await apis.user.favorites.removeFavoriteById(file1Id);
});
- it('unfavorite multiple items - [C280366]', () => {
- dataTable.selectMultipleItems([ file3Fav, file4Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => browser.sleep(2000))
- .then(() => Promise.all([
- apis.user.favorites.isFavorite(file3Id),
- apis.user.favorites.isFavorite(file4Id)
- ]))
- .then(resp => {
- expect(resp[0]).toBe(false, 'item marked as favorite');
- expect(resp[1]).toBe(false, 'item marked as favorite');
- })
+ it('unfavorite multiple items - [C280366]', async () => {
+ await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await browser.sleep(2000);
+ const resp = await Promise.all([
+ apis.user.favorites.isFavorite(file3Id),
+ apis.user.favorites.isFavorite(file4Id)
+ ]);
+ expect(resp[0]).toBe(false, 'item marked as favorite');
+ expect(resp[1]).toBe(false, 'item marked as favorite');
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id))
- .then(() => apis.user.favorites.addFavoriteById('file', file4Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
+ await apis.user.favorites.addFavoriteById('file', file4Id);
});
});
describe('on Favorites', () => {
- beforeAll(done => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES)
- .then(() => dataTable.waitForHeader())
- .then(done);
+ beforeAll(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ await dataTable.waitForHeader();
+ done();
});
- afterEach(done => {
- page.refresh().then(done);
+ afterEach(async (done) => {
+ await page.refresh();
+ done();
});
- it('unfavorite an item - [C280368]', () => {
- dataTable.selectItem(file3Fav)
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => apis.user.favorites.waitForApi({ expect: 1 }))
- .then(() => apis.user.favorites.isFavorite(file3Id))
- .then(isFavorite => {
- expect(isFavorite).toBe(false, 'item is marked as favorite');
- expect(dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'item still displayed');
- })
+ it('unfavorite an item - [C280368]', async () => {
+ await dataTable.selectItem(file3Fav);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await apis.user.favorites.waitForApi({ expect: 1 });
+ const isFavorite = await apis.user.favorites.isFavorite(file3Id);
+ expect(isFavorite).toBe(false, 'item is marked as favorite');
+ expect(await dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'item still displayed');
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
});
- it('unfavorite multiple items - [C280374]', () => {
- dataTable.selectMultipleItems([ file3Fav, file4Fav ])
- .then(() => toolbar.openMoreMenu())
- .then(() => toolbar.menu.clickMenuItem('Favorite'))
- .then(() => browser.sleep(2000))
- .then(() => apis.user.favorites.isFavorite(file3Id))
- .then(resp => {
- expect(resp).toBe(false, 'file3 marked as favorite');
- expect(dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'file3 still displayed');
- })
- .then(() => apis.user.favorites.isFavorite(file4Id))
- .then(resp => {
- expect(resp).toBe(false, 'file4 marked as favorite');
- expect(dataTable.getRowByName(file4Fav).isPresent()).toBe(false, 'file4 still displayed');
- })
+ it('unfavorite multiple items - [C280374]', async () => {
+ await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
+ await toolbar.openMoreMenu();
+ await toolbar.menu.clickMenuItem('Favorite');
+ await browser.sleep(2000);
+ const isFavorite3 = await apis.user.favorites.isFavorite(file3Id);
+ expect(isFavorite3).toBe(false, 'file3 marked as favorite');
+ expect(await dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'file3 still displayed');
+ const isFavorite4 = await apis.user.favorites.isFavorite(file4Id);
+ expect(isFavorite4).toBe(false, 'file4 marked as favorite');
+ expect(await dataTable.getRowByName(file4Fav).isPresent()).toBe(false, 'file4 still displayed');
- .then(() => apis.user.favorites.addFavoriteById('file', file3Id))
- .then(() => apis.user.favorites.addFavoriteById('file', file4Id));
+ await apis.user.favorites.addFavoriteById('file', file3Id);
+ await apis.user.favorites.addFavoriteById('file', file4Id);
});
- it('Favorite action has full star icon for items marked as favorite - [C280371]', () => {
- dataTable.selectItem(file3Fav)
- .then(() => toolbar.openMoreMenu())
- .then(() => expect(toolbar.menu.getItemIconText('Favorite')).toEqual('star'));
+ it('Favorite action has full star icon for items marked as favorite - [C280371]', async () => {
+ await dataTable.selectItem(file3Fav);
+ await toolbar.openMoreMenu();
+ expect(await toolbar.menu.getItemIconText('Favorite')).toEqual('star');
});
});
@@ -435,7 +415,7 @@ describe('Mark items as favorites', () => {
beforeAll(async (done) => {
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
- const docLibId = (await apis.user.sites.getDocLibId(siteName));
+ const docLibId = await apis.user.sites.getDocLibId(siteName);
folderSiteId = (await apis.user.nodes.createFolder(folderSite, docLibId)).entry.id;
fileSiteNotFav1Id = (await apis.user.nodes.createFile(fileSiteNotFav1, folderSiteId)).entry.id;
fileSiteFav1Id = (await apis.user.nodes.createFile(fileSiteFav1, folderSiteId)).entry.id;
@@ -501,7 +481,7 @@ describe('Mark items as favorites', () => {
const listItems1 = await Promise.all([
apis.user.favorites.isFavorite(fileSiteNotFav1Id),
apis.user.favorites.isFavorite(fileSiteNotFav2Id)
- ]);
+ ]);
expect(listItems1[0]).toBe(true, 'item not marked as favorite');
expect(listItems1[1]).toBe(true, 'item not marked as favorite');
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
@@ -516,7 +496,7 @@ describe('Mark items as favorites', () => {
const listItems2 = await Promise.all([
apis.user.favorites.isFavorite(fileSiteFav1Id),
apis.user.favorites.isFavorite(fileSiteFav2Id)
- ]);
+ ]);
expect(listItems2[0]).toBe(false, 'item marked as favorite');
expect(listItems2[1]).toBe(false, 'item marked as favorite');
await apis.user.favorites.addFavoriteById('file', fileSiteFav1Id);
@@ -532,7 +512,7 @@ describe('Mark items as favorites', () => {
const listItems3 = await Promise.all([
apis.user.favorites.isFavorite(fileSiteNotFav1Id),
apis.user.favorites.isFavorite(fileSiteFav1)
- ]);
+ ]);
expect(listItems3[0]).toBe(true, 'item not marked as favorite');
expect(listItems3[1]).toBe(true, 'item not marked as favorite');
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
diff --git a/e2e/suites/actions/permanently-delete.test.ts b/e2e/suites/actions/permanently-delete.test.ts
index f3e740e24..520a0d7bd 100755
--- a/e2e/suites/actions/permanently-delete.test.ts
+++ b/e2e/suites/actions/permanently-delete.test.ts
@@ -88,7 +88,7 @@ describe('Permanently delete from Trash', () => {
const text = await trashPage.getSnackBarMessage();
expect(text).toEqual(`${file1} deleted`);
- expect(dataTable.getRowByName(file1).isPresent()).toBe(false, 'Item was not deleted');
+ expect(await dataTable.getRowByName(file1).isPresent()).toBe(false, 'Item was not deleted');
});
it('delete folder - [C280416]', async () => {
@@ -100,7 +100,7 @@ describe('Permanently delete from Trash', () => {
const text = await trashPage.getSnackBarMessage();
expect(text).toEqual(`${folder1} deleted`);
- expect(dataTable.getRowByName(folder1).isPresent()).toBe(false, 'Item was not deleted');
+ expect(await dataTable.getRowByName(folder1).isPresent()).toBe(false, 'Item was not deleted');
});
it('delete multiple items - [C280417]', async () => {
@@ -112,8 +112,8 @@ describe('Permanently delete from Trash', () => {
const text = await trashPage.getSnackBarMessage();
expect(text).toEqual(`2 items deleted`);
- expect(dataTable.getRowByName(file2).isPresent()).toBe(false, 'Item was not deleted');
- expect(dataTable.getRowByName(folder2).isPresent()).toBe(false, 'Item was not deleted');
+ expect(await dataTable.getRowByName(file2).isPresent()).toBe(false, 'Item was not deleted');
+ expect(await dataTable.getRowByName(folder2).isPresent()).toBe(false, 'Item was not deleted');
});
it('Confirmation dialog UI - [C269113]', async () => {
@@ -137,6 +137,6 @@ describe('Permanently delete from Trash', () => {
expect(await confirmDialog.keepButton.isEnabled()).toBe(true, 'KEEP button is not enabled');
await confirmDialog.clickKeep();
- expect(dataTable.getRowByName(file3).isPresent()).toBe(true, 'Item was deleted');
+ expect(await dataTable.getRowByName(file3).isPresent()).toBe(true, 'Item was deleted');
});
});
diff --git a/e2e/suites/actions/restore.test.ts b/e2e/suites/actions/restore.test.ts
index 5625a5d56..609277564 100755
--- a/e2e/suites/actions/restore.test.ts
+++ b/e2e/suites/actions/restore.test.ts
@@ -42,15 +42,18 @@ describe('Restore from Trash', () => {
const page = new BrowsingPage();
const { dataTable, toolbar } = page;
- beforeAll(done => {
- apis.admin.people
- .createUser({ username })
- .then(() => loginPage.loginWith(username))
- .then(done);
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ await loginPage.loginWith(username);
+ done();
});
- afterAll(done => {
- Promise.all([apis.admin.trashcan.emptyTrash(), logoutPage.load()]).then(done);
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.admin.trashcan.emptyTrash(),
+ logoutPage.load()
+ ]);
+ done();
});
xit('');
@@ -61,97 +64,77 @@ describe('Restore from Trash', () => {
const folder = `folder-${Utils.random()}`;
let folderId;
- beforeAll(done => {
- apis.user.nodes
- .createFile(file)
- .then(resp => (fileId = resp.entry.id))
- .then(() => apis.user.nodes.createFolder(folder).then(resp => (folderId = resp.entry.id)))
- .then(() => apis.user.nodes.deleteNodesById([fileId, folderId], false))
- .then(done);
+ beforeAll(async (done) => {
+ fileId = (await apis.user.nodes.createFile(file)).entry.id;
+ folderId = (await apis.user.nodes.createFolder(folder)).entry.id;
+ await apis.user.nodes.deleteNodesById([fileId, folderId], false);
+ done();
});
- beforeEach(done => {
- page.sidenav
- .navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => dataTable.waitForHeader())
- .then(done);
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.waitForHeader();
+ done();
});
- afterAll(done => {
- apis.user.trashcan.emptyTrash().then(done);
+ afterAll(async (done) => {
+ await apis.user.trashcan.emptyTrash();
+ done();
});
- it('restore file - [C217177]', () => {
- dataTable
- .selectItem(file)
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.getSnackBarMessage())
- .then(text => {
- expect(text).toContain(`${file} restored`);
- expect(text).toContain(`View`);
- expect(dataTable.getRowByName(file).isPresent()).toBe(false, 'Item was not removed from list');
- })
- .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES))
- .then(() => page.dataTable.waitForHeader())
- .then(() => {
- expect(page.dataTable.getRowByName(file).isPresent()).toBe(true, 'Item not displayed in list');
- })
+ it('restore file - [C217177]', async () => {
+ await dataTable.selectItem(file);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ const text = await page.getSnackBarMessage();
+ expect(text).toContain(`${file} restored`);
+ expect(text).toContain(`View`);
+ expect(await dataTable.getRowByName(file).isPresent()).toBe(false, 'Item was not removed from list');
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ expect(await page.dataTable.getRowByName(file).isPresent()).toBe(true, 'Item not displayed in list');
- .then(() => apis.user.nodes.deleteNodeById(fileId, false));
+ await apis.user.nodes.deleteNodeById(fileId, false);
});
- it('restore folder - [C280438]', () => {
- dataTable
- .selectItem(folder)
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.getSnackBarMessage())
- .then(text => {
- expect(text).toContain(`${folder} restored`);
- expect(text).toContain(`View`);
- expect(dataTable.getRowByName(folder).isPresent()).toBe(false, 'Item was not removed from list');
- })
- .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES))
- .then(() => page.dataTable.waitForHeader())
- .then(() => {
- expect(page.dataTable.getRowByName(folder).isPresent()).toBe(true, 'Item not displayed in list');
- })
+ it('restore folder - [C280438]', async () => {
+ await dataTable.selectItem(folder);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ const text = await page.getSnackBarMessage();
+ expect(text).toContain(`${folder} restored`);
+ expect(text).toContain(`View`);
+ expect(await dataTable.getRowByName(folder).isPresent()).toBe(false, 'Item was not removed from list');
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ expect(await page.dataTable.getRowByName(folder).isPresent()).toBe(true, 'Item not displayed in list');
- .then(() => apis.user.nodes.deleteNodeById(folderId, false));
+ await apis.user.nodes.deleteNodeById(folderId, false);
});
- it('restore multiple items - [C217182]', () => {
- dataTable
- .selectMultipleItems([file, folder])
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.getSnackBarMessage())
- .then(text => {
- expect(text).toContain(`Restore successful`);
- expect(text).not.toContain(`View`);
- expect(dataTable.getRowByName(file).isPresent()).toBe(false, 'Item was not removed from list');
- expect(dataTable.getRowByName(folder).isPresent()).toBe(false, 'Item was not removed from list');
- })
- .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES))
- .then(() => page.dataTable.waitForHeader())
- .then(() => {
- expect(page.dataTable.getRowByName(file).isPresent()).toBe(true, 'Item not displayed in list');
- expect(page.dataTable.getRowByName(folder).isPresent()).toBe(true, 'Item not displayed in list');
- })
+ it('restore multiple items - [C217182]', async () => {
+ await dataTable.selectMultipleItems([file, folder]);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ const text = await page.getSnackBarMessage();
+ expect(text).toContain(`Restore successful`);
+ expect(text).not.toContain(`View`);
+ expect(await dataTable.getRowByName(file).isPresent()).toBe(false, 'Item was not removed from list');
+ expect(await dataTable.getRowByName(folder).isPresent()).toBe(false, 'Item was not removed from list');
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ expect(await page.dataTable.getRowByName(file).isPresent()).toBe(true, 'Item not displayed in list');
+ expect(await page.dataTable.getRowByName(folder).isPresent()).toBe(true, 'Item not displayed in list');
- .then(() => apis.user.nodes.deleteNodesById([fileId, folderId], false));
+ await apis.user.nodes.deleteNodesById([fileId, folderId], false);
});
- it('View from notification - [C217181]', () => {
- dataTable
- .selectItem(file)
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.clickSnackBarAction())
- .then(() => page.dataTable.waitForHeader())
- .then(() => {
- expect(page.sidenav.isActiveByLabel('Personal Files')).toBe(true, 'Personal Files sidebar link not active');
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- })
+ it('View from notification - [C217181]', async () => {
+ await dataTable.selectItem(file);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ await page.clickSnackBarAction();
+ await page.dataTable.waitForHeader();
+ expect(await page.sidenav.isActiveByLabel('Personal Files')).toBe(true, 'Personal Files sidebar link not active');
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- .then(() => apis.user.nodes.deleteNodeById(fileId, false));
+ await apis.user.nodes.deleteNodeById(fileId, false);
});
});
@@ -166,49 +149,48 @@ describe('Restore from Trash', () => {
const folder2 = `folder-${Utils.random()}`;
let folder2Id;
- beforeAll(done => {
- apis.user.nodes
- .createFolder(folder1)
- .then(resp => (folder1Id = resp.entry.id))
- .then(() => apis.user.nodes.createFile(file1, folder1Id).then(resp => (file1Id1 = resp.entry.id)))
- .then(() => apis.user.nodes.deleteNodeById(file1Id1, false))
- .then(() => apis.user.nodes.createFile(file1, folder1Id).then(resp => (file1Id2 = resp.entry.id)))
+ beforeAll(async (done) => {
+ folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
+ file1Id1 = (await apis.user.nodes.createFile(file1, folder1Id)).entry.id;
+ await apis.user.nodes.deleteNodeById(file1Id1, false);
+ file1Id2 = (await apis.user.nodes.createFile(file1, folder1Id)).entry.id;
- .then(() => apis.user.nodes.createFolder(folder2).then(resp => (folder2Id = resp.entry.id)))
- .then(() => apis.user.nodes.createFile(file2, folder2Id).then(resp => (file2Id = resp.entry.id)))
- .then(() => apis.user.nodes.deleteNodeById(file2Id, false))
- .then(() => apis.user.nodes.deleteNodeById(folder2Id, false))
+ folder2Id = (await apis.user.nodes.createFolder(folder2)).entry.id;
+ file2Id = (await apis.user.nodes.createFile(file2, folder2Id)).entry.id;
+ await apis.user.nodes.deleteNodeById(file2Id, false);
+ await apis.user.nodes.deleteNodeById(folder2Id, false);
- .then(done);
+ done();
});
- beforeEach(done => {
- page.sidenav
- .navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => dataTable.waitForHeader())
- .then(done);
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.waitForHeader();
+ done();
});
- afterAll(done => {
- Promise.all([apis.user.nodes.deleteNodeById(file1Id2), apis.user.trashcan.emptyTrash()]).then(done);
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.nodes.deleteNodeById(file1Id2),
+ apis.user.trashcan.emptyTrash()
+ ]);
+ done();
});
- it('Restore a file when another file with same name exists on the restore location - [C217178]', () => {
- page.sidenav
- .navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => dataTable.selectItem(file1))
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.getSnackBarMessage())
- .then(text => expect(text).toEqual(`Can't restore, ${file1} already exists`));
+ it('Restore a file when another file with same name exists on the restore location - [C217178]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.selectItem(file1);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ const text = await page.getSnackBarMessage();
+ expect(text).toEqual(`Can't restore, ${file1} already exists`);
});
- it('Restore a file when original location no longer exists - [C217179]', () => {
- page.sidenav
- .navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => dataTable.selectItem(file2))
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.getSnackBarMessage())
- .then(text => expect(text).toEqual(`Can't restore ${file2}, the original location no longer exists`));
+ it('Restore a file when original location no longer exists - [C217179]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.selectItem(file2);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ const text = await page.getSnackBarMessage();
+ expect(text).toEqual(`Can't restore ${file2}, the original location no longer exists`);
});
});
@@ -233,56 +215,55 @@ describe('Restore from Trash', () => {
const file5 = `file5-${Utils.random()}.txt`;
let file5Id;
- beforeAll(done => {
- apis.user.nodes
- .createFolder(folder1)
- .then(resp => (folder1Id = resp.entry.id))
- .then(() => apis.user.nodes.createFile(file1, folder1Id).then(resp => (file1Id = resp.entry.id)))
- .then(() => apis.user.nodes.createFolder(folder2).then(resp => (folder2Id = resp.entry.id)))
- .then(() => apis.user.nodes.createFile(file2, folder2Id).then(resp => (file2Id = resp.entry.id)))
- .then(() => apis.user.nodes.deleteNodeById(file1Id, false))
- .then(() => apis.user.nodes.deleteNodeById(folder1Id, false))
- .then(() => apis.user.nodes.deleteNodeById(file2Id, false))
+ beforeAll(async (done) => {
+ folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
+ file1Id = (await apis.user.nodes.createFile(file1, folder1Id)).entry.id;
+ folder2Id = (await apis.user.nodes.createFolder(folder2)).entry.id;
+ file2Id = (await apis.user.nodes.createFile(file2, folder2Id)).entry.id;
+ await apis.user.nodes.deleteNodeById(file1Id, false);
+ await apis.user.nodes.deleteNodeById(folder1Id, false);
+ await apis.user.nodes.deleteNodeById(file2Id, false);
- .then(() => apis.user.nodes.createFolder(folder3).then(resp => (folder3Id = resp.entry.id)))
- .then(() => apis.user.nodes.createFile(file3, folder3Id).then(resp => (file3Id = resp.entry.id)))
- .then(() => apis.user.nodes.createFile(file4, folder3Id).then(resp => (file4Id = resp.entry.id)))
- .then(() => apis.user.nodes.createFolder(folder4).then(resp => (folder4Id = resp.entry.id)))
- .then(() => apis.user.nodes.createFile(file5, folder4Id).then(resp => (file5Id = resp.entry.id)))
- .then(() => apis.user.nodes.deleteNodeById(file3Id, false))
- .then(() => apis.user.nodes.deleteNodeById(file4Id, false))
- .then(() => apis.user.nodes.deleteNodeById(folder3Id, false))
- .then(() => apis.user.nodes.deleteNodeById(file5Id, false))
+ folder3Id = (await apis.user.nodes.createFolder(folder3)).entry.id;
+ file3Id = (await apis.user.nodes.createFile(file3, folder3Id)).entry.id;
+ file4Id = (await apis.user.nodes.createFile(file4, folder3Id)).entry.id;
+ folder4Id = (await apis.user.nodes.createFolder(folder4)).entry.id;
+ file5Id = (await apis.user.nodes.createFile(file5, folder4Id)).entry.id;
+ await apis.user.nodes.deleteNodeById(file3Id, false);
+ await apis.user.nodes.deleteNodeById(file4Id, false);
+ await apis.user.nodes.deleteNodeById(folder3Id, false);
+ await apis.user.nodes.deleteNodeById(file5Id, false);
- .then(() => loginPage.loginWith(username))
- .then(done);
+ await loginPage.loginWith(username);
+ done();
});
- beforeEach(done => {
- page.sidenav
- .navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => dataTable.waitForHeader())
- .then(done);
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.waitForHeader();
+ done();
});
- afterAll(done => {
- Promise.all([apis.user.trashcan.emptyTrash(), logoutPage.load()]).then(done);
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.trashcan.emptyTrash(),
+ logoutPage.load()
+ ]);
+ done();
});
- it('one failure - [C217183]', () => {
- dataTable
- .selectMultipleItems([file1, file2])
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.getSnackBarMessage())
- .then(text => expect(text).toEqual(`Can't restore ${file1}, the original location no longer exists`));
+ it('one failure - [C217183]', async () => {
+ await dataTable.selectMultipleItems([file1, file2]);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ const text = await page.getSnackBarMessage();
+ expect(text).toEqual(`Can't restore ${file1}, the original location no longer exists`);
});
- it('multiple failures - [C217184]', () => {
- dataTable
- .selectMultipleItems([file3, file4, file5])
- .then(() => toolbar.getButtonByTitleAttribute('Restore').click())
- .then(() => page.getSnackBarMessage())
- .then(text => expect(text).toEqual('2 items not restored because of issues with the restore location'));
+ it('multiple failures - [C217184]', async () => {
+ await dataTable.selectMultipleItems([file3, file4, file5]);
+ await toolbar.getButtonByTitleAttribute('Restore').click();
+ const text = await page.getSnackBarMessage();
+ expect(text).toEqual('2 items not restored because of issues with the restore location');
});
});
});
diff --git a/e2e/suites/actions/single-click.test.ts b/e2e/suites/actions/single-click.test.ts
index c4ac46ace..6098b63f4 100755
--- a/e2e/suites/actions/single-click.test.ts
+++ b/e2e/suites/actions/single-click.test.ts
@@ -31,181 +31,181 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
describe('Single click on item name', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const file1 = `file1-${Utils.random()}.txt`; let file1Id;
- const folder1 = `folder1-${Utils.random()}`; let folder1Id;
+ const file1 = `file1-${Utils.random()}.txt`; let file1Id;
+ const folder1 = `folder1-${Utils.random()}`; let folder1Id;
- const deletedFile1 = `file1-${Utils.random()}.txt`; let deletedFile1Id;
- const deletedFolder1 = `folder1-${Utils.random()}`; let deletedFolder1Id;
+ const deletedFile1 = `file1-${Utils.random()}.txt`; let deletedFile1Id;
+ const deletedFolder1 = `folder1-${Utils.random()}`; let deletedFolder1Id;
- const siteName = `site-${Utils.random()}`;
- const fileSite = `fileSite-${Utils.random()}.txt`;
+ const siteName = `site-${Utils.random()}`;
+ const fileSite = `fileSite-${Utils.random()}.txt`;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { dataTable, breadcrumb } = page;
- const viewer = new Viewer();
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { dataTable, breadcrumb } = page;
+ const viewer = new Viewer();
- beforeAll(async (done) => {
- await apis.admin.people.createUser({ username });
- file1Id = (await apis.user.nodes.createFile(file1)).entry.id;
- folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ file1Id = (await apis.user.nodes.createFile(file1)).entry.id;
+ folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
- deletedFile1Id = (await apis.user.nodes.createFile(deletedFile1)).entry.id;
- deletedFolder1Id = (await apis.user.nodes.createFolder(deletedFolder1)).entry.id;
- await apis.user.nodes.deleteNodeById(deletedFile1Id, false);
- await apis.user.nodes.deleteNodeById(deletedFolder1Id, false);
+ deletedFile1Id = (await apis.user.nodes.createFile(deletedFile1)).entry.id;
+ deletedFolder1Id = (await apis.user.nodes.createFolder(deletedFolder1)).entry.id;
+ await apis.user.nodes.deleteNodeById(deletedFile1Id, false);
+ await apis.user.nodes.deleteNodeById(deletedFolder1Id, false);
- await apis.user.sites.createSite(siteName);
- const docLibId = (await apis.user.sites.getDocLibId(siteName));
- await apis.user.nodes.createFile(fileSite, docLibId);
+ await apis.user.sites.createSite(siteName);
+ const docLibId = (await apis.user.sites.getDocLibId(siteName));
+ await apis.user.nodes.createFile(fileSite, docLibId);
- await apis.user.shared.shareFileById(file1Id);
- await apis.user.shared.waitForApi({ expect: 1 });
+ await apis.user.shared.shareFileById(file1Id);
+ await apis.user.shared.waitForApi({ expect: 1 });
- await apis.user.favorites.addFavoriteById('file', file1Id);
- await apis.user.favorites.addFavoriteById('folder', folder1Id);
- await apis.user.favorites.waitForApi({ expect: 2 });
+ await apis.user.favorites.addFavoriteById('file', file1Id);
+ await apis.user.favorites.addFavoriteById('folder', folder1Id);
+ await apis.user.favorites.waitForApi({ expect: 2 });
- await loginPage.loginWith(username);
- done();
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.sites.deleteSite(siteName),
+ apis.user.nodes.deleteNodeById(folder1Id),
+ apis.user.nodes.deleteNodeById(file1Id),
+ apis.user.trashcan.emptyTrash(),
+ logoutPage.load()
+ ]);
+ done();
+ });
+
+ it('Hyperlink does not appear for items in the Trash - [C284899]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.waitForHeader();
+
+ expect(await dataTable.hasLinkOnName(deletedFile1)).toBe(false, 'Link on name is present');
+ expect(await dataTable.hasLinkOnName(deletedFolder1)).toBe(false, 'Link on name is present');
+ });
+
+ describe('on Personal Files', () => {
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- afterAll(async (done) => {
- await Promise.all([
- apis.user.sites.deleteSite(siteName),
- apis.user.nodes.deleteNodeById(folder1Id),
- apis.user.nodes.deleteNodeById(file1Id),
- apis.user.trashcan.emptyTrash(),
- logoutPage.load()
- ]);
- done();
+ it('Hyperlink appears when mouse over a file/folder - [C280032]', async () => {
+ expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
});
- it('Hyperlink does not appear for items in the Trash - [C284899]', async () => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- await dataTable.waitForHeader();
+ it('File preview opens when clicking the hyperlink - [C280033]', async () => {
+ await dataTable.clickNameLink(file1);
- expect(await dataTable.hasLinkOnName(deletedFile1)).toBe(false, 'Link on name is present');
- expect(await dataTable.hasLinkOnName(deletedFolder1)).toBe(false, 'Link on name is present');
+ expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
+
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
});
- describe('on Personal Files', () => {
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- done();
- });
+ it('Navigate inside the folder when clicking the hyperlink - [C280034]', async () => {
+ await dataTable.clickNameLink(folder1);
- it('Hyperlink appears when mouse over a file/folder - [C280032]', async () => {
- expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
- });
+ expect(await breadcrumb.getCurrentItemName()).toBe(folder1);
+ });
+ });
- it('File preview opens when clicking the hyperlink - [C280033]', async () => {
- await dataTable.clickNameLink(file1);
-
- expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
-
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- });
-
- it('Navigate inside the folder when clicking the hyperlink - [C280034]', async () => {
- await dataTable.clickNameLink(folder1);
-
- expect(await breadcrumb.getCurrentItemName()).toBe(folder1);
- });
+ describe('on File Libraries', () => {
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await dataTable.waitForHeader();
+ done();
});
- describe('on File Libraries', () => {
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Hyperlink appears when mouse over a library - [C284901]', async () => {
- expect(await dataTable.hasLinkOnName(siteName)).toBe(true, 'Link on site name is missing');
- });
-
- it('Navigate inside the library when clicking the hyperlink - [C284902]', async () => {
- await dataTable.clickNameLink(siteName);
-
- expect(await breadcrumb.getCurrentItemName()).toBe(siteName);
- expect(await dataTable.getRowByName(fileSite).isPresent()).toBe(true, `${fileSite} not displayed`);
- });
+ it('Hyperlink appears when mouse over a library - [C284901]', async () => {
+ expect(await dataTable.hasLinkOnName(siteName)).toBe(true, 'Link on site name is missing');
});
- describe('on Shared Files', () => {
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
- await dataTable.waitForHeader();
- done();
- });
+ it('Navigate inside the library when clicking the hyperlink - [C284902]', async () => {
+ await dataTable.clickNameLink(siteName);
- it('Hyperlink appears when mouse over a file - [C284905]', async () => {
- expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
- });
+ expect(await breadcrumb.getCurrentItemName()).toBe(siteName);
+ expect(await dataTable.getRowByName(fileSite).isPresent()).toBe(true, `${fileSite} not displayed`);
+ });
+ });
- it('File preview opens when clicking the hyperlink - [C284906]', async () => {
- await dataTable.clickNameLink(file1);
-
- expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
-
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- });
+ describe('on Shared Files', () => {
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- describe('on Recent Files', () => {
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('Hyperlink appears when mouse over a file - [C284907]', async () => {
- expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
- });
-
- it('File preview opens when clicking the hyperlink - [C284908]', async () => {
- await dataTable.clickNameLink(file1);
-
- expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
-
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- });
+ it('Hyperlink appears when mouse over a file - [C284905]', async () => {
+ expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
});
- describe('on Favorites', () => {
- beforeEach(async (done) => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
- await dataTable.waitForHeader();
- done();
- });
+ it('File preview opens when clicking the hyperlink - [C284906]', async () => {
+ await dataTable.clickNameLink(file1);
- it('Hyperlink appears when mouse over a file/folder - [C284909]', async () => {
- expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
- });
+ expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
- it('File preview opens when clicking the hyperlink - [C284910]', async () => {
- await dataTable.clickNameLink(file1);
-
- expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
-
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- });
-
- it('Navigate inside the folder when clicking the hyperlink - [C284911]', async () => {
- await dataTable.clickNameLink(folder1);
-
- expect(await breadcrumb.getCurrentItemName()).toBe(folder1);
- });
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
});
+ });
+
+ describe('on Recent Files', () => {
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('Hyperlink appears when mouse over a file - [C284907]', async () => {
+ expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
+ });
+
+ it('File preview opens when clicking the hyperlink - [C284908]', async () => {
+ await dataTable.clickNameLink(file1);
+
+ expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
+
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ });
+ });
+
+ describe('on Favorites', () => {
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('Hyperlink appears when mouse over a file/folder - [C284909]', async () => {
+ expect(await dataTable.hasLinkOnName(file1)).toBe(true, 'Link on name is missing');
+ });
+
+ it('File preview opens when clicking the hyperlink - [C284910]', async () => {
+ await dataTable.clickNameLink(file1);
+
+ expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
+
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ });
+
+ it('Navigate inside the folder when clicking the hyperlink - [C284911]', async () => {
+ await dataTable.clickNameLink(folder1);
+
+ expect(await breadcrumb.getCurrentItemName()).toBe(folder1);
+ });
+ });
});
diff --git a/e2e/suites/actions/toolbar-multiple-selection.test.ts b/e2e/suites/actions/toolbar-multiple-selection.test.ts
index c5c4696af..40566eb25 100755
--- a/e2e/suites/actions/toolbar-multiple-selection.test.ts
+++ b/e2e/suites/actions/toolbar-multiple-selection.test.ts
@@ -74,44 +74,28 @@ describe('Toolbar actions - multiple selection : ', () => {
file2Id = (await apis.user.nodes.createFiles([file2])).entry.id;
folder1Id = (await apis.user.nodes.createFolders([folder1])).entry.id;
folder2Id = (await apis.user.nodes.createFolders([folder2])).entry.id;
- fileForDelete1Id = (await apis.user.nodes.createFiles([fileForDelete1]))
- .entry.id;
- fileForDelete2Id = (await apis.user.nodes.createFiles([fileForDelete2]))
- .entry.id;
- folderForDelete1Id = (await apis.user.nodes.createFolders([
- folderForDelete1
- ])).entry.id;
- folderForDelete2Id = (await apis.user.nodes.createFolders([
- folderForDelete2
- ])).entry.id;
+ fileForDelete1Id = (await apis.user.nodes.createFiles([fileForDelete1])).entry.id;
+ fileForDelete2Id = (await apis.user.nodes.createFiles([fileForDelete2])).entry.id;
+ folderForDelete1Id = (await apis.user.nodes.createFolders([folderForDelete1])).entry.id;
+ folderForDelete2Id = (await apis.user.nodes.createFolders([folderForDelete2])).entry.id;
await apis.user.shared.shareFilesByIds([file1Id, file2Id]);
await apis.user.shared.waitForApi({ expect: 2 });
await apis.user.favorites.addFavoritesByIds('file', [file1Id, file2Id]);
- await apis.user.favorites.addFavoritesByIds('folder', [
- folder1Id,
- folder2Id
- ]);
+ await apis.user.favorites.addFavoritesByIds('folder', [folder1Id, folder2Id]);
await apis.user.favorites.waitForApi({ expect: 4 });
- await apis.user.nodes.deleteNodesById(
- [
- fileForDelete1Id,
- fileForDelete2Id,
- folderForDelete1Id,
- folderForDelete2Id
- ],
- false
- );
+ await apis.user.nodes.deleteNodesById([fileForDelete1Id, fileForDelete2Id, folderForDelete1Id, folderForDelete2Id], false);
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
const docLibId = await apis.user.sites.getDocLibId(siteName);
- await apis.user.nodes.createFile(file1InSite, docLibId);
- await apis.user.nodes.createFile(file2InSite, docLibId);
- await apis.user.nodes.createFolder(folder1InSite, docLibId);
- await apis.user.nodes.createFolder(folder2InSite, docLibId);
-
+ await Promise.all([
+ apis.user.nodes.createFile(file1InSite, docLibId),
+ apis.user.nodes.createFile(file2InSite, docLibId),
+ apis.user.nodes.createFolder(folder1InSite, docLibId),
+ apis.user.nodes.createFolder(folder2InSite, docLibId)
+ ]);
await loginPage.loginWith(username);
done();
});
@@ -138,161 +122,70 @@ describe('Toolbar actions - multiple selection : ', () => {
it('Unselect items with single click - [C280458]', async () => {
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
- expect(await dataTable.countSelectedRows()).toEqual(
- 4,
- 'incorrect selected rows number'
- );
+ expect(await dataTable.countSelectedRows()).toEqual(4, 'incorrect selected rows number');
await dataTable.selectItem(file1);
- expect(await dataTable.countSelectedRows()).toEqual(
- 1,
- 'incorrect selected rows number'
- );
+ expect(await dataTable.countSelectedRows()).toEqual(1, 'incorrect selected rows number');
});
it('Select / unselect selected items by CMD+click - [C217110]', async () => {
- await browser
- .actions()
- .sendKeys(protractor.Key.COMMAND)
- .perform();
+ await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
await dataTable.selectItem(file1);
await dataTable.selectItem(file2);
await dataTable.selectItem(folder1);
await dataTable.selectItem(folder2);
- await browser
- .actions()
- .sendKeys(protractor.Key.NULL)
- .perform();
- expect(await dataTable.countSelectedRows()).toEqual(
- 4,
- 'incorrect selected rows number'
- );
- await browser
- .actions()
- .sendKeys(protractor.Key.COMMAND)
- .perform();
+ await browser.actions().sendKeys(protractor.Key.NULL).perform();
+ expect(await dataTable.countSelectedRows()).toEqual(4, 'incorrect selected rows number');
+ await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
await dataTable.selectItem(file1);
await dataTable.selectItem(file2);
- await browser
- .actions()
- .sendKeys(protractor.Key.NULL)
- .perform();
+ await browser.actions().sendKeys(protractor.Key.NULL).perform();
- expect(await dataTable.countSelectedRows()).toEqual(
- 2,
- 'incorrect selected rows number'
- );
+ expect(await dataTable.countSelectedRows()).toEqual(2, 'incorrect selected rows number');
});
it('correct actions appear when multiple files are selected - [C217112]', async () => {
await dataTable.selectMultipleItems([file1, file2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when multiple folders are selected - [C280459]', async () => {
await dataTable.selectMultipleItems([folder1, folder2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
it('correct actions appear when both files and folders are selected - [C280460]', async () => {
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
await toolbar.closeMoreMenu();
});
});
describe('File Libraries', () => {
beforeEach(async done => {
- await browser
- .actions()
- .mouseMove(browser.$('body'), { x: 0, y: 0 })
- .click()
- .perform();
+ await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
await dataTable.clearSelection();
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
await dataTable.waitForHeader();
@@ -303,116 +196,44 @@ describe('Toolbar actions - multiple selection : ', () => {
it('correct actions appear when multiple files are selected - [C280461]', async () => {
await dataTable.selectMultipleItems([file1InSite, file2InSite]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed for selected files'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed for selected files'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed for selected files'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed for selected files');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed for selected files');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
it('correct actions appear when multiple folders are selected - [C280462]', async () => {
await dataTable.selectMultipleItems([folder1InSite, folder2InSite]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
it('correct actions appear when both files and folders are selected - [C280463]', async () => {
- await dataTable.selectMultipleItems([
- file1InSite,
- file2InSite,
- folder1InSite,
- folder2InSite
- ]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ await dataTable.selectMultipleItems([file1InSite, file2InSite, folder1InSite, folder2InSite]);
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
});
describe('Shared Files', () => {
beforeEach(async done => {
- await browser
- .actions()
- .mouseMove(browser.$('body'), { x: 0, y: 0 })
- .click()
- .perform();
+ await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
await dataTable.clearSelection();
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
await dataTable.waitForHeader();
@@ -421,45 +242,20 @@ describe('Toolbar actions - multiple selection : ', () => {
it('correct actions appear when multiple files are selected - [C280467]', async () => {
await dataTable.selectMultipleItems([file1, file2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed for selected files'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed for selected files'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed for selected files');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
});
describe('Recent Files', () => {
beforeEach(async done => {
- await browser
- .actions()
- .mouseMove(browser.$('body'), { x: 0, y: 0 })
- .click()
- .perform();
+ await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
await dataTable.clearSelection();
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
await dataTable.waitForHeader();
@@ -468,45 +264,20 @@ describe('Toolbar actions - multiple selection : ', () => {
it('correct actions appear when multiple files are selected - [C280468]', async () => {
await dataTable.selectMultipleItems([file1, file2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
});
describe('Favorites', () => {
beforeEach(async done => {
- await browser
- .actions()
- .mouseMove(browser.$('body'), { x: 0, y: 0 })
- .click()
- .perform();
+ await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
await dataTable.clearSelection();
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
await dataTable.waitForHeader();
@@ -515,101 +286,38 @@ describe('Toolbar actions - multiple selection : ', () => {
it('correct actions appear when multiple files are selected - [C280469]', async () => {
await dataTable.selectMultipleItems([file1, file2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
it('correct actions appear when multiple folders are selected - [C280470]', async () => {
await dataTable.selectMultipleItems([folder1, folder2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
it('correct actions appear when both files and folders are selected - [C280471]', async () => {
await dataTable.selectMultipleItems([file1, file2, folder1, folder2]);
- expect(await toolbar.isButtonPresent('View')).toBe(
- false,
- 'View is displayed'
- );
- expect(await toolbar.isButtonPresent('Download')).toBe(
- true,
- 'Download is not displayed for selected files'
- );
- expect(await toolbar.isButtonPresent('Edit')).toBe(
- false,
- 'Edit is displayed'
- );
+ expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(
- true,
- `Copy is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Delete')).toBe(
- true,
- `Delete is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Move')).toBe(
- true,
- `Move is not displayed for selected files`
- );
- expect(await menu.isMenuItemPresent('Favorite')).toBe(
- true,
- `Favorite is not displayed for selected files`
- );
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
});
});
@@ -623,43 +331,20 @@ describe('Toolbar actions - multiple selection : ', () => {
it('correct actions appear when multiple files are selected - [C280472]', async () => {
await dataTable.selectMultipleItems([fileForDelete1, fileForDelete2]);
- expect(await toolbar.isButtonPresent('Permanently delete')).toBe(
- true,
- 'Permanently delete is displayed'
- );
- expect(await toolbar.isButtonPresent('Restore')).toBe(
- true,
- 'Restore is not displayed'
- );
+ expect(await toolbar.isButtonPresent('Permanently delete')).toBe(true, 'Permanently delete is displayed');
+ expect(await toolbar.isButtonPresent('Restore')).toBe(true, 'Restore is not displayed');
});
it('correct actions appear when multiple folders are selected - [C280473]', async () => {
await dataTable.selectMultipleItems([folderForDelete1, folderForDelete2]);
- expect(await toolbar.isButtonPresent('Permanently delete')).toBe(
- true,
- 'Permanently delete is displayed'
- );
- expect(await toolbar.isButtonPresent('Restore')).toBe(
- true,
- 'Restore is not displayed'
- );
+ expect(await toolbar.isButtonPresent('Permanently delete')).toBe(true, 'Permanently delete is displayed');
+ expect(await toolbar.isButtonPresent('Restore')).toBe(true, 'Restore is not displayed');
});
it('correct actions appear when both files and folders are selected - [C280474]', async () => {
- await dataTable.selectMultipleItems([
- fileForDelete1,
- fileForDelete2,
- folderForDelete1,
- folderForDelete2
- ]);
- expect(await toolbar.isButtonPresent('Permanently delete')).toBe(
- true,
- 'Permanently delete is displayed'
- );
- expect(await toolbar.isButtonPresent('Restore')).toBe(
- true,
- 'Restore is not displayed'
- );
+ await dataTable.selectMultipleItems([fileForDelete1, fileForDelete2, folderForDelete1, folderForDelete2]);
+ expect(await toolbar.isButtonPresent('Permanently delete')).toBe(true, 'Permanently delete is displayed');
+ expect(await toolbar.isButtonPresent('Restore')).toBe(true, 'Restore is not displayed');
});
});
});
diff --git a/e2e/suites/actions/toolbar-single-selection.test.ts b/e2e/suites/actions/toolbar-single-selection.test.ts
index 89591cdcc..21fa74962 100755
--- a/e2e/suites/actions/toolbar-single-selection.test.ts
+++ b/e2e/suites/actions/toolbar-single-selection.test.ts
@@ -30,289 +30,288 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
describe('Toolbar actions - single selection : ', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const fileUser = `fileUser-${Utils.random()}.txt`; let fileUserId;
- const folderUser = `folderUser-${Utils.random()}`; let folderUserId;
- const fileForDelete = `fileForDelete-${Utils.random()}.txt`; let fileForDeleteId;
- const folderForDelete = `folderForDelete-${Utils.random()}`; let folderForDeleteId;
+ const fileUser = `fileUser-${Utils.random()}.txt`; let fileUserId;
+ const folderUser = `folderUser-${Utils.random()}`; let folderUserId;
+ const fileForDelete = `fileForDelete-${Utils.random()}.txt`; let fileForDeleteId;
+ const folderForDelete = `folderForDelete-${Utils.random()}`; let folderForDeleteId;
- const siteName = `site-${Utils.random()}`;
- const fileInSite = `fileAdmin-${Utils.random()}.txt`;
- const folderInSite = `folderAdmin-${Utils.random()}`;
+ const siteName = `site-${Utils.random()}`;
+ const fileInSite = `fileAdmin-${Utils.random()}.txt`;
+ const folderInSite = `folderAdmin-${Utils.random()}`;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { dataTable, toolbar } = page;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { dataTable, toolbar } = page;
- beforeAll(async (done) => {
- await apis.admin.people.createUser({ username });
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
- fileUserId = (await apis.user.nodes.createFile(fileUser)).entry.id;
- fileForDeleteId = (await apis.user.nodes.createFile(fileForDelete)).entry.id;
- folderForDeleteId = (await apis.user.nodes.createFolder(folderForDelete)).entry.id;
- folderUserId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
+ fileUserId = (await apis.user.nodes.createFile(fileUser)).entry.id;
+ fileForDeleteId = (await apis.user.nodes.createFile(fileForDelete)).entry.id;
+ folderForDeleteId = (await apis.user.nodes.createFolder(folderForDelete)).entry.id;
+ folderUserId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
- await apis.user.shared.shareFileById(fileUserId);
- await apis.user.shared.waitForApi({ expect: 1 });
+ await apis.user.shared.shareFileById(fileUserId);
+ await apis.user.shared.waitForApi({ expect: 1 });
- await apis.user.favorites.addFavoriteById('file', fileUserId);
- await apis.user.favorites.addFavoriteById('folder', folderUserId);
- await apis.user.favorites.waitForApi({ expect: 2 });
+ await apis.user.favorites.addFavoriteById('file', fileUserId);
+ await apis.user.favorites.addFavoriteById('folder', folderUserId);
+ await apis.user.favorites.waitForApi({ expect: 2 });
- await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
- const docLibId = await apis.user.sites.getDocLibId(siteName);
+ await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
+ const docLibId = await apis.user.sites.getDocLibId(siteName);
- await apis.user.nodes.createFile(fileInSite, docLibId);
- await apis.user.nodes.createFolder(folderInSite, docLibId);
+ await apis.user.nodes.createFile(fileInSite, docLibId);
+ await apis.user.nodes.createFolder(folderInSite, docLibId);
- await apis.user.nodes.deleteNodeById(fileForDeleteId, false);
- await apis.user.nodes.deleteNodeById(folderForDeleteId, false);
+ await apis.user.nodes.deleteNodeById(fileForDeleteId, false);
+ await apis.user.nodes.deleteNodeById(folderForDeleteId, false);
- await loginPage.loginWith(username);
- done();
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.nodes.deleteNodeById(fileUserId),
+ apis.user.nodes.deleteNodeById(folderUserId),
+ apis.user.sites.deleteSite(siteName),
+ apis.user.trashcan.emptyTrash(),
+ logoutPage.load()
+ ]);
+ done();
+ });
+
+ xit('');
+
+ describe('General tests', () => {
+ it('actions not displayed for top level of File Libraries - [C213135]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await dataTable.waitForHeader();
+ await dataTable.selectItem(siteName);
+ expect(await toolbar.isEmpty()).toBe(true, 'toolbar not empty');
});
- afterAll(async (done) => {
- await Promise.all([
- apis.user.nodes.deleteNodeById(fileUserId),
- apis.user.nodes.deleteNodeById(folderUserId),
- apis.user.sites.deleteSite(siteName),
- apis.user.trashcan.emptyTrash(),
- logoutPage.load()
- ]);
- done();
+ it('selected row is marked with a check circle icon - [C213134]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ await dataTable.selectItem(fileUser);
+ expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(true, 'check mark missing');
+ });
+ });
+
+ describe('Personal Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await dataTable.clearSelection();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
});
- xit('');
-
- describe('General tests', () => {
- it('actions not displayed for top level of File Libraries - [C213135]', async () => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
- await dataTable.waitForHeader();
- await dataTable.selectItem(siteName);
- expect(await toolbar.isEmpty()).toBe(true, 'toolbar not empty');
- });
-
- it('selected row is marked with a check circle icon - [C213134]', async () => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- await dataTable.selectItem(fileUser);
- expect(await dataTable.hasCheckMarkIcon(fileUser)).toBe(true, 'check mark missing');
- });
+ it('actions are not displayed when no item is selected - [C213120]', async () => {
+ expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
- describe('Personal Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await dataTable.clearSelection();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('actions are not displayed when no item is selected - [C213120]', async () => {
- expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
- });
-
- it('correct actions appear when a file is selected - [C213122]', async () => {
- await dataTable.selectItem(fileUser);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- await toolbar.closeMoreMenu();
- });
-
- it('correct actions appear when a folder is selected - [C213123]', async () => {
- await dataTable.selectItem(folderUser);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
- expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
- await toolbar.closeMoreMenu();
- });
+ it('correct actions appear when a file is selected - [C213122]', async () => {
+ await dataTable.selectItem(fileUser);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ await toolbar.closeMoreMenu();
});
- describe('File Libraries', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
- await dataTable.waitForHeader();
- await dataTable.doubleClickOnRowByName(siteName);
- await dataTable.waitForHeader();
- done();
- });
+ it('correct actions appear when a folder is selected - [C213123]', async () => {
+ await dataTable.selectItem(folderUser);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
+ await toolbar.closeMoreMenu();
+ });
+ });
- it('actions are not displayed when no item is selected - [C280439]', async () => {
- expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
- });
-
- it('correct actions appear when a file is selected - [C280440]', async () => {
- await dataTable.selectItem(fileInSite);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileInSite}`);
- expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileInSite}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileInSite}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileInSite}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileInSite}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileInSite}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileInSite}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileInSite}`);
- await toolbar.closeMoreMenu();
- });
-
- it('correct actions appear when a folder is selected - [C280441]', async () => {
- await dataTable.selectItem(folderInSite);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderInSite}`);
- expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderInSite}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderInSite}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderInSite}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderInSite}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderInSite}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderInSite}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderInSite}`);
- await toolbar.closeMoreMenu();
- });
+ describe('File Libraries', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await dataTable.waitForHeader();
+ await dataTable.doubleClickOnRowByName(siteName);
+ await dataTable.waitForHeader();
+ done();
});
- describe('Shared Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
- await page.dataTable.waitForHeader();
- done();
- });
-
- it('actions are not displayed when no item is selected - [C280445]', async () => {
- expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
- });
-
- it('correct actions appear when a file is selected - [C286265]', async () => {
- await page.dataTable.selectItem(fileUser);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- await toolbar.closeMoreMenu();
- });
-
+ it('actions are not displayed when no item is selected - [C280439]', async () => {
+ expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
- describe('Recent Files', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
- await dataTable.waitForHeader();
- done();
- });
-
- it('actions are not displayed when no item is selected - [C280447]', async () => {
- expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
- });
-
- it('correct actions appear when a file is selected - [C280448]', async () => {
- await dataTable.selectItem(fileUser);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- await toolbar.closeMoreMenu();
- });
+ it('correct actions appear when a file is selected - [C280440]', async () => {
+ await dataTable.selectItem(fileInSite);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileInSite}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileInSite}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileInSite}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileInSite}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileInSite}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileInSite}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileInSite}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileInSite}`);
+ await toolbar.closeMoreMenu();
});
- describe('Favorites', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
- await dataTable.waitForHeader();
- done();
- });
+ it('correct actions appear when a folder is selected - [C280441]', async () => {
+ await dataTable.selectItem(folderInSite);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderInSite}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderInSite}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderInSite}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderInSite}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderInSite}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderInSite}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderInSite}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderInSite}`);
+ await toolbar.closeMoreMenu();
+ });
+ });
- it('actions are not displayed when no item is selected - [C280449]', async () => {
- expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
- });
-
- it('correct actions appear when a file is selected - [C280450]', async () => {
- await dataTable.selectItem(fileUser);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
- await toolbar.closeMoreMenu();
- });
-
- it('correct actions appear when a folder is selected - [C280451]', async () => {
- await dataTable.selectItem(folderUser);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
- expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
- expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
- expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
- const menu = await toolbar.openMoreMenu();
- expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
- expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
- expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
- expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
- await toolbar.closeMoreMenu();
- });
+ describe('Shared Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ await page.dataTable.waitForHeader();
+ done();
});
- describe('Trash', () => {
- beforeEach(async (done) => {
- await browser.actions().sendKeys(protractor.Key.ESCAPE);
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
- await dataTable.waitForHeader();
- done();
- });
-
- it('actions are not displayed when no item is selected - [C280452]', async () => {
- expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
- });
-
- it('correct actions appear when a file is selected - [C280453]', async () => {
- await dataTable.selectItem(fileForDelete);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileForDelete}`);
- expect(await toolbar.isButtonPresent('Permanently delete')).toBe(true, `Permanently delete is not displayed for file`);
- expect(await toolbar.isButtonPresent('Restore')).toBe(true, `Restore is not displayed for file`);
- });
-
- it('correct actions appear when a folder is selected - [C280454]', async () => {
- await dataTable.selectItem(folderForDelete);
- expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderForDelete}`);
- expect(await toolbar.isButtonPresent('Permanently delete')).toBe(true, `Permanently delete is displayed for folder`);
- expect(await toolbar.isButtonPresent('Restore')).toBe(true, `Restore is not enabled for folder`);
- });
+ it('actions are not displayed when no item is selected - [C280445]', async () => {
+ expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
});
+
+ it('correct actions appear when a file is selected - [C286265]', async () => {
+ await page.dataTable.selectItem(fileUser);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ await toolbar.closeMoreMenu();
+ });
+ });
+
+ describe('Recent Files', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('actions are not displayed when no item is selected - [C280447]', async () => {
+ expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
+ });
+
+ it('correct actions appear when a file is selected - [C280448]', async () => {
+ await dataTable.selectItem(fileUser);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ await toolbar.closeMoreMenu();
+ });
+ });
+
+ describe('Favorites', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('actions are not displayed when no item is selected - [C280449]', async () => {
+ expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
+ });
+
+ it('correct actions appear when a file is selected - [C280450]', async () => {
+ await dataTable.selectItem(fileUser);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
+ await toolbar.closeMoreMenu();
+ });
+
+ it('correct actions appear when a folder is selected - [C280451]', async () => {
+ await dataTable.selectItem(folderUser);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderUser}`);
+ expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
+ expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
+ expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
+ const menu = await toolbar.openMoreMenu();
+ expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
+ expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
+ expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
+ expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
+ await toolbar.closeMoreMenu();
+ });
+ });
+
+ describe('Trash', () => {
+ beforeEach(async (done) => {
+ await browser.actions().sendKeys(protractor.Key.ESCAPE);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await dataTable.waitForHeader();
+ done();
+ });
+
+ it('actions are not displayed when no item is selected - [C280452]', async () => {
+ expect(await toolbar.isEmpty()).toBe(true, `actions displayed though nothing selected`);
+ });
+
+ it('correct actions appear when a file is selected - [C280453]', async () => {
+ await dataTable.selectItem(fileForDelete);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${fileForDelete}`);
+ expect(await toolbar.isButtonPresent('Permanently delete')).toBe(true, `Permanently delete is not displayed for file`);
+ expect(await toolbar.isButtonPresent('Restore')).toBe(true, `Restore is not displayed for file`);
+ });
+
+ it('correct actions appear when a folder is selected - [C280454]', async () => {
+ await dataTable.selectItem(folderForDelete);
+ expect(await toolbar.isEmpty()).toBe(false, `actions not displayed for ${folderForDelete}`);
+ expect(await toolbar.isButtonPresent('Permanently delete')).toBe(true, `Permanently delete is displayed for folder`);
+ expect(await toolbar.isButtonPresent('Restore')).toBe(true, `Restore is not enabled for folder`);
+ });
+ });
});
diff --git a/e2e/suites/actions/upload-file.test.ts b/e2e/suites/actions/upload-file.test.ts
index b12b870c1..3b2e4f8bb 100755
--- a/e2e/suites/actions/upload-file.test.ts
+++ b/e2e/suites/actions/upload-file.test.ts
@@ -30,45 +30,45 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
describe('Upload files', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const folder1 = `folder1-${Utils.random()}`; let folder1Id;
+ const folder1 = `folder1-${Utils.random()}`; let folder1Id;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { dataTable } = page;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { dataTable } = page;
- beforeAll(done => {
- apis.admin.people.createUser({ username })
- .then(() => apis.user.nodes.createFolder(folder1).then(resp => folder1Id = resp.entry.id))
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ folder1Id = (await apis.user.nodes.createFolder(folder1)).entry.id;
- .then(() => loginPage.loginWith(username))
- .then(done);
- });
+ await loginPage.loginWith(username);
+ done();
+ });
- beforeEach(done => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => dataTable.waitForHeader())
- .then(done);
- });
+ beforeEach(async (done) => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await dataTable.waitForHeader();
+ done();
+ });
- afterAll(done => {
- Promise.all([
- // apis.user.nodes.deleteNodeById(folder1Id),
- logoutPage.load()
- ])
- .then(done);
- });
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.nodes.deleteNodeById(folder1Id),
+ logoutPage.load()
+ ]);
+ done();
+ });
- it('Upload a file', () => {
- dataTable.doubleClickOnRowByName(folder1)
- .then(() => page.sidenav.openNewMenu())
- .then(() => page.sidenav.menu.uploadFile().sendKeys(`${__dirname}/create-folder.test.ts`));
- });
+ it('Upload a file', async () => {
+ await dataTable.doubleClickOnRowByName(folder1);
+ await page.sidenav.openNewMenu();
+ await page.sidenav.menu.uploadFile().sendKeys(`${__dirname}/create-folder.test.ts`);
+ });
});
diff --git a/e2e/suites/application/general.test.ts b/e2e/suites/application/general.test.ts
index ccced7d09..a91a1eac1 100644
--- a/e2e/suites/application/general.test.ts
+++ b/e2e/suites/application/general.test.ts
@@ -30,56 +30,44 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { Utils } from '../../utilities/utils';
describe('General', () => {
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const createDialog = new CreateOrEditFolderDialog();
- const adminApi = new RepoClient();
- const { nodes: nodesApi, authentication: authApi } = adminApi;
- const folder = `folder-${Utils.random()}`;
- let folderId;
- xit('');
-
- describe('on session expire', () => {
- beforeAll(async () => {
- folderId = (await nodesApi.createFolder(folder)).entry.id;
- });
-
- afterAll(async () => {
- await nodesApi.deleteNodeById(folderId);
- await logoutPage.load();
- });
-
- it('should redirect user to login page' , async () => {
- await loginPage.loginWithAdmin();
-
- await page.sidenav.openCreateDialog();
- await createDialog.waitForDialogToOpen();
- await createDialog.enterName(folder);
-
- await authApi.logout();
-
- await createDialog.clickCreate();
- expect(await browser.getTitle()).toContain('Sign in');
- });
-
- it('should close opened dialogs', async () => {
- await loginPage.loginWithAdmin();
-
- await page.sidenav.openCreateDialog();
- await createDialog.waitForDialogToOpen();
- await createDialog.enterName(folder);
-
- await authApi.logout();
-
- await createDialog.clickCreate();
- const message = await page.getSnackBarMessage();
- expect(message).toEqual('The action was unsuccessful. Try again or contact your IT Team.');
-
- await createDialog.waitForDialogToClose();
- expect(createDialog.component.isPresent()).not.toBe(true, 'dialog is present');
- });
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const createDialog = new CreateOrEditFolderDialog();
+ const adminApi = new RepoClient();
+ const { nodes: nodesApi, authentication: authApi } = adminApi;
+ const folder = `folder-${Utils.random()}`;
+ let folderId;
+ xit('');
+ describe('on session expire', () => {
+ beforeAll(async (done) => {
+ folderId = (await nodesApi.createFolder(folder)).entry.id;
+ done();
});
+ afterAll(async (done) => {
+ await nodesApi.deleteNodeById(folderId);
+ await logoutPage.load();
+ done();
+ });
+
+ it('should close opened dialogs - [C286473]', async () => {
+ await loginPage.loginWithAdmin();
+
+ await page.sidenav.openCreateDialog();
+ await createDialog.waitForDialogToOpen();
+ await createDialog.enterName(folder);
+
+ await authApi.logout();
+
+ await createDialog.clickCreate();
+ expect(await browser.getTitle()).toContain('Sign in');
+ const message = await page.getSnackBarMessage();
+ expect(message).toEqual('The action was unsuccessful. Try again or contact your IT Team.');
+
+ await createDialog.waitForDialogToClose();
+ expect(createDialog.component.isPresent()).not.toBe(true, 'dialog is present');
+ });
+ });
});
diff --git a/e2e/suites/application/page-titles.test.ts b/e2e/suites/application/page-titles.test.ts
index b477e0e5a..cbe11c01f 100755
--- a/e2e/suites/application/page-titles.test.ts
+++ b/e2e/suites/application/page-titles.test.ts
@@ -32,148 +32,109 @@ import { Utils } from '../../utilities/utils';
describe('Page titles', () => {
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const adminApi = new RepoClient();
- const { nodes: nodesApi } = adminApi;
- const file = `file-${Utils.random()}.txt`; let fileId;
- const header = page.header;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const adminApi = new RepoClient();
+ const { nodes: nodesApi } = adminApi;
+ const file = `file-${Utils.random()}.txt`; let fileId;
+ const header = page.header;
- xit('');
+ xit('');
- describe('on Login / Logout pages', () => {
- it('on Login page - [C217155]', () => {
- loginPage.load()
- .then(() => {
- expect(browser.getTitle()).toContain('Sign in');
- });
- });
-
- it('after logout - [C217156]', () => {
- loginPage.loginWithAdmin()
- .then(() => page.signOut())
- .then(() => {
- expect(browser.getTitle()).toContain('Sign in');
- });
- });
-
- it('when pressing Back after Logout - [C280414]', () => {
- loginPage.loginWithAdmin()
- .then(() => page.signOut())
- .then(() => browser.navigate().back())
- .then(() => {
- expect(browser.getTitle()).toContain('Sign in');
- });
- });
+ describe('on Login / Logout pages', () => {
+ it('on Login page - [C217155]', async () => {
+ await loginPage.load();
+ expect(await browser.getTitle()).toContain('Sign in');
});
- describe('on list views', () => {
- beforeAll(done => {
- loginPage.loginWithAdmin().then(done);
- });
-
- afterAll(done => {
- logoutPage.load()
- .then(done);
- });
-
- it('Personal Files page - [C217157]', () => {
- const label = SIDEBAR_LABELS.PERSONAL_FILES;
-
- page.sidenav.navigateToLinkByLabel(label)
- .then(() => {
- expect(browser.getTitle()).toContain(label);
- });
- });
-
- it('File Libraries page - [C217158]', () => {
- const label = SIDEBAR_LABELS.FILE_LIBRARIES;
-
- page.sidenav.navigateToLinkByLabel(label)
- .then(() => {
- expect(browser.getTitle()).toContain(label);
- });
- });
-
- it('Shared Files page - [C217159]', () => {
- const label = SIDEBAR_LABELS.SHARED_FILES;
-
- page.sidenav.navigateToLinkByLabel(label)
- .then(() => {
- expect(browser.getTitle()).toContain(label);
- });
- });
-
- it('Recent Files page - [C217160]', () => {
- const label = SIDEBAR_LABELS.RECENT_FILES;
-
- page.sidenav.navigateToLinkByLabel(label)
- .then(() => {
- expect(browser.getTitle()).toContain(label);
- });
- });
-
- it('Favorites page - [C217161]', () => {
- const label = SIDEBAR_LABELS.FAVORITES;
-
- page.sidenav.navigateToLinkByLabel(label)
- .then(() => {
- expect(browser.getTitle()).toContain(label);
- });
- });
-
- it('Trash page - [C217162]', () => {
- const label = SIDEBAR_LABELS.TRASH;
-
- page.sidenav.navigateToLinkByLabel(label)
- .then(() => {
- expect(browser.getTitle()).toContain(label);
- });
- });
-
+ it('after logout - [C217156]', async () => {
+ await loginPage.loginWithAdmin();
+ await page.signOut();
+ expect(await browser.getTitle()).toContain('Sign in');
});
- describe('on File Viewer', () => {
- beforeAll( async (done) => {
- fileId = (await nodesApi.createFile(file)).entry.id;
- await loginPage.loginWithAdmin();
- done();
- });
+ it('when pressing Back after Logout - [C280414]', async () => {
+ await loginPage.loginWithAdmin();
+ await page.signOut();
+ await browser.navigate().back();
+ expect(await browser.getTitle()).toContain('Sign in');
+ });
+ });
- afterAll( async (done) => {
- await logoutPage.load();
- await adminApi.nodes.deleteNodeById(fileId);
- done();
- });
-
- it('File Preview page - [C280415]', async () => {
- await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
- await page.dataTable.waitForHeader();
- await page.dataTable.doubleClickOnRowByName(file);
- expect(await browser.getTitle()).toContain(PAGE_TITLES.VIEWER);
- });
+ describe('on app pages', () => {
+ beforeAll(async (done) => {
+ fileId = (await nodesApi.createFile(file)).entry.id;
+ await loginPage.loginWithAdmin();
+ done();
});
- describe ('on Search query', () => {
- beforeAll( async (done) => {
- await loginPage.loginWithAdmin();
- done();
- });
-
- afterAll( async (done) => {
- await logoutPage.load();
- done();
- });
-
- it('Search Results page - [C280413]', async () => {
- await header.waitForSearchButton();
- await header.searchButton.click();
- await page.dataTable.waitForHeader();
- await header.waitForSearchBar();
- await header.searchForText(file);
- expect(await browser.getTitle()).toContain(PAGE_TITLES.SEARCH);
- });
+ afterAll(async (done) => {
+ await Promise.all([
+ logoutPage.load(),
+ adminApi.nodes.deleteNodeById(fileId)
+ ]);
+ done();
});
+
+ it('Personal Files page - [C217157]', async () => {
+ const label = SIDEBAR_LABELS.PERSONAL_FILES;
+
+ await page.sidenav.navigateToLinkByLabel(label);
+ expect(await browser.getTitle()).toContain(label);
+ });
+
+ it('File Libraries page - [C217158]', async () => {
+ const label = SIDEBAR_LABELS.FILE_LIBRARIES;
+
+ await page.sidenav.navigateToLinkByLabel(label);
+ expect(await browser.getTitle()).toContain(label);
+ });
+
+ it('Shared Files page - [C217159]', async () => {
+ const label = SIDEBAR_LABELS.SHARED_FILES;
+
+ await page.sidenav.navigateToLinkByLabel(label);
+ expect(await browser.getTitle()).toContain(label);
+ });
+
+ it('Recent Files page - [C217160]', async () => {
+ const label = SIDEBAR_LABELS.RECENT_FILES;
+
+ await page.sidenav.navigateToLinkByLabel(label);
+ expect(await browser.getTitle()).toContain(label);
+ });
+
+ it('Favorites page - [C217161]', async () => {
+ const label = SIDEBAR_LABELS.FAVORITES;
+
+ await page.sidenav.navigateToLinkByLabel(label);
+ expect(await browser.getTitle()).toContain(label);
+ });
+
+ it('Trash page - [C217162]', async () => {
+ const label = SIDEBAR_LABELS.TRASH;
+
+ await page.sidenav.navigateToLinkByLabel(label);
+ expect(await browser.getTitle()).toContain(label);
+ });
+
+ it('File Preview page - [C280415]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ await page.dataTable.doubleClickOnRowByName(file);
+ expect(await browser.getTitle()).toContain(PAGE_TITLES.VIEWER);
+ await Utils.pressEscape();
+ });
+
+ it('Search Results page - [C280413]', async () => {
+ await header.waitForSearchButton();
+ await header.searchButton.click();
+ await page.dataTable.waitForHeader();
+ await header.waitForSearchBar();
+ await header.searchForText(file);
+ expect(await browser.getTitle()).toContain(PAGE_TITLES.SEARCH);
+ });
+ });
});
diff --git a/e2e/suites/authentication/login.test.ts b/e2e/suites/authentication/login.test.ts
index 3e0d31c72..ca8e17d82 100755
--- a/e2e/suites/authentication/login.test.ts
+++ b/e2e/suites/authentication/login.test.ts
@@ -31,203 +31,173 @@ import { Utils } from '../../utilities/utils';
import { RepoClient } from '../../utilities/repo-client/repo-client';
describe('Login', () => {
- const peopleApi = new RepoClient().people;
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
+ const peopleApi = new RepoClient().people;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ /* cspell:disable-next-line */
+ const testUser = `user-${Utils.random()}@alfness`;
+
+ const russianUser = {
/* cspell:disable-next-line */
- const testUser = `user-${Utils.random()}@alfness`;
+ username: `пользвате${Utils.random()}`,
+ password: '密碼中國'
+ };
- const russianUser = {
- /* cspell:disable-next-line */
- username: `пользвате${Utils.random()}`,
- password: '密碼中國'
- };
+ const johnDoe = {
+ username: `user-${Utils.random()}`,
+ get password() { return this.username; },
+ firstName: 'John',
+ lastName: 'Doe'
+ };
- const johnDoe = {
- username: `user-${Utils.random()}`,
- get password() { return this.username; },
- firstName: 'John',
- lastName: 'Doe'
- };
+ const disabledUser = `user-${Utils.random()}`;
+ const testUser2 = {
+ username: `user-${Utils.random()}`,
+ password: 'user2 password'
+ };
+ const newPassword = 'new password';
- const disabledUser = `user-${Utils.random()}`;
- const testUser2 = {
- username: `user-${Utils.random()}`,
- password: 'user2 password'
- };
- const newPassword = 'new password';
+ beforeAll(async (done) => {
+ await Promise.all([
+ peopleApi.createUser({ username: testUser }),
+ peopleApi.createUser(russianUser),
+ peopleApi.createUser(johnDoe),
+ peopleApi.createUser({ username: disabledUser }),
+ peopleApi.createUser(testUser2)
+ ]);
+ await peopleApi.disableUser(disabledUser);
+ done();
+ });
- beforeAll(done => {
- Promise
- .all([
- peopleApi.createUser({ username: testUser }),
- peopleApi.createUser(russianUser),
- peopleApi.createUser(johnDoe),
- peopleApi.createUser({ username: disabledUser })
- .then(() => peopleApi.disableUser(disabledUser)),
- peopleApi.createUser(testUser2)
- ])
- .then(done);
+ afterEach(async (done) => {
+ await logoutPage.load();
+ await Utils.clearLocalStorage();
+ done();
+ });
+
+ xit('');
+
+ describe('general tests', () => {
+ beforeEach(async (done) => {
+ await loginPage.load();
+ done();
});
- afterEach(done => {
- logoutPage.load()
- .then(() => Utils.clearLocalStorage())
- .then(done);
+ it('login page layout - [C213089]', async () => {
+ expect(await loginPage.login.usernameInput.isEnabled()).toBe(true, 'username input is not enabled');
+ expect(await loginPage.login.passwordInput.isEnabled()).toBe(true, 'password input is not enabled');
+ expect(await loginPage.login.submitButton.isEnabled()).toBe(false, 'SIGN IN button is enabled');
+ expect(await loginPage.login.getPasswordVisibility()).toBe(false, 'Password is not hidden by default');
});
- xit('');
+ it('change password visibility - [C213091]', async () => {
+ await loginPage.login.enterPassword('some password');
+ expect(await loginPage.login.isPasswordShown()).toBe(false, 'password is visible');
+ await loginPage.login.passwordVisibility.click();
+ expect(await loginPage.login.getPasswordVisibility()).toBe(true, 'Password visibility not changed');
+ expect(await loginPage.login.isPasswordShown()).toBe(true, 'password is not visible');
+ });
+ });
- describe('general tests', () => {
- beforeEach(done => {
- loginPage.load().then(done);
- });
+ describe('with valid credentials', () => {
+ it('navigate to "Personal Files" - [C213092]', async () => {
+ const { username } = johnDoe;
- it('login page layout - [C213089]', () => {
- expect(loginPage.login.usernameInput.isEnabled()).toBe(true, 'username input is not enabled');
- expect(loginPage.login.passwordInput.isEnabled()).toBe(true, 'password input is not enabled');
- expect(loginPage.login.submitButton.isEnabled()).toBe(false, 'SIGN IN button is enabled');
- expect(loginPage.login.getPasswordVisibility()).toBe(false, 'Password is not hidden by default');
- });
-
- it('change password visibility - [C213091]', () => {
- loginPage.login.enterPassword('some password');
- expect(loginPage.login.isPasswordShown()).toBe(false, 'password is visible');
- loginPage.login.passwordVisibility.click()
- .then(() => {
- expect(loginPage.login.getPasswordVisibility()).toBe(true, 'Password visibility not changed');
- expect(loginPage.login.isPasswordShown()).toBe(true, 'password is not visible');
- });
- });
+ await loginPage.loginWith(username);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
});
- describe('with valid credentials', () => {
- it('navigate to "Personal Files" - [C213092]', () => {
- const { username } = johnDoe;
+ it(`displays user's name in header - [C213108]`, async () => {
+ const { userInfo } = new BrowsingPage(APP_ROUTES.PERSONAL_FILES).header;
+ const { username, firstName, lastName } = johnDoe;
- loginPage.loginWith(username)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- });
- });
-
- it(`displays user's name in header - [C213108]`, () => {
- const { userInfo } = new BrowsingPage(APP_ROUTES.PERSONAL_FILES).header;
- const { username, firstName, lastName } = johnDoe;
-
- loginPage.loginWith(username)
- .then(() => {
- expect(userInfo.name).toEqual(`${firstName} ${lastName}`);
- });
- });
-
- it(`logs in with user having username containing "@" - [C213096]`, () => {
- loginPage
- .loginWith(testUser)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- });
- });
-
- it('logs in with user with non-latin characters - [C213097]', () => {
- const { username, password } = russianUser;
-
- loginPage
- .loginWith(username, password)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- });
- });
-
- it('redirects to Home Page when navigating to the Login page while already logged in - [C213107]', () => {
- const { username } = johnDoe;
-
- loginPage
- .loginWith(username)
- .then(() => browser.get(APP_ROUTES.LOGIN)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- })
- );
- });
-
- it('redirects to Personal Files when pressing browser Back while already logged in - [C213109]', () => {
- const { username } = johnDoe;
-
- loginPage
- .loginWith(username)
- .then(() => browser.navigate().back())
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- });
- });
-
- it('user is able to login after changing his password - [C213104]', () => {
- loginPage.loginWith(testUser2.username, testUser2.password)
- .then(() => logoutPage.load())
- .then(() => peopleApi.changePassword(testUser2.username, newPassword))
- .then(() => loginPage.loginWith(testUser2.username, newPassword))
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- });
- });
+ await loginPage.loginWith(username);
+ expect(userInfo.name).toEqual(`${firstName} ${lastName}`);
});
- describe('with invalid credentials', () => {
- const { login: loginComponent } = loginPage;
- const { submitButton, errorMessage } = loginComponent;
-
- beforeEach(done => {
- loginPage.load().then(done);
- });
-
- it('disabled submit button when password is empty - [C280072]', () => {
- loginComponent.enterUsername('any-username');
- expect(submitButton.isEnabled()).toBe(false);
- });
-
- it('disabled submit button when username is empty - [C280070]', () => {
- loginPage.login.enterPassword('any-password');
- expect(submitButton.isEnabled()).toBe(false);
- });
-
- it('shows error when entering nonexistent user - [C213093]', () => {
- loginPage
- .tryLoginWith('nonexistent-user', 'any-password')
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
- expect(errorMessage.isDisplayed()).toBe(true);
- expect(errorMessage.getText()).toBe(`You've entered an unknown username or password`);
- });
- });
-
- it('shows error when entering invalid password - [C280071]', () => {
- const { username } = johnDoe;
-
- loginPage
- .tryLoginWith(username, 'incorrect-password')
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
- expect(errorMessage.isDisplayed()).toBe(true);
- expect(errorMessage.getText()).toBe(`You've entered an unknown username or password`);
- });
- });
-
- it('unauthenticated user is redirected to Login page - [C213106]', () => {
- browser.get(APP_ROUTES.PERSONAL_FILES)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
- });
- });
-
- it('disabled user is not logged in - [C213100]', () => {
- loginPage.tryLoginWith(disabledUser)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
- expect(errorMessage.isDisplayed()).toBe(true);
- expect(errorMessage.getText()).toBe(`You've entered an unknown username or password`);
- });
- });
+ it(`logs in with user having username containing "@" - [C213096]`, async () => {
+ await loginPage.loginWith(testUser);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
});
+
+ it('logs in with user with non-latin characters - [C213097]', async () => {
+ const { username, password } = russianUser;
+
+ await loginPage.loginWith(username, password);
+ expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
+ });
+
+ it('redirects to Home Page when navigating to the Login page while already logged in - [C213107]', async () => {
+ const { username } = johnDoe;
+
+ await loginPage.loginWith(username);
+ await browser.get(APP_ROUTES.LOGIN);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
+ });
+
+ it('redirects to Personal Files when pressing browser Back while already logged in - [C213109]', async () => {
+ const { username } = johnDoe;
+
+ await loginPage.loginWith(username);
+ await browser.navigate().back();
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
+ });
+
+ it('user is able to login after changing his password - [C213104]', async () => {
+ await loginPage.loginWith(testUser2.username, testUser2.password);
+ await logoutPage.load();
+ await peopleApi.changePassword(testUser2.username, newPassword);
+ await loginPage.loginWith(testUser2.username, newPassword);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
+ });
+ });
+
+ describe('with invalid credentials', () => {
+ const { login: loginComponent } = loginPage;
+ const { submitButton, errorMessage } = loginComponent;
+
+ beforeEach(async (done) => {
+ await loginPage.load();
+ done();
+ });
+
+ it('disabled submit button when password is empty - [C280072]', async () => {
+ await loginComponent.enterUsername('any-username');
+ expect(await submitButton.isEnabled()).toBe(false, 'submit button is enabled');
+ });
+
+ it('disabled submit button when username is empty - [C280070]', async () => {
+ await loginPage.login.enterPassword('any-password');
+ expect(await submitButton.isEnabled()).toBe(false, 'submit button is enabled');
+ });
+
+ it('shows error when entering nonexistent user - [C213093]', async () => {
+ await loginPage.tryLoginWith('nonexistent-user', 'any-password');
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
+ expect(await errorMessage.isDisplayed()).toBe(true, 'error message is not displayed');
+ expect(await errorMessage.getText()).toBe(`You've entered an unknown username or password`);
+ });
+
+ it('shows error when entering invalid password - [C280071]', async () => {
+ const { username } = johnDoe;
+
+ await loginPage.tryLoginWith(username, 'incorrect-password');
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
+ expect(await errorMessage.isDisplayed()).toBe(true, 'error message is not displayed');
+ expect(await errorMessage.getText()).toBe(`You've entered an unknown username or password`);
+ });
+
+ it('unauthenticated user is redirected to Login page - [C213106]', async () => {
+ await browser.get(APP_ROUTES.PERSONAL_FILES);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
+ });
+
+ it('disabled user is not logged in - [C213100]', async () => {
+ await loginPage.tryLoginWith(disabledUser);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
+ expect(await errorMessage.isDisplayed()).toBe(true, 'error message is not displayed');
+ expect(await errorMessage.getText()).toBe(`You've entered an unknown username or password`);
+ });
+ });
});
diff --git a/e2e/suites/authentication/logout.test.ts b/e2e/suites/authentication/logout.test.ts
index 523a303f7..1d0aabc7c 100755
--- a/e2e/suites/authentication/logout.test.ts
+++ b/e2e/suites/authentication/logout.test.ts
@@ -30,53 +30,48 @@ import { RepoClient } from '../../utilities/repo-client/repo-client';
import { APP_ROUTES } from '../../configs';
describe('Logout', () => {
- const page = new BrowsingPage();
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
- const peopleApi = new RepoClient().people;
+ const peopleApi = new RepoClient().people;
- const johnDoe = `user-${Utils.random()}`;
+ const johnDoe = `user-${Utils.random()}`;
- beforeAll((done) => {
- peopleApi
- .createUser({ username: johnDoe })
- .then(done);
- });
+ beforeAll(async (done) => {
+ await peopleApi.createUser({ username: johnDoe });
+ done();
+ });
- beforeEach((done) => {
- loginPage.loginWith(johnDoe).then(done);
- });
+ beforeEach(async (done) => {
+ await loginPage.loginWith(johnDoe);
+ done();
+ });
- afterEach((done) => {
- logoutPage.load().then(done);
- });
+ afterEach(async (done) => {
+ await logoutPage.load();
+ done();
+ });
- it('Sign out option is available - [C213143]', () => {
- page.header.userInfo.openMenu()
- .then(() => expect(page.header.userInfo.menu.isMenuItemPresent('Sign out')).toBe(true, 'Sign out option not displayed'));
- });
+ it('Sign out option is available - [C213143]', async () => {
+ await page.header.userInfo.openMenu();
+ expect(await page.header.userInfo.menu.isMenuItemPresent('Sign out')).toBe(true, 'Sign out option not displayed');
+ });
- it('redirects to Login page on sign out - [C213144]', () => {
- page.signOut()
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
- });
- });
+ it('redirects to Login page on sign out - [C213144]', async () => {
+ await page.signOut();
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
+ });
- it('redirects to Login page when pressing browser Back after logout - [C213145]', () => {
- page.signOut()
- .then(() => browser.navigate().back())
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
- });
- });
+ it('redirects to Login page when pressing browser Back after logout - [C213145]', async () => {
+ await page.signOut();
+ await browser.navigate().back();
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
+ });
- it('redirects to Login page when trying to access a part of the app after logout - [C213146]', () => {
- page.signOut()
- .then(() => page.load('/favorites'))
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
- });
- });
+ it('redirects to Login page when trying to access a part of the app after logout - [C213146]', async () => {
+ await page.signOut();
+ await page.load('/favorites');
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.LOGIN);
+ });
});
diff --git a/e2e/suites/navigation/breadcrumb.test.ts b/e2e/suites/navigation/breadcrumb.test.ts
index e7aefdf8f..12c9ff643 100755
--- a/e2e/suites/navigation/breadcrumb.test.ts
+++ b/e2e/suites/navigation/breadcrumb.test.ts
@@ -31,214 +31,191 @@ import { Utils } from '../../utilities/utils';
import { RepoClient } from '../../utilities/repo-client/repo-client';
describe('Breadcrumb', () => {
- const username = `user-${Utils.random()}`;
+ const username = `user-${Utils.random()}`;
- const parent = `parent-${Utils.random()}`; let parentId;
- const subFolder1 = `subFolder1-${Utils.random()}`; let subFolder1Id;
- const subFolder2 = `subFolder2-${Utils.random()}`; let subFolder2Id;
- const fileName1 = `file1-${Utils.random()}.txt`;
+ const parent = `parent-${Utils.random()}`; let parentId;
+ const subFolder1 = `subFolder1-${Utils.random()}`; let subFolder1Id;
+ const subFolder2 = `subFolder2-${Utils.random()}`; let subFolder2Id;
+ const fileName1 = `file1-${Utils.random()}.txt`;
- const siteName = `site-${Utils.random()}`;
+ const siteName = `site-${Utils.random()}`;
- const parent2 = `parent2-${Utils.random()}`; let parent2Id;
- const folder1 = `folder1-${Utils.random()}`; let folder1Id;
- const folder1Renamed = `renamed-${Utils.random()}`;
+ const parent2 = `parent2-${Utils.random()}`; let parent2Id;
+ const folder1 = `folder1-${Utils.random()}`; let folder1Id;
+ const folder1Renamed = `renamed-${Utils.random()}`;
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { breadcrumb } = page;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { breadcrumb } = page;
- const apis = {
- admin: new RepoClient(),
- user: new RepoClient(username, username)
- };
+ const apis = {
+ admin: new RepoClient(),
+ user: new RepoClient(username, username)
+ };
- beforeAll(done => {
- apis.admin.people.createUser({ username })
- .then(() => apis.user.nodes.createFolder(parent)).then(resp => parentId = resp.entry.id)
- .then(() => apis.user.nodes.createFolder(subFolder1, parentId)).then(resp => subFolder1Id = resp.entry.id)
- .then(() => apis.user.nodes.createFolder(subFolder2, subFolder1Id)).then(resp => subFolder2Id = resp.entry.id)
- .then(() => apis.user.nodes.createFile(fileName1, subFolder2Id))
+ beforeAll(async (done) => {
+ await apis.admin.people.createUser({ username });
+ parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
+ subFolder1Id = (await apis.user.nodes.createFolder(subFolder1, parentId)).entry.id;
+ subFolder2Id = (await apis.user.nodes.createFolder(subFolder2, subFolder1Id)).entry.id;
+ await apis.user.nodes.createFile(fileName1, subFolder2Id);
- .then(() => apis.user.nodes.createFolder(parent2)).then(resp => parent2Id = resp.entry.id)
- .then(() => apis.user.nodes.createFolder(folder1, parent2Id)).then(resp => folder1Id = resp.entry.id)
+ parent2Id = (await apis.user.nodes.createFolder(parent2)).entry.id;
+ folder1Id = (await apis.user.nodes.createFolder(folder1, parent2Id)).entry.id;
- .then(() => apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC))
- .then(() => apis.user.sites.getDocLibId(siteName))
- .then(resp => apis.user.nodes.createFolder(parent, resp)).then(resp => parentId = resp.entry.id)
- .then(() => apis.user.nodes.createFolder(subFolder1, parentId)).then(resp => subFolder1Id = resp.entry.id)
- .then(() => apis.user.nodes.createFolder(subFolder2, subFolder1Id)).then(resp => subFolder2Id = resp.entry.id)
- .then(() => apis.user.nodes.createFile(fileName1, subFolder2Id))
+ await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
+ const docLibId = await apis.user.sites.getDocLibId(siteName);
+ parentId = (await apis.user.nodes.createFolder(parent, docLibId)).entry.id;
+ subFolder1Id = (await apis.user.nodes.createFolder(subFolder1, parentId)).entry.id;
+ subFolder2Id = (await apis.user.nodes.createFolder(subFolder2, subFolder1Id)).entry.id;
+ await apis.user.nodes.createFile(fileName1, subFolder2Id);
- .then(() => loginPage.loginWith(username))
- .then(done);
+ await loginPage.loginWith(username);
+ done();
+ });
+
+ afterAll(async (done) => {
+ await Promise.all([
+ apis.user.nodes.deleteNodeById(parentId),
+ apis.user.nodes.deleteNodeById(parent2Id),
+ apis.user.sites.deleteSite(siteName),
+ logoutPage.load()
+ ]);
+ done();
+ });
+
+ it('Personal Files breadcrumb main node - [C260964]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ expect(await breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
+ expect(await breadcrumb.getCurrentItemName()).toBe('Personal Files');
+ });
+
+ it('File Libraries breadcrumb main node - [C260966]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ expect(await breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
+ expect(await breadcrumb.getCurrentItemName()).toBe('File Libraries');
+ });
+
+ it('Recent Files breadcrumb main node - [C260971]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ expect(await breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
+ expect(await breadcrumb.getCurrentItemName()).toBe('Recent Files');
+ });
+
+ it('Shared Files breadcrumb main node - [C260972]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ expect(await breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
+ expect(await breadcrumb.getCurrentItemName()).toBe('Shared Files');
+ });
+
+ it('Favorites breadcrumb main node - [C260973]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ expect(await breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
+ expect(await breadcrumb.getCurrentItemName()).toBe('Favorites');
+ });
+
+ it('Trash breadcrumb main node - [C260974]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
+ expect(await breadcrumb.getCurrentItemName()).toBe('Trash');
+ });
+
+ it('Personal Files breadcrumb for a folder hierarchy - [C260965]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ await page.dataTable.doubleClickOnRowByName(parent);
+ await page.dataTable.doubleClickOnRowByName(subFolder1);
+ await page.dataTable.doubleClickOnRowByName(subFolder2);
+ const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1, subFolder2 ];
+ expect(await breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
+ });
+
+ it('File Libraries breadcrumb for a folder hierarchy - [C260967]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ await page.dataTable.waitForHeader();
+ await page.dataTable.doubleClickOnRowByName(siteName);
+ await page.dataTable.doubleClickOnRowByName(parent);
+ await page.dataTable.doubleClickOnRowByName(subFolder1);
+ await page.dataTable.doubleClickOnRowByName(subFolder2);
+ const expectedItems = [ 'File Libraries', siteName, parent, subFolder1, subFolder2 ];
+ expect(await breadcrumb.getAllItems()).toEqual(expectedItems);
+ });
+
+ it('User can navigate to any location by clicking on a step from the breadcrumb - [C213235]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ await page.dataTable.doubleClickOnRowByName(parent);
+ await page.dataTable.doubleClickOnRowByName(subFolder1);
+ await page.dataTable.doubleClickOnRowByName(subFolder2);
+ await breadcrumb.clickItem(subFolder1);
+ const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1 ];
+ expect(await breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
+ });
+
+ it('Tooltip appears on hover on a step in breadcrumb - [C213237]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ await page.dataTable.doubleClickOnRowByName(parent);
+ await page.dataTable.doubleClickOnRowByName(subFolder1);
+ await page.dataTable.doubleClickOnRowByName(subFolder2);
+ expect(await breadcrumb.getNthItemTooltip(3)).toEqual(subFolder1);
+ });
+
+ it('Breadcrumb updates correctly when folder is renamed - [C213238]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ await page.dataTable.doubleClickOnRowByName(parent2);
+ await page.dataTable.doubleClickOnRowByName(folder1);
+ await page.dataTable.wait();
+ await apis.user.nodes.renameNode(folder1Id, folder1Renamed)
+ // .then(done => done)
+ await page.refresh();
+ await page.dataTable.wait();
+ expect(await breadcrumb.getCurrentItemName()).toEqual(folder1Renamed);
+ });
+
+ it('Browser back navigates to previous location regardless of breadcrumb steps - [C213240]', async () => {
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ await page.dataTable.waitForHeader();
+ await page.dataTable.doubleClickOnRowByName(parent);
+ await page.dataTable.doubleClickOnRowByName(subFolder1);
+ await page.dataTable.doubleClickOnRowByName(subFolder2);
+ await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ await page.dataTable.waitForEmptyState();
+ await browser.navigate().back();
+ const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1, subFolder2 ];
+ expect(await breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
+ });
+
+ // disabled cause of ACA-1039
+ xdescribe('as admin', () => {
+ const user2 = 'a_user';
+ const userFolder = `userFolder-${Utils.random()}`; let userFolderId;
+ const user2Api = new RepoClient(user2, user2);
+
+ beforeAll(async (done) => {
+ await logoutPage.load();
+ await apis.admin.people.createUser({ username: user2 });
+ userFolderId = (await user2Api.nodes.createFolder(userFolder)).entry.id;
+ await loginPage.loginWithAdmin();
+ done();
});
- afterAll(done => {
- Promise.all([
- apis.user.nodes.deleteNodeById(parentId),
- apis.user.nodes.deleteNodeById(parent2Id),
- apis.user.sites.deleteSite(siteName),
- logoutPage.load()
- ])
- .then(done);
+ afterAll(async (done) => {
+ await Promise.all([
+ user2Api.nodes.deleteNodeById(userFolderId),
+ logoutPage.load()
+ ]);
+ done();
});
- it('Personal Files breadcrumb main node - [C260964]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => {
- expect(breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
- expect(breadcrumb.getCurrentItemName()).toBe('Personal Files');
- });
- });
-
- it('File Libraries breadcrumb main node - [C260966]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES)
- .then(() => {
- expect(breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
- expect(breadcrumb.getCurrentItemName()).toBe('File Libraries');
- });
- });
-
- it('Recent Files breadcrumb main node - [C260971]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES)
- .then(() => {
- expect(breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
- expect(breadcrumb.getCurrentItemName()).toBe('Recent Files');
- });
- });
-
- it('Shared Files breadcrumb main node - [C260972]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES)
- .then(() => {
- expect(breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
- expect(breadcrumb.getCurrentItemName()).toBe('Shared Files');
- });
- });
-
- it('Favorites breadcrumb main node - [C260973]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES)
- .then(() => {
- expect(breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
- expect(breadcrumb.getCurrentItemName()).toBe('Favorites');
- });
- });
-
- it('Trash breadcrumb main node - [C260974]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => {
- expect(breadcrumb.getItemsCount()).toEqual(1, 'Breadcrumb has incorrect number of items');
- expect(breadcrumb.getCurrentItemName()).toBe('Trash');
- });
- });
-
- it('Personal Files breadcrumb for a folder hierarchy - [C260965]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => page.dataTable.waitForHeader())
- .then(() => page.dataTable.doubleClickOnRowByName(parent))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder1))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder2))
- .then(() => {
- const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1, subFolder2 ];
- expect(breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
- });
- });
-
- it('File Libraries breadcrumb for a folder hierarchy - [C260967]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES)
- .then(() => page.dataTable.waitForHeader())
- .then(() => page.dataTable.doubleClickOnRowByName(siteName))
- .then(() => page.dataTable.doubleClickOnRowByName(parent))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder1))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder2))
- .then(() => {
- const expectedItems = [ 'File Libraries', siteName, parent, subFolder1, subFolder2 ];
- expect(breadcrumb.getAllItems()).toEqual(expectedItems);
- });
- });
-
- it('User can navigate to any location by clicking on a step from the breadcrumb - [C213235]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => page.dataTable.waitForHeader())
- .then(() => page.dataTable.doubleClickOnRowByName(parent))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder1))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder2))
- .then(() => breadcrumb.clickItem(subFolder1))
- .then(() => {
- const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1 ];
- expect(breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
- });
- });
-
- it('Tooltip appears on hover on a step in breadcrumb - [C213237]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => page.dataTable.waitForHeader())
- .then(() => page.dataTable.doubleClickOnRowByName(parent))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder1))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder2))
- .then(() => {
- expect(breadcrumb.getNthItemTooltip(3)).toEqual(subFolder1);
- });
- });
-
- it('Breadcrumb updates correctly when folder is renamed - [C213238]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => page.dataTable.waitForHeader())
- .then(() => page.dataTable.doubleClickOnRowByName(parent2))
- .then(() => page.dataTable.doubleClickOnRowByName(folder1))
- .then(() => page.dataTable.wait())
- .then(() => apis.user.nodes.renameNode(folder1Id, folder1Renamed).then(done => done))
- .then(() => page.refresh())
- .then(() => page.dataTable.wait())
- .then(() => {
- expect(breadcrumb.getCurrentItemName()).toEqual(folder1Renamed);
- });
- });
-
- it('Browser back navigates to previous location regardless of breadcrumb steps - [C213240]', () => {
- page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => page.dataTable.waitForHeader())
- .then(() => page.dataTable.doubleClickOnRowByName(parent))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder1))
- .then(() => page.dataTable.doubleClickOnRowByName(subFolder2))
- .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH))
- .then(() => page.dataTable.waitForEmptyState())
- .then(() => browser.navigate().back())
- .then(() => {
- const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1, subFolder2 ];
- expect(breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
- });
- });
-
- // disabled cause of ACA-1039
- xdescribe('as admin', () => {
- const user2 = 'a_user';
- const userFolder = `userFolder-${Utils.random()}`; let userFolderId;
- const user2Api = new RepoClient(user2, user2);
-
- beforeAll(done => {
- logoutPage.load()
- .then(() => apis.admin.people.createUser({ username: user2 }))
- .then(() => user2Api.nodes.createFolder(userFolder).then(resp => userFolderId = resp.entry.id))
- .then(() => loginPage.loginWithAdmin())
- .then(done);
- });
-
- afterAll(done => {
- Promise.all([
- user2Api.nodes.deleteNodeById(userFolderId),
- logoutPage.load()
- ])
- .then(done);
- });
-
- xit(`Breadcrumb on navigation to a user's home - [C260970]`, () => {
- page.dataTable.doubleClickOnRowByName('User Homes')
- .then(() => page.dataTable.doubleClickOnRowByName(user2))
- .then(() => expect(breadcrumb.getAllItems()).toEqual([ 'Personal Files', 'User Homes', user2 ]))
- .then(() => page.dataTable.doubleClickOnRowByName(userFolder))
- .then(() => expect(breadcrumb.getAllItems()).toEqual([ 'Personal Files', 'User Homes', user2, userFolder ]));
- });
+ xit(`Breadcrumb on navigation to a user's home - [C260970]`, async () => {
+ await page.dataTable.doubleClickOnRowByName('User Homes');
+ await page.dataTable.doubleClickOnRowByName(user2);
+ expect(await breadcrumb.getAllItems()).toEqual([ 'Personal Files', 'User Homes', user2 ]);
+ await page.dataTable.doubleClickOnRowByName(userFolder);
+ expect(await breadcrumb.getAllItems()).toEqual([ 'Personal Files', 'User Homes', user2, userFolder ]);
});
+ });
});
diff --git a/e2e/suites/navigation/sidebar.test.ts b/e2e/suites/navigation/sidebar.test.ts
index 50ca23c87..f943cb283 100755
--- a/e2e/suites/navigation/sidebar.test.ts
+++ b/e2e/suites/navigation/sidebar.test.ts
@@ -29,117 +29,95 @@ import { APP_ROUTES, SIDEBAR_LABELS } from '../../configs';
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
describe('Sidebar', () => {
- const loginPage = new LoginPage();
- const logoutPage = new LogoutPage();
- const page = new BrowsingPage();
- const { sidenav } = page;
+ const loginPage = new LoginPage();
+ const logoutPage = new LogoutPage();
+ const page = new BrowsingPage();
+ const { sidenav } = page;
- beforeAll(done => {
- loginPage.loginWithAdmin().then(done);
- });
+ beforeAll(async (done) => {
+ await loginPage.loginWithAdmin();
+ done();
+ });
- afterAll(done => {
- logoutPage.load().then(done);
- });
+ afterAll(async (done) => {
+ await logoutPage.load();
+ done();
+ });
- it('has "Personal Files" as default - [C217149]', () => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- expect(sidenav.isActiveByLabel('Personal Files')).toBe(true, 'Active link');
- });
+ it('has "Personal Files" as default - [C217149]', async () => {
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
+ expect(await sidenav.isActiveByLabel('Personal Files')).toBe(true, 'Active link');
+ });
- it('navigates to "File Libraries" - [C217150]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.FILE_LIBRARIES);
- expect(sidenav.isActiveByLabel(SIDEBAR_LABELS.FILE_LIBRARIES)).toBe(true);
- });
- });
+ it('navigates to "File Libraries" - [C217150]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.FILE_LIBRARIES);
+ expect(await sidenav.isActiveByLabel(SIDEBAR_LABELS.FILE_LIBRARIES)).toBe(true);
+ });
- it('navigates to "Personal Files" - [C280409]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
- expect(sidenav.isActiveByLabel(SIDEBAR_LABELS.PERSONAL_FILES)).toBe(true);
- });
- });
+ it('navigates to "Personal Files" - [C280409]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
+ expect(await sidenav.isActiveByLabel(SIDEBAR_LABELS.PERSONAL_FILES)).toBe(true);
+ });
- it('navigates to "Shared Files" - [C213110]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.SHARED_FILES);
- expect(sidenav.isActiveByLabel(SIDEBAR_LABELS.SHARED_FILES)).toBe(true);
- });
- });
+ it('navigates to "Shared Files" - [C213110]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.SHARED_FILES);
+ expect(await sidenav.isActiveByLabel(SIDEBAR_LABELS.SHARED_FILES)).toBe(true);
+ });
- it('navigates to "Recent Files" - [C213166]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.RECENT_FILES);
- expect(sidenav.isActiveByLabel(SIDEBAR_LABELS.RECENT_FILES)).toBe(true);
- });
- });
+ it('navigates to "Recent Files" - [C213166]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.RECENT_FILES);
+ expect(await sidenav.isActiveByLabel(SIDEBAR_LABELS.RECENT_FILES)).toBe(true);
+ });
- it('navigates to "Favorites" - [C213225]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.FAVORITES);
- expect(sidenav.isActiveByLabel(SIDEBAR_LABELS.FAVORITES)).toBe(true);
- });
- });
+ it('navigates to "Favorites" - [C213225]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.FAVORITES);
+ expect(await sidenav.isActiveByLabel(SIDEBAR_LABELS.FAVORITES)).toBe(true);
+ });
- it('navigates to "Trash" - [C213216]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => {
- expect(browser.getCurrentUrl()).toContain(APP_ROUTES.TRASHCAN);
- expect(sidenav.isActiveByLabel(SIDEBAR_LABELS.TRASH)).toBe(true);
- });
- });
+ it('navigates to "Trash" - [C213216]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.TRASHCAN);
+ expect(await sidenav.isActiveByLabel(SIDEBAR_LABELS.TRASH)).toBe(true);
+ });
- // TODO: incomplete test
- xit('Personal Files tooltip - [C217151]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
- .then(() => {
- expect(sidenav.getLinkTooltip(SIDEBAR_LABELS.PERSONAL_FILES)).toContain('View your Personal Files');
- });
- });
+ // TODO: incomplete test
+ xit('Personal Files tooltip - [C217151]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
+ expect(await sidenav.getLinkTooltip(SIDEBAR_LABELS.PERSONAL_FILES)).toContain('View your Personal Files');
+ });
- // TODO: incomplete test
- xit('File Libraries tooltip - [C217152]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES)
- .then(() => {
- expect(sidenav.getLinkTooltip(SIDEBAR_LABELS.FILE_LIBRARIES)).toContain('Access File Libraries');
- });
- });
+ // TODO: incomplete test
+ xit('File Libraries tooltip - [C217152]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
+ expect(await sidenav.getLinkTooltip(SIDEBAR_LABELS.FILE_LIBRARIES)).toContain('Access File Libraries');
+ });
- // TODO: incomplete test
- xit('Shared Files tooltip - [C213111]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES)
- .then(() => {
- expect(sidenav.getLinkTooltip(SIDEBAR_LABELS.SHARED_FILES)).toContain('View files that have been shared');
- });
- });
+ // TODO: incomplete test
+ xit('Shared Files tooltip - [C213111]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
+ expect(await sidenav.getLinkTooltip(SIDEBAR_LABELS.SHARED_FILES)).toContain('View files that have been shared');
+ });
- // TODO: incomplete test
- xit('Recent Files tooltip - [C213167]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES)
- .then(() => {
- expect(sidenav.getLinkTooltip(SIDEBAR_LABELS.RECENT_FILES)).toContain('View files you recently edited');
- });
- });
+ // TODO: incomplete test
+ xit('Recent Files tooltip - [C213167]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
+ expect(await sidenav.getLinkTooltip(SIDEBAR_LABELS.RECENT_FILES)).toContain('View files you recently edited');
+ });
- // TODO: incomplete test
- xit('Favorites tooltip - [C217153]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES)
- .then(() => {
- expect(sidenav.getLinkTooltip(SIDEBAR_LABELS.FAVORITES)).toContain('View your favorite files and folders');
- });
- });
+ // TODO: incomplete test
+ xit('Favorites tooltip - [C217153]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
+ expect(await sidenav.getLinkTooltip(SIDEBAR_LABELS.FAVORITES)).toContain('View your favorite files and folders');
+ });
- // TODO: incomplete test
- xit('Trash tooltip - [C217154]', () => {
- sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)
- .then(() => {
- expect(sidenav.getLinkTooltip(SIDEBAR_LABELS.TRASH)).toContain('View deleted files in the trash');
- });
- });
+ // TODO: incomplete test
+ xit('Trash tooltip - [C217154]', async () => {
+ await sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
+ expect(await sidenav.getLinkTooltip(SIDEBAR_LABELS.TRASH)).toContain('View deleted files in the trash');
+ });
});