diff --git a/e2e/suites/actions/delete-undo-delete.test.ts b/e2e/suites/actions/delete-undo-delete.test.ts index 0f26ad43d..f73b64ba6 100755 --- a/e2e/suites/actions/delete-undo-delete.test.ts +++ b/e2e/suites/actions/delete-undo-delete.test.ts @@ -42,12 +42,14 @@ describe('Delete and undo delete', () => { const page = new BrowsingPage(); const { dataTable, toolbar } = page; - beforeAll(done => { - apis.admin.people.createUser({ username }).then(done); + beforeAll(async (done) => { + await apis.admin.people.createUser({ username }); + done(); }); - afterAll(done => { - apis.admin.trashcan.emptyTrash().then(done); + afterAll(async (done) => { + await apis.admin.trashcan.emptyTrash(); + done(); }); xit(''); @@ -61,210 +63,181 @@ describe('Delete and undo delete', () => { const folder2 = `folder2-${Utils.random()}`; let folder2Id; const fileLocked1 = `fileLocked-${Utils.random()}.txt`; let fileLocked1Id; - beforeAll(done => { - apis.user.nodes.createFile(file1).then(resp => file1Id = resp.entry.id) - .then(() => apis.user.nodes.createFile(file2).then(resp => file2Id = resp.entry.id)) - .then(() => apis.user.nodes.createFolder(folder1).then(resp => folder1Id = resp.entry.id)) - .then(() => apis.user.nodes.createFolder(folder2).then(resp => folder2Id = resp.entry.id)) - .then(() => apis.user.nodes.createFile(file3, folder1Id)) - .then(() => apis.user.nodes.createFile(file4, folder2Id).then(resp => file4Id = resp.entry.id)) - .then(() => apis.user.nodes.lockFile(file4Id)) + 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); - .then(() => apis.user.nodes.createFile(fileLocked1).then(resp => fileLocked1Id = resp.entry.id)) - .then(() => apis.user.nodes.lockFile(fileLocked1Id)) + fileLocked1Id = (await apis.user.nodes.createFile(fileLocked1)).entry.id; + await apis.user.nodes.lockFile(fileLocked1Id); - .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(); }); - afterEach(done => { - page.refresh().then(done); + afterEach(async (done) => { + await page.refresh(); + done(); }); - afterAll(done => { - Promise.all([ + afterAll(async (done) => { + await Promise.all([ + apis.user.nodes.unlockFile(file4Id), + apis.user.nodes.unlockFile(fileLocked1Id) + ]); + await Promise.all([ logoutPage.load(), - apis.user.nodes.unlockFile(file4Id) - .then(() => apis.user.nodes.unlockFile(fileLocked1Id)) - .then(() => apis.user.nodes.deleteNodesById([file1Id, file2Id, folder1Id, folder2Id, fileLocked1Id])) - ]) - .then(() => apis.user.search.waitForApi(username, {expect: 0})) - .then(done); + apis.user.nodes.deleteNodesById([file1Id, file2Id, folder1Id, folder2Id, fileLocked1Id]) + ]); + await apis.user.search.waitForApi(username, {expect: 0}); + done(); }); - it('delete a file and check notification - [C217125]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('delete a file and check notification - [C217125]', async () => { + let items = await page.dataTable.countRows(); - dataTable.selectItem(file1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - 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}`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => expect(dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item is not in trash')) + await dataTable.selectItem(file1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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'); - .then(() => apis.user.trashcan.restore(file1Id)); + await apis.user.trashcan.restore(file1Id); }); - it('delete multiple files and check notification - [C280502]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('delete multiple files and check notification - [C280502]', async () => { + let items = await page.dataTable.countRows(); - dataTable.selectMultipleItems([file1, file2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - 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}`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - 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 dataTable.selectMultipleItems([file1, file2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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`); - .then(() => apis.user.trashcan.restore(file1Id)) - .then(() => apis.user.trashcan.restore(file2Id)); + await apis.user.trashcan.restore(file1Id); + await apis.user.trashcan.restore(file2Id); }); - it('delete a folder with content - [C217126]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('delete a folder with content - [C217126]', async () => { + let items = await page.dataTable.countRows(); - dataTable.selectItem(folder1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => { - expect(dataTable.getRowByName(folder1).isPresent()).toBe(false, 'Item was not removed from list'); - items--; - expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(folder1).isPresent()).toBe(true, 'Item is not in trash'); - expect(dataTable.getRowByName(file3).isPresent()).toBe(false, 'Item is in trash'); - }) + await dataTable.selectItem(folder1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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'); - .then(() => apis.user.trashcan.restore(folder1Id)); + await apis.user.trashcan.restore(folder1Id); }); - it('delete a folder containing locked files - [C217127]', () => { - dataTable.selectItem(folder2) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).toContain(`${folder2} couldn't be deleted`); - expect(dataTable.getRowByName(folder2).isPresent()).toBe(true, 'Item was removed from list'); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(folder2).isPresent()).toBe(false, 'Item is in trash'); - expect(dataTable.getRowByName(file4).isPresent()).toBe(false, 'Item is in trash'); - }); + it('delete a folder containing locked files - [C217127]', async () => { + await dataTable.selectItem(folder2); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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]', () => { - dataTable.selectMultipleItems([file1, folder2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`)) + it('notification on multiple items deletion - some items fail to delete - [C217129]', async () => { + await dataTable.selectMultipleItems([file1, folder2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`); - .then(() => apis.user.trashcan.restore(file1Id)); + await apis.user.trashcan.restore(file1Id); }); - it('notification on multiple items deletion - all items fail to delete - [C217130]', () => { - dataTable.selectMultipleItems([fileLocked1, folder2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => expect(message).toEqual(`2 items couldn't be deleted`)); + it('notification on multiple items deletion - all items fail to delete - [C217130]', async () => { + await dataTable.selectMultipleItems([fileLocked1, folder2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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]', () => { - dataTable.selectItem(file1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).toContain(`Undo`); - }) + it('successful delete notification shows Undo action - [C217131]', async () => { + await dataTable.selectItem(file1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).toContain(`Undo`); - .then(() => apis.user.trashcan.restore(file1Id)); + await apis.user.trashcan.restore(file1Id); }); - it('unsuccessful delete notification does not show Undo action - [C217134]', () => { - dataTable.selectItem(folder2) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).not.toContain(`Undo`); - }); + it('unsuccessful delete notification does not show Undo action - [C217134]', async () => { + await dataTable.selectItem(folder2); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).not.toContain(`Undo`); }); - it('undo delete of file - [C217132]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('undo delete of file - [C217132]', async () => { + const items = await page.dataTable.countRows(); - dataTable.selectItem(file1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => { - expect(dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item was not restored'); - expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`); - }); + await dataTable.selectItem(file1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('undo delete of folder with content - [C280503]', async () => { + const items = await page.dataTable.countRows(); - dataTable.selectItem(folder1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => { - expect(dataTable.getRowByName(folder1).isPresent()).toBe(true, 'Item was not restored'); - expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`); - }) - .then(() => dataTable.doubleClickOnRowByName(folder1)) - .then(() => { - expect(dataTable.getRowByName(file3).isPresent()).toBe(true, 'file from folder not restored'); - }); + await dataTable.selectItem(folder1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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'); }); - it('undo delete of multiple files - [C280504]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('undo delete of multiple files - [C280504]', async () => { + const items = await page.dataTable.countRows(); - dataTable.selectMultipleItems([file1, file2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => { - 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 dataTable.selectMultipleItems([file1, file2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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}`); }); }); @@ -274,105 +247,98 @@ describe('Delete and undo delete', () => { const sharedFile3 = `sharedFile3-${Utils.random()}.txt`; let sharedFile3Id; const sharedFile4 = `sharedFile4-${Utils.random()}.txt`; let sharedFile4Id; - beforeAll(done => { - apis.user.nodes.createFile(sharedFile1).then(resp => sharedFile1Id = resp.entry.id) - .then(() => apis.user.nodes.createFile(sharedFile2).then(resp => sharedFile2Id = resp.entry.id)) - .then(() => apis.user.nodes.createFile(sharedFile3).then(resp => sharedFile3Id = resp.entry.id)) - .then(() => apis.user.nodes.createFile(sharedFile4).then(resp => sharedFile4Id = resp.entry.id)) - .then(() => apis.user.shared.shareFilesByIds([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id])) - .then(() => apis.user.shared.waitForApi({ expect: 4 })) + 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 }); - .then(() => loginPage.loginWith(username)) - .then(done); + await loginPage.loginWith(username); + done(); }); - beforeEach(done => { - page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES) - .then(() => dataTable.waitForHeader()) - .then(done); + beforeEach(async (done) => { + await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES); + await dataTable.waitForHeader(); + done(); }); - afterEach(done => { - page.refresh().then(done); + afterEach(async (done) => { + await page.refresh(); + done(); }); - afterAll(done => { - Promise.all([ + afterAll(async (done) => { + await Promise.all([ logoutPage.load(), apis.user.nodes.deleteNodesById([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id]) - ]) - .then(() => apis.user.search.waitForApi(username, {expect: 0})) - .then(done); + ]); + await apis.user.search.waitForApi(username, {expect: 0}); + done(); }); - it('delete a file and check notification - [C280316]', () => { - dataTable.selectItem(sharedFile1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).toContain(`${sharedFile1} deleted`); - expect(dataTable.getRowByName(sharedFile1).isPresent()).toBe(false, 'Item was not removed from list'); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => expect(dataTable.getRowByName(sharedFile1).isPresent()).toBe(true, 'Item is not in trash')) + it('delete a file and check notification - [C280316]', async () => { + await dataTable.selectItem(sharedFile1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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'); - .then(() => apis.user.trashcan.restore(sharedFile1Id)) - .then(() => apis.user.shared.shareFilesByIds([ sharedFile1Id ])) - .then(() => apis.user.shared.waitForApi({ expect: 4 })); + await apis.user.trashcan.restore(sharedFile1Id); + await apis.user.shared.shareFilesByIds([ sharedFile1Id ]); + await apis.user.shared.waitForApi({ expect: 4 }); }); - it('delete multiple files and check notification - [C280513]', () => { - dataTable.selectMultipleItems([sharedFile2, sharedFile3]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - 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`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(sharedFile2).isPresent()).toBe(true, `${sharedFile2} is not in trash`); - expect(dataTable.getRowByName(sharedFile3).isPresent()).toBe(true, `${sharedFile3} is not in trash`); - }) + it('delete multiple files and check notification - [C280513]', async () => { + await dataTable.selectMultipleItems([sharedFile2, sharedFile3]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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`); - .then(() => apis.user.trashcan.restore(sharedFile2Id)) - .then(() => apis.user.trashcan.restore(sharedFile3Id)) - .then(() => apis.user.shared.shareFilesByIds([ sharedFile2Id, sharedFile3Id ])) - .then(() => apis.user.shared.waitForApi({ expect: 4 })); + 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 }); }); - it('successful delete notification shows Undo action - [C280323]', () => { - dataTable.selectItem(sharedFile1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => expect(message).toContain(`Undo`)) + it('successful delete notification shows Undo action - [C280323]', async () => { + await dataTable.selectItem(sharedFile1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).toContain(`Undo`); - .then(() => apis.user.trashcan.restore(sharedFile1Id)); + await apis.user.trashcan.restore(sharedFile1Id); }); - it('undo delete of file - [C280324]', () => { - dataTable.selectItem(sharedFile2) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => expect(dataTable.getRowByName(sharedFile2).isPresent()).toBe(false, 'Item was not restored')); + xit('undo delete of file - [C280324]', async () => { + await dataTable.selectItem(sharedFile2); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + await page.clickSnackBarAction(); + await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH); + expect(dataTable.getRowByName(sharedFile2).isPresent()).toBe(false, 'Item was not restored'); }); - it('undo delete of multiple files - [C280514]', () => { - dataTable.selectMultipleItems([sharedFile3, sharedFile4]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(sharedFile3).isPresent()).toBe(false, `${sharedFile3} was not restored`); - expect(dataTable.getRowByName(sharedFile4).isPresent()).toBe(false, `${sharedFile4} was not restored`); - }); + xit('undo delete of multiple files - [C280514]', async () => { + await dataTable.selectMultipleItems([sharedFile3, sharedFile4]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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`); }); }); @@ -385,213 +351,186 @@ describe('Delete and undo delete', () => { const favoriteFolder2 = `favFolder2-${Utils.random()}`; let favoriteFolder2Id; const favoriteFileLocked1 = `favFileLocked-${Utils.random()}.txt`; let favoriteFileLocked1Id; - beforeAll(done => { - apis.user.nodes.createFile(favoriteFile1).then(resp => favoriteFile1Id = resp.entry.id) - .then(() => apis.user.nodes.createFile(favoriteFile2).then(resp => favoriteFile2Id = resp.entry.id)) - .then(() => apis.user.nodes.createFolder(favoriteFolder1).then(resp => favoriteFolder1Id = resp.entry.id)) - .then(() => apis.user.nodes.createFolder(favoriteFolder2).then(resp => favoriteFolder2Id = resp.entry.id)) - .then(() => apis.user.nodes.createFile(favoriteFile3, favoriteFolder1Id)) - .then(() => apis.user.nodes.createFile(favoriteFile4, favoriteFolder2Id).then(resp => favoriteFile4Id = resp.entry.id)) - .then(() => apis.user.nodes.lockFile(favoriteFile4Id)) + 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); - .then(() => apis.user.nodes.createFile(favoriteFileLocked1).then(resp => favoriteFileLocked1Id = resp.entry.id)) - .then(() => apis.user.nodes.lockFile(favoriteFileLocked1Id)) + favoriteFileLocked1Id = (await apis.user.nodes.createFile(favoriteFileLocked1)).entry.id; + await apis.user.nodes.lockFile(favoriteFileLocked1Id); - .then(() => apis.user.favorites.addFavoritesByIds('file', [favoriteFile1Id, favoriteFile2Id, favoriteFileLocked1Id])) - .then(() => apis.user.favorites.addFavoritesByIds('folder', [favoriteFolder1Id, favoriteFolder2Id])) - .then(() => apis.user.favorites.waitForApi({ expect: 5 })) + await apis.user.favorites.addFavoritesByIds('file', [ favoriteFile1Id, favoriteFile2Id, favoriteFileLocked1Id ]); + await apis.user.favorites.addFavoritesByIds('folder', [ favoriteFolder1Id, favoriteFolder2Id ]); + await apis.user.favorites.waitForApi({ expect: 5 }); - .then(() => loginPage.loginWith(username)) - .then(done); + await loginPage.loginWith(username); + done(); }); - beforeEach(done => { - page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES) - .then(() => dataTable.waitForHeader()) - .then(done); + beforeEach(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(); }); - afterAll(done => { - Promise.all([ + afterAll(async (done) => { + await Promise.all([ + apis.user.nodes.unlockFile(favoriteFile4Id), + apis.user.nodes.unlockFile(favoriteFileLocked1Id) + ]); + await Promise.all([ logoutPage.load(), - apis.user.nodes.unlockFile(favoriteFile4Id) - .then(() => apis.user.nodes.unlockFile(favoriteFileLocked1Id)) - .then(() => apis.user.nodes.deleteNodesById([ - favoriteFile1Id, favoriteFile2Id, favoriteFolder1Id, favoriteFolder2Id, favoriteFileLocked1Id - ])) - ]) - .then(() => apis.user.search.waitForApi(username, {expect: 0})) - .then(done); + apis.user.nodes.deleteNodesById([ + favoriteFile1Id, favoriteFile2Id, favoriteFolder1Id, favoriteFolder2Id, favoriteFileLocked1Id + ]) + ]); + await apis.user.search.waitForApi(username, {expect: 0}); + done(); }); - it('delete a file and check notification - [C280516]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('delete a file and check notification - [C280516]', async () => { + let items = await page.dataTable.countRows(); - dataTable.selectItem(favoriteFile1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - 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}`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, 'Item is not in trash')) + await dataTable.selectItem(favoriteFile1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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'); - .then(() => apis.user.trashcan.restore(favoriteFile1Id)); + await apis.user.trashcan.restore(favoriteFile1Id); }); - it('delete multiple files and check notification - [C280517]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('delete multiple files and check notification - [C280517]', async () => { + let items = await page.dataTable.countRows(); - dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - 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}`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - 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 dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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`); - .then(() => apis.user.trashcan.restore(favoriteFile1Id)) - .then(() => apis.user.trashcan.restore(favoriteFile2Id)); + await apis.user.trashcan.restore(favoriteFile1Id); + await apis.user.trashcan.restore(favoriteFile2Id); }); - it('delete a folder with content - [C280518]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); - dataTable.selectItem(favoriteFolder1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => { - expect(dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(false, 'Item was not removed from list'); - items--; - expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(true, 'Item is not in trash'); - expect(dataTable.getRowByName(favoriteFile3).isPresent()).toBe(false, 'Item is in trash'); - }) + it('delete a folder with content - [C280518]', async () => { + let items = await page.dataTable.countRows(); + await dataTable.selectItem(favoriteFolder1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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'); - .then(() => apis.user.trashcan.restore(favoriteFolder1Id)); + await apis.user.trashcan.restore(favoriteFolder1Id); }); - it('delete a folder containing locked files - [C280519]', () => { - dataTable.selectItem(favoriteFolder2) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).toContain(`${favoriteFolder2} couldn't be deleted`); - expect(dataTable.getRowByName(favoriteFolder2).isPresent()).toBe(true, 'Item was removed from list'); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(favoriteFolder2).isPresent()).toBe(false, 'Item is in trash'); - expect(dataTable.getRowByName(favoriteFile4).isPresent()).toBe(false, 'Item is in trash'); - }); + it('delete a folder containing locked files - [C280519]', async () => { + await dataTable.selectItem(favoriteFolder2); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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]', () => { - dataTable.selectMultipleItems([favoriteFile1, favoriteFolder2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`); - }) + it('notification on multiple items deletion - some items fail to delete - [C280520]', async () => { + await dataTable.selectMultipleItems([favoriteFile1, favoriteFolder2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).toContain(`Deleted 1 item, 1 couldn't be deleted`); - .then(() => apis.user.trashcan.restore(favoriteFile1Id)); + await apis.user.trashcan.restore(favoriteFile1Id); }); - it('notification on multiple items deletion - all items fail to delete - [C280521]', () => { - dataTable.selectMultipleItems([favoriteFileLocked1, favoriteFolder2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).toEqual(`2 items couldn't be deleted`); - }); + it('notification on multiple items deletion - all items fail to delete - [C280521]', async () => { + await dataTable.selectMultipleItems([favoriteFileLocked1, favoriteFolder2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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]', () => { - dataTable.selectItem(favoriteFile1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => expect(message).toContain(`Undo`)) + it('successful delete notification shows Undo action - [C280522]', async () => { + await dataTable.selectItem(favoriteFile1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).toContain(`Undo`); - .then(() => apis.user.trashcan.restore(favoriteFile1Id)); + await apis.user.trashcan.restore(favoriteFile1Id); }); - it('unsuccessful delete notification does not show Undo action - [C280523]', () => { - dataTable.selectItem(favoriteFolder2) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => expect(message).not.toContain(`Undo`)); + it('unsuccessful delete notification does not show Undo action - [C280523]', async () => { + await dataTable.selectItem(favoriteFolder2); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).not.toContain(`Undo`); }); - it('undo delete of file - [C280524]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('undo delete of file - [C280524]', async () => { + const items = await page.dataTable.countRows(); - dataTable.selectItem(favoriteFile1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => { - expect(dataTable.getRowByName(favoriteFile1).isPresent()).toBe(true, 'Item was not restored'); - expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`); - }); + await dataTable.selectItem(favoriteFile1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('undo delete of folder with content - [C280526]', async () => { + const items = await page.dataTable.countRows(); - dataTable.selectItem(favoriteFolder1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => { - expect(dataTable.getRowByName(favoriteFolder1).isPresent()).toBe(true, 'Item was not restored'); - expect(page.pagination.range.getText()).toContain(`1-${items} of ${items}`); - }) - .then(() => dataTable.doubleClickOnRowByName(favoriteFolder1)) - .then(() => expect(dataTable.getRowByName(favoriteFile3).isPresent()).toBe(true, 'file from folder not restored')); + await dataTable.selectItem(favoriteFolder1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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]', () => { - let items: number; - page.dataTable.countRows().then(number => { items = number; }); + it('undo delete of multiple files - [C280525]', async () => { + const items = await page.dataTable.countRows(); - dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => { - 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 dataTable.selectMultipleItems([favoriteFile1, favoriteFile2]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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}`); }); }); @@ -602,119 +541,110 @@ describe('Delete and undo delete', () => { const recentFile3 = `recentFile3-${Utils.random()}.txt`; let recentFile3Id; const recentFile4 = `recentFile4-${Utils.random()}.txt`; let recentFile4Id; - beforeAll(done => { - apis.user.nodes.createFile(recentFile1).then(resp => recentFile1Id = resp.entry.id) - .then(() => apis.user.nodes.createFile(recentFile2).then(resp => recentFile2Id = resp.entry.id)) - .then(() => apis.user.nodes.createFile(recentFile3).then(resp => recentFile3Id = resp.entry.id)) - .then(() => apis.user.nodes.createFile(recentFile4).then(resp => recentFile4Id = resp.entry.id)) - .then(() => apis.user.search.waitForApi(username, { expect: 4 })) + 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 }); - .then(() => loginPage.loginWith(username)) + await loginPage.loginWith(username); - .then((): any => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES) - .then(() => dataTable.isEmptyList()) - .then(empty => { - if (empty) { - browser.sleep(6000).then(() => page.refresh()); - } - }) - ) - .then(done); + await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES); + const empty = await dataTable.isEmptyList(); + if (empty) { + await browser.sleep(6000); + await browser.refresh(); + } + done(); }); - beforeEach(done => { - page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES) - .then(() => dataTable.waitForHeader()) - .then(done); + beforeEach(async (done) => { + await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES); + await dataTable.waitForHeader(); + done(); }); - afterEach(done => { - page.refresh().then(done); + afterEach(async (done) => { + await page.refresh(); + done(); }); - afterAll(done => { - Promise.all([ + afterAll(async (done) => { + await Promise.all([ logoutPage.load(), apis.user.nodes.deleteNodesById([recentFile1Id, recentFile2Id, recentFile3Id, recentFile4Id]) - ]) - .then(done); + ]); + done(); }); - it('delete a file and check notification - [C280528]', () => { - dataTable.selectItem(recentFile1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - expect(message).toContain(`${recentFile1} deleted`); - expect(dataTable.getRowByName(recentFile1).isPresent()).toBe(false, 'Item was not removed from list'); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => expect(dataTable.getRowByName(recentFile1).isPresent()).toBe(true, 'Item is not in trash')) + xit('delete a file and check notification - [C280528]', async () => { + await dataTable.selectItem(recentFile1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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'); - .then(() => apis.user.trashcan.restore(recentFile1Id)) - .then(() => apis.user.search.waitForApi(username, { expect: 4 })); + await apis.user.trashcan.restore(recentFile1Id); + await apis.user.search.waitForApi(username, { expect: 4 }); }); - it('delete multiple files and check notification - [C280529]', () => { - dataTable.selectMultipleItems([recentFile2, recentFile3]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => { - 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`); - }) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(recentFile2).isPresent()).toBe(true, `${recentFile2} is not in trash`); - expect(dataTable.getRowByName(recentFile3).isPresent()).toBe(true, `${recentFile3} is not in trash`); - }) + xit('delete multiple files and check notification - [C280529]', async () => { + await dataTable.selectMultipleItems([recentFile2, recentFile3]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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`); - .then(() => apis.user.trashcan.restore(recentFile2Id)) - .then(() => apis.user.trashcan.restore(recentFile3Id)) - .then(() => apis.user.search.waitForApi(username, { expect: 4 })); + await apis.user.trashcan.restore(recentFile2Id); + await apis.user.trashcan.restore(recentFile3Id); + await apis.user.search.waitForApi(username, { expect: 4 }); }); - it('successful delete notification shows Undo action - [C280534]', () => { - dataTable.selectItem(recentFile1) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.getSnackBarMessage()) - .then(message => expect(message).toContain(`Undo`)) + xit('successful delete notification shows Undo action - [C280534]', async () => { + await dataTable.selectItem(recentFile1); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.menu.clickMenuItem('Delete'); + const message = await page.getSnackBarMessage(); + expect(message).toContain(`Undo`); - .then(() => apis.user.trashcan.restore(recentFile1Id)) - .then(() => apis.user.search.waitForApi(username, { expect: 4 })); + 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 - it('undo delete of file - [C280536]', () => { - dataTable.selectItem(recentFile2) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => expect(dataTable.getRowByName(recentFile2).isPresent()).toBe(false, 'Item is in Trash')); + xit('undo delete of file - [C280536]', async () => { + await dataTable.selectItem(recentFile2); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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 - it('undo delete of multiple files - [C280537]', () => { - dataTable.selectMultipleItems([recentFile3, recentFile4]) - .then(() => toolbar.actions.openMoreMenu()) - .then(() => toolbar.actions.menu.clickMenuItem('Delete')) - .then(() => page.clickSnackBarAction()) - .then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH)) - .then(() => { - expect(dataTable.getRowByName(recentFile3).isPresent()).toBe(false, `${recentFile3} is in Trash`); - expect(dataTable.getRowByName(recentFile4).isPresent()).toBe(false, `${recentFile4} is in Trash`); - }); + xit('undo delete of multiple files - [C280537]', async () => { + await dataTable.selectMultipleItems([recentFile3, recentFile4]); + await toolbar.actions.openMoreMenu(); + await toolbar.actions.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`); }); }); });