diff --git a/e2e/playwright/delete-actions/exclude.tests.json b/e2e/playwright/delete-actions/exclude.tests.json index 8d013e76e..9cbff9db5 100644 --- a/e2e/playwright/delete-actions/exclude.tests.json +++ b/e2e/playwright/delete-actions/exclude.tests.json @@ -1,6 +1,7 @@ { "all": { - "XAT-5019": "locked files and folders shouldn't be able to be deleted", - "XAT-5021": "ocked files and folders shouldn't be able to be deleted" + "XAT-5019": "https://hyland.atlassian.net/browse/ACS-12835", + "XAT-5020": "https://hyland.atlassian.net/browse/ACS-12835", + "XAT-5021": "https://hyland.atlassian.net/browse/ACS-12835" } } diff --git a/e2e/playwright/delete-actions/src/tests/restore.e2e.ts b/e2e/playwright/delete-actions/src/tests/restore.e2e.ts index ce1c9676e..b6311a3e0 100755 --- a/e2e/playwright/delete-actions/src/tests/restore.e2e.ts +++ b/e2e/playwright/delete-actions/src/tests/restore.e2e.ts @@ -88,7 +88,7 @@ test.describe('Restore from Trash', () => { await trashPage.snackBar.verifySnackBarActionText(`${nodeName} restored`); const action = await trashPage.snackBar.getSnackBarActionText(); expect(action).toContain('View'); - expect(await trashPage.dataTable.isItemPresent(nodeName)).toBe(false); + await expect(trashPage.dataTable.getRowByName(nodeName)).toBeHidden(); } test('[XAT-5109] Restore file', async ({ trashPage, personalFiles }) => { @@ -114,8 +114,8 @@ test.describe('Restore from Trash', () => { await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.verifySnackBarActionText(`Restore successful`); await trashPage.navigate(); - expect(await trashPage.dataTable.isItemPresent(file2)).toBe(false); - expect(await trashPage.dataTable.isItemPresent(folder2)).toBe(false); + await expect(trashPage.dataTable.getRowByName(file2)).toBeHidden(); + await expect(trashPage.dataTable.getRowByName(folder2)).toBeHidden(); await personalFiles.navigate(); expect(await personalFiles.dataTable.isItemPresent(file2)).toBe(true); expect(await personalFiles.dataTable.isItemPresent(folder2)).toBe(true); diff --git a/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-user-actions.e2e.ts b/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-manager-actions.e2e.ts similarity index 91% rename from e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-user-actions.e2e.ts rename to e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-manager-actions.e2e.ts index 87422dbbb..3eb167769 100644 --- a/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-user-actions.e2e.ts +++ b/e2e/playwright/special-permissions-collaborator-locked/src/tests/file-locked-by-other-manager-actions.e2e.ts @@ -56,7 +56,7 @@ const buildFile = (): ManagerLockedFile => { test.describe('Special permissions - File locked by other user, user is manager : ', () => { const random = Utils.random(); const userManager = `manager-locked-other-${random}`; - const userDemoted = `demoted-other-${random}`; + const otherManager = `other-manager-locked-other-${random}`; const sitePrivate = `site-private-locked-other-${random}`; const apiClientFactory = new ApiClientFactory(); @@ -64,8 +64,8 @@ test.describe('Special permissions - File locked by other user, user is manager let managerNodeActions: NodesApi; let managerFavoritesActions: FavoritesApi; let managerSearchActions: SearchApi; - let demotedUserActions: NodesApi; - let demotedUserShareActions: SharedLinksApi; + let otherManagerNodeActions: NodesApi; + let otherManagerShareActions: SharedLinksApi; let docLibId: string; const provisionFile = async (item: ManagerLockedFile): Promise => { @@ -74,14 +74,14 @@ test.describe('Special permissions - File locked by other user, user is manager const managerSearchTotalItems = await managerSearchActions.getTotalItems(userManager); item.id = (await managerNodeActions.createFile(item.name, docLibId, '', '', '', true, ['cm:versionable'])).entry.id; - await demotedUserActions.checkoutNodes([item.id]); - await demotedUserShareActions.shareFileById(item.id); + await otherManagerNodeActions.checkoutNodes([item.id]); + await otherManagerShareActions.shareFileById(item.id); await managerFavoritesActions.addFavoriteById('file', item.id); await managerFavoritesActions.isFavoriteWithRetry(userManager, item.id, { expect: true }); await Promise.all([ managerFavoritesActions.waitForApi(userManager, { expect: managerFavoritesTotalItems + 1 }), - demotedUserShareActions.waitForFilesToBeShared([item.id]), + otherManagerShareActions.waitForFilesToBeShared([item.id]), managerSearchActions.waitForApi(userManager, { expect: managerSearchTotalItems + 1 }) ]); }; @@ -89,23 +89,23 @@ test.describe('Special permissions - File locked by other user, user is manager test.beforeAll(async () => { test.setTimeout(timeouts.extendedTest); await apiClientFactory.setUpAcaBackend('admin'); - await apiClientFactory.createUser({ username: userDemoted }); + await apiClientFactory.createUser({ username: otherManager }); await apiClientFactory.createUser({ username: userManager }); managerSiteActions = await SitesApi.initialize(userManager, userManager); managerNodeActions = await NodesApi.initialize(userManager, userManager); managerFavoritesActions = await FavoritesApi.initialize(userManager, userManager); managerSearchActions = await SearchApi.initialize(userManager, userManager); - demotedUserActions = await NodesApi.initialize(userDemoted, userDemoted); - demotedUserShareActions = await SharedLinksApi.initialize(userDemoted, userDemoted); + otherManagerNodeActions = await NodesApi.initialize(otherManager, otherManager); + otherManagerShareActions = await SharedLinksApi.initialize(otherManager, otherManager); await managerSiteActions.createSite(sitePrivate, Site.VisibilityEnum.PRIVATE); - await managerSiteActions.addSiteMember(sitePrivate, userDemoted, Site.RoleEnum.SiteManager); + await managerSiteActions.addSiteMember(sitePrivate, otherManager, Site.RoleEnum.SiteManager); docLibId = await managerSiteActions.getDocLibId(sitePrivate); }); test.beforeEach(async ({ loginPage }) => { - await Utils.tryLoginUser(loginPage, userManager, userManager, 'beforeEach failed'); + await Utils.tryLoginUser(loginPage, otherManager, otherManager, 'beforeEach failed'); }); test.afterAll(async () => { diff --git a/e2e/playwright/special-permissions-consumer/src/tests/consumer-viewer-actions.e2e.ts b/e2e/playwright/special-permissions-consumer/src/tests/consumer-viewer-actions.e2e.ts index 29c8fa650..bdf287dc3 100644 --- a/e2e/playwright/special-permissions-consumer/src/tests/consumer-viewer-actions.e2e.ts +++ b/e2e/playwright/special-permissions-consumer/src/tests/consumer-viewer-actions.e2e.ts @@ -49,7 +49,7 @@ const viewerLockedPrimary = ['Activate full-screen mode', 'View Details', 'More const viewerMore = ['Favorite', 'Copy', 'Manage Versions']; const viewerFavMore = ['Remove Favorite', 'Copy', 'Manage Versions']; const viewerLockedMore = ['Favorite', 'Copy']; -const viewerLockedFavMore = ['Remove Favorite', 'Copy']; +const viewerLockedFavMore = ['Favorite', 'Copy']; const viewerNotVersionableMore = ['Favorite', 'Copy']; interface ConsumerFile { diff --git a/e2e/playwright/special-permissions-folders-repository/src/tests/repository-permissions.e2e.ts b/e2e/playwright/special-permissions-folders-repository/src/tests/repository-permissions.e2e.ts index 9907a0ed0..51feed66c 100644 --- a/e2e/playwright/special-permissions-folders-repository/src/tests/repository-permissions.e2e.ts +++ b/e2e/playwright/special-permissions-folders-repository/src/tests/repository-permissions.e2e.ts @@ -75,6 +75,9 @@ test.describe('Repository — Permissions routing', () => { }); test.beforeEach(async ({ loginPage }) => { + if (typeof admin.username !== 'string' || typeof admin.password !== 'string') { + throw new Error('admin.username or admin.password is undefined'); + } await Utils.tryLoginUser(loginPage, admin.username, admin.password, 'beforeEach (admin) failed'); }); @@ -122,7 +125,7 @@ test.describe('Repository — Permissions routing', () => { test.describe('signed in as a personal user', () => { const personalUser = `perm-personal-${Utils.random()}`; - let personalUserNodesApi: NodesApi; + let personalUserPermissionsNodesApi: NodesApi; let personalUserTrashcanApi: TrashcanApi; let personalFile: { id: string; name: string }; @@ -138,23 +141,27 @@ test.describe('Repository — Permissions routing', () => { } } - personalUserNodesApi = await NodesApi.initialize(personalUser, personalUser); + personalUserPermissionsNodesApi = await NodesApi.initialize(personalUser, personalUser); personalUserTrashcanApi = await TrashcanApi.initialize(personalUser, personalUser); - const personalFileName = `personal-file-${Utils.random()}.txt`; - const created = (await personalUserNodesApi.createFile(personalFileName)).entry; + const personalFileName = `personal-file-repository-${Utils.random()}.txt`; + const created = (await personalUserPermissionsNodesApi.createFile(personalFileName)).entry; personalFile = { id: created.id, name: personalFileName }; } catch (error) { - console.error(`beforeAll (personal user) failed: ${error}`); + console.error(`repository-permissions - beforeAll (personal user) failed: ${error}`); throw error; } }); test.beforeEach(async ({ loginPage }) => { - await Utils.tryLoginUser(loginPage, personalUser, personalUser, 'beforeEach (personal user) failed'); + await Utils.tryLoginUser(loginPage, personalUser, personalUser, 'repository-permissions - beforeEach (personal user) failed'); }); test.afterAll(async () => { - await Utils.deleteNodesSitesEmptyTrashcan(personalUserNodesApi, personalUserTrashcanApi, 'afterAll (personal user) failed'); + await Utils.deleteNodesSitesEmptyTrashcan( + personalUserPermissionsNodesApi, + personalUserTrashcanApi, + 'repository-permissions - afterAll (personal user) failed' + ); }); test('[XAT-19611] Permissions for a Personal File still routes to /personal-files (regression)', async ({ personalFiles }) => {