From abad9f468a55777d1b0a49608e103ef554073bfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Tue, 25 Feb 2025 15:11:18 +0100 Subject: [PATCH 01/14] [ACS-9297] [E2E] Authentication and List Views updated --- .../authentication/exclude.tests.json | 2 +- .../authentication/src/tests/login.e2e.ts | 8 +- .../authentication/src/tests/logout.e2e.ts | 2 +- e2e/playwright/list-views/exclude.tests.json | 4 +- .../list-views/src/tests/empty-list.e2e.ts | 89 +++++++++---------- .../list-views/src/tests/favorites.e2e.ts | 16 ++-- .../src/tests/file-libraries.e2e.ts | 12 +-- .../src/tests/generic-errors.e2e.ts | 4 +- .../list-views/src/tests/permissions.e2e.ts | 25 ++++-- .../src/tests/personal-files.e2e.ts | 8 +- .../list-views/src/tests/recent-files.e2e.ts | 12 +-- .../list-views/src/tests/shared-files.e2e.ts | 14 +-- .../list-views/src/tests/sort-list.e2e.ts | 16 ++-- .../list-views/src/tests/trash-admin.e2e.ts | 2 +- .../list-views/src/tests/trash.e2e.ts | 12 +-- .../src/tests/search-results-libraries.e2e.ts | 12 ++- 16 files changed, 125 insertions(+), 113 deletions(-) diff --git a/e2e/playwright/authentication/exclude.tests.json b/e2e/playwright/authentication/exclude.tests.json index 5039edb122..52723a5153 100644 --- a/e2e/playwright/authentication/exclude.tests.json +++ b/e2e/playwright/authentication/exclude.tests.json @@ -1,3 +1,3 @@ { - "C213097" : "https://hyland.atlassian.net/browse/ACS-5479" + "XAT-4370" : "https://hyland.atlassian.net/browse/ACS-5479" } diff --git a/e2e/playwright/authentication/src/tests/login.e2e.ts b/e2e/playwright/authentication/src/tests/login.e2e.ts index 77ce08cf2a..e96421c814 100644 --- a/e2e/playwright/authentication/src/tests/login.e2e.ts +++ b/e2e/playwright/authentication/src/tests/login.e2e.ts @@ -59,7 +59,7 @@ test.describe('viewer file', () => { }); test.describe('general tests', () => { - test('[C213089] login page layout', async ({ loginPage }) => { + test('[XAT-4366] login page layout', async ({ loginPage }) => { await loginPage.navigate(); await expect(loginPage.username, 'username input is not enabled').toBeEnabled(); await expect(loginPage.password, 'password input is not enabled').toBeEnabled(); @@ -72,14 +72,14 @@ test.describe('viewer file', () => { }); test.describe('with invalid credentials', () => { - test('[C213106] unauthenticated user is redirected to Login page', async ({ personalFiles }) => { + test('[XAT-4378] unauthenticated user is redirected to Login page', async ({ personalFiles }) => { await personalFiles.navigate(); expect(personalFiles.page.url()).toContain('login'); }); }); test.describe('with valid credentials', () => { - test('[C213097] logs in with user with non-latin characters', async ({ loginPage }) => { + test('[XAT-4370] Login with a user that contains non-Latin characters in username or password', async ({ loginPage }) => { await loginPage.navigate(); await loginPage.loginUser({ username: otherLanguageUser.username, password: otherLanguageUser.password }); expect(loginPage.page.url()).toContain('personal-files'); @@ -95,7 +95,7 @@ test.describe('viewer file', () => { expect(loginPage.page.url()).toContain('personal-files'); }); - test('[C213104] user is able to login after changing his password', async ({ loginPage }) => { + test('[XAT-4372] Login with a user that has changed its password', async ({ loginPage }) => { await apiClientFactory.changePassword(testUser2.username, newPassword); await loginPage.navigate(); await loginPage.loginUser({ username: testUser2.username, password: newPassword }); diff --git a/e2e/playwright/authentication/src/tests/logout.e2e.ts b/e2e/playwright/authentication/src/tests/logout.e2e.ts index 6c2fa9e8b0..00609fec30 100644 --- a/e2e/playwright/authentication/src/tests/logout.e2e.ts +++ b/e2e/playwright/authentication/src/tests/logout.e2e.ts @@ -37,7 +37,7 @@ test.describe('viewer file', () => { await apiClientFactory.createUser(testUser); }); - test('[C213145] redirects to Login page when pressing browser Back after logout', async ({ loginPage }) => { + test('[XAT-4382] User is not signed back in when pressing browser Back button after sign out', async ({ loginPage }) => { await loginPage.navigate(); await loginPage.loginUser({ username: testUser.username, password: testUser.password }); await loginPage.logoutUser(); diff --git a/e2e/playwright/list-views/exclude.tests.json b/e2e/playwright/list-views/exclude.tests.json index c07b7e68d3..2f8efbdd23 100644 --- a/e2e/playwright/list-views/exclude.tests.json +++ b/e2e/playwright/list-views/exclude.tests.json @@ -1,4 +1,4 @@ { - "C261153": "https://alfresco.atlassian.net/browse/AAE-7517", - "C589205": "https://hyland.atlassian.net/browse/ACS-9294" + "XAT-4525": "https://alfresco.atlassian.net/browse/AAE-7517", + "XAT-4526": "https://hyland.atlassian.net/browse/ACS-9294" } diff --git a/e2e/playwright/list-views/src/tests/empty-list.e2e.ts b/e2e/playwright/list-views/src/tests/empty-list.e2e.ts index 9f21e6fc30..d5147e81ba 100755 --- a/e2e/playwright/list-views/src/tests/empty-list.e2e.ts +++ b/e2e/playwright/list-views/src/tests/empty-list.e2e.ts @@ -38,46 +38,6 @@ test.describe('Empty list views', () => { await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); }); - test('[C217099] empty My Libraries', async ({ myLibrariesPage }) => { - await myLibrariesPage.navigate(); - expect(await myLibrariesPage.dataTable.isEmpty(), 'list is not empty').toBe(true); - expect(await myLibrariesPage.dataTable.getEmptyStateTitle()).toContain(`You aren't a member of any File Libraries yet`); - expect(await myLibrariesPage.dataTable.getEmptyStateSubtitle()).toContain('Join libraries to upload, view, and share files.'); - }); - - test('[C280134] [C280120] Empty Trash - pagination controls not displayed', async ({ trashPage }) => { - await trashPage.navigate(); - expect(await trashPage.dataTable.isEmpty(), 'list is not empty').toBe(true); - expect(await trashPage.dataTable.getEmptyStateTitle()).toContain('Trash is empty'); - expect(await trashPage.dataTable.getEmptyListText()).toContain('Items you delete are moved to the Trash.'); - expect(await trashPage.dataTable.getEmptyListText()).toContain('Empty Trash to permanently delete items.'); - expect(await trashPage.pagination.isRangePresent(), 'Range is present').toBe(false); - expect(await trashPage.pagination.isMaxItemsPresent(), 'Max items is present').toBe(false); - }); - - test('[C290123] [C290031] Empty Search results - pagination controls not displayed', async ({ personalFiles, searchPage }) => { - await personalFiles.acaHeader.searchButton.click(); - await searchPage.clickSearchButton(); - await searchPage.searchOverlay.checkFilesAndFolders(); - await searchPage.searchOverlay.searchFor('InvalidText'); - await searchPage.reload({ waitUntil: 'domcontentloaded' }); - await searchPage.dataTable.spinnerWaitForReload(); - - expect(await personalFiles.pagination.isRangePresent(), 'Range is present').toBe(false); - expect(await personalFiles.pagination.isMaxItemsPresent(), 'Max items is present').toBe(false); - expect(await personalFiles.dataTable.isEmpty(), 'list is not empty').toBe(true); - expect(await personalFiles.dataTable.emptySearchText.innerText()).toContain('Your search returned 0 results'); - }); - - test('[C290020] Empty Search results - Libraries', async ({ searchPage }) => { - await searchPage.sidenav.openPanel(SIDEBAR_LABELS.MY_LIBRARIES); - /* cspell:disable-next-line */ - await searchPage.searchWithin('qwertyuiop', 'files'); - - expect(await searchPage.dataTable.isEmpty()).toBeTruthy(); - expect(await searchPage.dataTable.emptySearchText.textContent()).toContain('Your search returned 0 results'); - }); - async function openEmptyTab(searchPage: SearchPage, tab: string, emptyStateTitle: string, emptyStateSubtitle: string) { await searchPage.sidenav.openPanel(tab); await searchPage.dataTable.spinnerWaitForReload(); @@ -99,7 +59,14 @@ test.describe('Empty list views', () => { expect(await personalFiles.pagination.isNextButtonPresent()).toBeFalsy(); } - test(`[C289911] empty ${SIDEBAR_LABELS.FAVORITE_LIBRARIES}`, async ({ searchPage }) => { + test('[XAT-4402] Empty My Libraries', async ({ myLibrariesPage }) => { + await myLibrariesPage.navigate(); + expect(await myLibrariesPage.dataTable.isEmpty(), 'list is not empty').toBe(true); + expect(await myLibrariesPage.dataTable.getEmptyStateTitle()).toContain(`You aren't a member of any File Libraries yet`); + expect(await myLibrariesPage.dataTable.getEmptyStateSubtitle()).toContain('Join libraries to upload, view, and share files.'); + }); + + test(`[XAT-4403] Empty Favorite Libraries`, async ({ searchPage }) => { await openEmptyTab( searchPage, SIDEBAR_LABELS.FAVORITE_LIBRARIES, @@ -108,7 +75,7 @@ test.describe('Empty list views', () => { ); }); - test(`[C213169] empty ${SIDEBAR_LABELS.RECENT_FILES}`, async ({ searchPage }) => { + test(`[XAT-4405] Empty Recent Files`, async ({ searchPage }) => { await openEmptyTab( searchPage, SIDEBAR_LABELS.RECENT_FILES, @@ -117,31 +84,55 @@ test.describe('Empty list views', () => { ); }); - test(`[C280133] empty ${SIDEBAR_LABELS.FAVORITES}`, async ({ searchPage }) => { + test(`[XAT-4406] Empty Favorites`, async ({ searchPage }) => { await openEmptyTab(searchPage, SIDEBAR_LABELS.FAVORITES, 'No favorite files or folders', 'Favorite items that you want to easily find later.'); }); - test(`[C280111] ${SIDEBAR_LABELS.FAVORITES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => { + test('[XAT-4581] Trash - Pagination control is not displayed on empty page load', async ({ trashPage }) => { + await trashPage.navigate(); + expect(await trashPage.dataTable.isEmpty(), 'list is not empty').toBe(true); + expect(await trashPage.dataTable.getEmptyStateTitle()).toContain('Trash is empty'); + expect(await trashPage.dataTable.getEmptyListText()).toContain('Items you delete are moved to the Trash.'); + expect(await trashPage.dataTable.getEmptyListText()).toContain('Empty Trash to permanently delete items.'); + expect(await trashPage.pagination.isRangePresent(), 'Range is present').toBe(false); + expect(await trashPage.pagination.isMaxItemsPresent(), 'Max items is present').toBe(false); + }); + + test('[XAT-4590] Search Page - Pagination control is not displayed on empty page load', async ({ personalFiles, searchPage }) => { + await personalFiles.acaHeader.searchButton.click(); + await searchPage.clickSearchButton(); + await searchPage.searchOverlay.checkFilesAndFolders(); + await searchPage.searchOverlay.searchFor('InvalidText'); + await searchPage.reload({ waitUntil: 'domcontentloaded' }); + await searchPage.dataTable.spinnerWaitForReload(); + + expect(await personalFiles.pagination.isRangePresent(), 'Range is present').toBe(false); + expect(await personalFiles.pagination.isMaxItemsPresent(), 'Max items is present').toBe(false); + expect(await personalFiles.dataTable.isEmpty(), 'list is not empty').toBe(true); + expect(await personalFiles.dataTable.emptySearchText.innerText()).toContain('Your search returned 0 results'); + }); + + test(`[XAT-4573] Favorites - Pagination control is not displayed on empty page load`, async ({ searchPage, personalFiles }) => { await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.FAVORITES, personalFiles); }); - test(`[C280084] ${SIDEBAR_LABELS.MY_LIBRARIES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => { + test(`[XAT-4537] My Libraries - Pagination control is not displayed on empty page load`, async ({ searchPage, personalFiles }) => { await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.MY_LIBRARIES, personalFiles); }); - test(`[C291873] ${SIDEBAR_LABELS.FAVORITE_LIBRARIES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => { + test(`[XAT-4546] Favorite Libraries - Pagination control is not displayed on empty page load`, async ({ searchPage, personalFiles }) => { await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.FAVORITE_LIBRARIES, personalFiles); }); - test(`[C280075] ${SIDEBAR_LABELS.PERSONAL_FILES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => { + test(`[XAT-4528] Personal Files - Pagination control is not displayed on empty page load`, async ({ searchPage, personalFiles }) => { await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.PERSONAL_FILES, personalFiles); }); - test(`[C280102] ${SIDEBAR_LABELS.RECENT_FILES} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => { + test(`[XAT-4564] Recent Files - Pagination control is not displayed on empty page load`, async ({ searchPage, personalFiles }) => { await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.RECENT_FILES, personalFiles); }); - test(`[C280120] ${SIDEBAR_LABELS.TRASH} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => { + test(`[XAT-4581] Trash - Pagination control is not displayed on empty page load`, async ({ searchPage, personalFiles }) => { await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.TRASH, personalFiles); }); }); diff --git a/e2e/playwright/list-views/src/tests/favorites.e2e.ts b/e2e/playwright/list-views/src/tests/favorites.e2e.ts index 58d4d160b9..d3e9ab9b7e 100644 --- a/e2e/playwright/list-views/src/tests/favorites.e2e.ts +++ b/e2e/playwright/list-views/src/tests/favorites.e2e.ts @@ -90,21 +90,21 @@ test.describe('Favorites Files', () => { await favoritePage.navigate(); }); - test('[C280482] has the correct columns', async ({ favoritePage }) => { + test('[XAT-4454] Favorites list has the correct columns', async ({ favoritePage }) => { const expectedColumns = ['Name', 'Location', 'Size', 'Modified', 'Modified by', 'Tags']; const actualColumns = Utils.trimArrayElements(await favoritePage.dataTable.getColumnHeaders()); expect(actualColumns).toEqual(expectedColumns); }); - test(`[C213228] deleted favorite file does not appear`, async ({ favoritePage }) => { + test(`[XAT-4456] Deleted favorite files and folders do not appear in the list`, async ({ favoritePage }) => { expect(await favoritePage.dataTable.isItemPresent(fileName3), `${fileName3} is displayed`).not.toBe(true); }); - test(`[C213229] file is displayed after it is restored from Trashcan`, async ({ favoritePage }) => { + test(`[XAT-4457] Favorite files and folders restored from trashcan are displayed in the list`, async ({ favoritePage }) => { expect(await favoritePage.dataTable.isItemPresent(fileName4), `${fileName4} not displayed`).toBe(true); }); - test('[C213231] Location column displays the parent folder of the files', async ({ favoritePage }) => { + test('[XAT-4459] Location column displays the parent folder of the file as link', async ({ favoritePage }) => { expect(await favoritePage.dataTable.getItemLocationText(fileName2)).toEqual(parentFolder); expect(await favoritePage.dataTable.getItemLocationText(favFolderName)).toEqual('Personal Files'); expect(await favoritePage.dataTable.getItemLocationTooltip(fileName2)).toEqual(`Personal Files/${parentFolder}`); @@ -114,25 +114,25 @@ test.describe('Favorites Files', () => { expect(await favoritePage.dataTable.getItemLocationTooltip(fileName1)).toContain(`${siteName}`); }); - test('[C213650] Location column redirect - item in user Home', async ({ favoritePage }) => { + test(`[XAT-4460] Clicking on the location link redirects to parent folder - item in User's Home`, async ({ favoritePage }) => { await favoritePage.dataTable.clickItemLocation(favFolderName); await favoritePage.dataTable.spinnerWaitForReload(); expect(await favoritePage.breadcrumb.getAllItems()).toEqual(['Personal Files']); }); - test('[C280484] Location column redirect - file in folder', async ({ favoritePage }) => { + test('[XAT-4461] Clicking on the location link redirects to parent folder - item in a folder', async ({ favoritePage }) => { await favoritePage.dataTable.clickItemLocation(fileName2); await favoritePage.dataTable.spinnerWaitForReload(); expect(await favoritePage.breadcrumb.getAllItems()).toEqual(['Personal Files', parentFolder]); }); - test('[C280485] Location column redirect - file in site', async ({ favoritePage }) => { + test('[XAT-4462] Clicking on the location link redirects to parent folder - item in a site', async ({ favoritePage }) => { await favoritePage.dataTable.clickItemLocation(fileName1); await favoritePage.dataTable.spinnerWaitForReload(); expect(await favoritePage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]); }); - test('[C213230] Navigate into folder from Favorites', async ({ favoritePage }) => { + test('[XAT-4458] Navigate into a folder from Favorites', async ({ favoritePage }) => { await favoritePage.dataTable.performClickFolderOrFileToOpen(favFolderName); await favoritePage.dataTable.spinnerWaitForReload(); await expect(favoritePage.breadcrumb.currentItem).toHaveText(favFolderName); diff --git a/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts b/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts index e3fc20ce4e..c1f69d8e0f 100755 --- a/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts +++ b/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts @@ -93,13 +93,13 @@ test.describe('File Libraries', () => { await myLibrariesPage.navigate(); }); - test('[C217095] has the correct columns', async ({ myLibrariesPage }) => { + test('[XAT-4416] My Libraries list has the correct columns', async ({ myLibrariesPage }) => { const expectedColumns = ['Name', 'Description', 'My Role', 'Visibility']; const actualColumns = Utils.trimArrayElements(await myLibrariesPage.dataTable.getColumnHeaders()); expect(actualColumns).toEqual(expectedColumns); }); - test('[C289905] Library visibility is correctly displayed', async ({ myLibrariesPage }) => { + test('[XAT-4418] My Libraries - Library visibility is correctly displayed', async ({ myLibrariesPage }) => { const expectedSitesVisibility = { [userSitePrivate]: Site.VisibilityEnum.PRIVATE, [userSiteModerated]: Site.VisibilityEnum.MODERATED, @@ -111,7 +111,7 @@ test.describe('File Libraries', () => { } }); - test('[C289903] User role is correctly displayed', async ({ myLibrariesPage }) => { + test('[XAT-4419] My Libraries - User role is correctly displayed', async ({ myLibrariesPage }) => { const expectedSitesRoles = { [adminSite1]: Site.RoleEnum.SiteConsumer, [adminSite2]: Site.RoleEnum.SiteContributor, @@ -125,7 +125,7 @@ test.describe('File Libraries', () => { } }); - test('[C217098] Site ID is displayed when two sites have the same name', async ({ myLibrariesPage }) => { + test('[XAT-4420] My Libraries - Site ID is displayed when two sites have the same name', async ({ myLibrariesPage }) => { const expectedSites = [`${siteName} (${siteId1})`, `${siteName} (${siteId2})`]; const actualSite1 = await myLibrariesPage.dataTable.getRowAllInnerTexts(siteId1); expect(actualSite1).toContain(expectedSites[0]); @@ -140,14 +140,14 @@ test.describe('File Libraries', () => { await favoritesLibrariesPage.navigate(); }); - test('[C289893] has the correct columns', async ({ favoritesLibrariesPage }) => { + test('[XAT-4423] Favorite Libraries list has the correct columns', async ({ favoritesLibrariesPage }) => { const expectedColumns = ['Name', 'Description', 'My Role', 'Visibility']; const actualColumns = Utils.trimArrayElements(await favoritesLibrariesPage.dataTable.getColumnHeaders()); expect(actualColumns).toEqual(expectedColumns); }); - test('[C289897] User can see only his favorite sites', async ({ favoritesLibrariesPage }) => { + test('[XAT-4424] User can see only his favorite sites', async ({ favoritesLibrariesPage }) => { expect(await favoritesLibrariesPage.dataTable.isItemPresent(adminSite5), `${adminSite5} should not appear`).toBe(false); }); }); diff --git a/e2e/playwright/list-views/src/tests/generic-errors.e2e.ts b/e2e/playwright/list-views/src/tests/generic-errors.e2e.ts index a8963564c1..6d985895a0 100755 --- a/e2e/playwright/list-views/src/tests/generic-errors.e2e.ts +++ b/e2e/playwright/list-views/src/tests/generic-errors.e2e.ts @@ -63,7 +63,7 @@ test.describe('Generic errors', () => { await trashcanApi.emptyTrashcan(); }); - test('[C217313] File / folder not found', async ({ personalFiles }) => { + test('[XAT-4516] File / folder not found', async ({ personalFiles }) => { await actionUser.deleteNodeById(file1Id, false); await personalFiles.navigate({ remoteUrl: `#/personal-files/${file1Id}` }); @@ -73,7 +73,7 @@ test.describe('Generic errors', () => { ); }); - test('[C217314] Permission denied', async ({ personalFiles, loginPage }) => { + test('[XAT-4517] Permission denied', async ({ personalFiles, loginPage }) => { await loginPage.logoutUser(); await loginPage.loginUser( { username: username2, password: username2 }, diff --git a/e2e/playwright/list-views/src/tests/permissions.e2e.ts b/e2e/playwright/list-views/src/tests/permissions.e2e.ts index c5b39b7cf2..50726ada24 100755 --- a/e2e/playwright/list-views/src/tests/permissions.e2e.ts +++ b/e2e/playwright/list-views/src/tests/permissions.e2e.ts @@ -93,7 +93,9 @@ test.describe('Special permissions', () => { await siteApiAdmin.deleteSites([sitePrivate]); }); - test('[C213173] on Recent Files', async ({ recentFilesPage }) => { + test('[XAT-4445] Recent Files - File recently edited that the user no longer has permission to view is not displayed in the list', async ({ + recentFilesPage + }) => { await recentFilesPage.navigate(); expect(await recentFilesPage.dataTable.getRowsCount(), 'Incorrect number of items').toBeGreaterThanOrEqual(1); await siteApiAdmin.deleteSiteMember(sitePrivate, username); @@ -101,7 +103,7 @@ test.describe('Special permissions', () => { expect(await recentFilesPage.dataTable.isItemPresent(fileName), 'Items are still displayed').toBe(false); }); - test('[C213227] on Favorites', async ({ favoritePage }) => { + test('[XAT-4455] Favorites - File is not displayed if the user no longer has permissions on it', async ({ favoritePage }) => { await favoritePage.navigate(); expect(await favoritePage.dataTable.getRowsCount(), 'Incorrect number of items').toBe(1); await siteApiAdmin.deleteSiteMember(sitePrivate, username); @@ -109,7 +111,7 @@ test.describe('Special permissions', () => { expect(await favoritePage.dataTable.isEmpty(), 'Items are still displayed').toBe(true); }); - test('[C213116] on Shared Files', async ({ sharedPage }) => { + test(`[XAT-4433] Shared file that the user doesn't have permission to view is not displayed in the list`, async ({ sharedPage }) => { await sharedPage.navigate(); await expect(sharedPage.dataTable.getRowByName(sitePrivate)).toBeVisible(); await siteApiAdmin.deleteSiteMember(sitePrivate, username); @@ -173,24 +175,33 @@ test.describe('Special permissions', () => { await adminSiteApiActions.deleteSites([sitePrivate]); }); - test('[C213178] on Recent Files', async ({ recentFilesPage }) => { + test(`[XAT-4452] Recent Files - Location column is empty if the user doesn't have permissions on the file's parent folder`, async ({ + recentFilesPage + }) => { await recentFilesPage.navigate(); expect(await recentFilesPage.dataTable.isItemPresent(fileName)).toBe(true); expect(await recentFilesPage.dataTable.getItemLocationText(fileName)).toEqual('Unknown'); }); - test('[C213672] on Favorites', async ({ favoritePage }) => { + test(`[XAT-4464] Favorites - Location column is empty if the user doesn't have permissions on the file's parent folder`, async ({ + favoritePage + }) => { await favoritePage.navigate(); expect(await favoritePage.dataTable.getRowsCount(), 'Incorrect number of items').toBe(1); expect(await favoritePage.dataTable.getItemLocationText(fileName)).toEqual('Unknown'); }); - test(`[C213668] on Shared Files`, async ({ sharedPage }) => { + test(`[XAT-4441] Shared Files - Location column is empty if the user doesn't have permissions on the file's parent folder`, async ({ + sharedPage + }) => { await sharedPage.navigate(); expect(await sharedPage.dataTable.getItemLocationText(fileName)).toEqual('Unknown'); }); - test('[C306868] on Search results', async ({ personalFiles, searchPage }) => { + test(`[XAT-5612] Search Page - Location column is empty if the user doesn't have permissions on the file's parent folder`, async ({ + personalFiles, + searchPage + }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); diff --git a/e2e/playwright/list-views/src/tests/personal-files.e2e.ts b/e2e/playwright/list-views/src/tests/personal-files.e2e.ts index d3b314fed6..d463785c39 100644 --- a/e2e/playwright/list-views/src/tests/personal-files.e2e.ts +++ b/e2e/playwright/list-views/src/tests/personal-files.e2e.ts @@ -53,18 +53,18 @@ test.describe('Personal Files', () => { await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); }); - test('[C217142] has the correct columns', async ({ personalFiles }) => { + test('[XAT-4414] Personal Files list displays correct columns', async ({ personalFiles }) => { const expectedColumns = ['Name', 'Size', 'Modified', 'Modified by', 'Tags']; const actualColumns = Utils.trimArrayElements(await personalFiles.dataTable.getColumnHeaders()); expect(actualColumns).toEqual(expectedColumns); }); - test('[C217143] has default sorted column', async ({ personalFiles }) => { + test('[XAT-4415] Personal Files - Default sort order', async ({ personalFiles }) => { await Utils.reloadPageIfDatatableEmpty(personalFiles); expect(await personalFiles.dataTable.getSortedColumnHeaderText()).toBe('Name'); }); - test('[C213245] redirects to Personal Files on clicking the link from sidebar', async ({ personalFiles }) => { + test('[XAT-4411] User is redirected to Home page on selecting from any folder location', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(userFolder); await personalFiles.sidenav.openPanel(SIDEBAR_LABELS.PERSONAL_FILES); await personalFiles.dataTable.spinnerWaitForReload(); @@ -72,7 +72,7 @@ test.describe('Personal Files', () => { expect(await personalFiles.sidenav.isActive(SIDEBAR_LABELS.PERSONAL_FILES), 'My Libraries link not active').toBe(true); }); - test('[C213246] page loads correctly after browser refresh', async ({ personalFiles }) => { + test('[XAT-4412] Personal Files - List reloads on browser Refresh', async ({ personalFiles }) => { await personalFiles.reload(); expect(personalFiles.page.url()).toContain(APP_ROUTES.PERSONAL_FILES); }); diff --git a/e2e/playwright/list-views/src/tests/recent-files.e2e.ts b/e2e/playwright/list-views/src/tests/recent-files.e2e.ts index 3f6e016a01..5360e6bc48 100755 --- a/e2e/playwright/list-views/src/tests/recent-files.e2e.ts +++ b/e2e/playwright/list-views/src/tests/recent-files.e2e.ts @@ -82,35 +82,35 @@ test.describe('Recent Files', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodeActionsUser, trashcanApi, 'afterAll failed', siteActionsUser, [siteName]); }); - test('[C213168] has the correct columns', async ({ recentFilesPage }) => { + test('[XAT-4442] Recent Files list has the correct columns', async ({ recentFilesPage }) => { const expectedColumns = ['Name', 'Location', 'Size', 'Modified', 'Tags']; const actualColumns = Utils.trimArrayElements(await recentFilesPage.dataTable.getColumnHeaders()); expect(actualColumns).toEqual(expectedColumns); }); - test('[C213171] default sorting column', async ({ recentFilesPage }) => { + test('[XAT-4444] Default sort order is by Modified, showing most recently edited files first', async ({ recentFilesPage }) => { expect(await recentFilesPage.dataTable.getSortedColumnHeaderText()).toBe('Modified'); expect(await recentFilesPage.dataTable.getSortingOrder()).toBe('desc'); }); - test(`[C213174] file not displayed if it's been deleted`, async ({ recentFilesPage }) => { + test(`[XAT-4446] File recently edited that is deleted afterwards is not displayed in the list`, async ({ recentFilesPage }) => { expect(await recentFilesPage.dataTable.isItemPresent(fileName3), `${fileName3} is displayed`).not.toBe(true); }); - test('[C213176] Location column redirect - file in user Home', async ({ recentFilesPage }) => { + test(`[XAT-4448] Clicking on the location link redirects to parent folder - item in User's Home`, async ({ recentFilesPage }) => { await recentFilesPage.dataTable.clickItemLocation(fileName2); await recentFilesPage.dataTable.spinnerWaitForReload(); expect(await recentFilesPage.breadcrumb.getAllItems()).toEqual(['Personal Files']); }); - test('[C280486] Location column redirect - file in folder', async ({ recentFilesPage }) => { + test('[XAT-4449] Clicking on the location link redirects to parent folder - item in a folder', async ({ recentFilesPage }) => { await recentFilesPage.dataTable.clickItemLocation(fileName1); await recentFilesPage.dataTable.spinnerWaitForReload(); expect(await recentFilesPage.breadcrumb.getAllItems()).toEqual(['Personal Files', folderName]); }); - test('[C280487] Location column redirect - file in site', async ({ recentFilesPage }) => { + test('[XAT-4450] Clicking on the location link redirects to parent folder - item in a site', async ({ recentFilesPage }) => { await recentFilesPage.dataTable.clickItemLocation(fileSite); await recentFilesPage.dataTable.spinnerWaitForReload(); expect(await recentFilesPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName, folderSite]); diff --git a/e2e/playwright/list-views/src/tests/shared-files.e2e.ts b/e2e/playwright/list-views/src/tests/shared-files.e2e.ts index b939b4e38b..04b76404a1 100644 --- a/e2e/playwright/list-views/src/tests/shared-files.e2e.ts +++ b/e2e/playwright/list-views/src/tests/shared-files.e2e.ts @@ -92,38 +92,38 @@ test.describe('Shared Files', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActionsAdmin, [siteName]); }); - test('[C213113] has the correct columns', async ({ sharedPage }) => { + test('[XAT-4430] Shared files list view has the correct columns', async ({ sharedPage }) => { const expectedColumns = ['Name', 'Location', 'Size', 'Modified', 'Modified by', 'Shared by', 'Tags']; const actualColumns = Utils.trimArrayElements(await sharedPage.dataTable.getColumnHeaders()); expect(actualColumns).toEqual(expectedColumns); }); - test('[C213115] default sorting column', async ({ sharedPage }) => { + test('[XAT-4432] Default sort order is by Modified date, showing most recently edited files first', async ({ sharedPage }) => { expect(await sharedPage.dataTable.getSortedColumnHeaderText()).toBe('Modified'); expect(await sharedPage.dataTable.getSortingOrder()).toBe('desc'); }); - test(`[C213117] file not displayed if it's been deleted`, async ({ sharedPage }) => { + test(`[XAT-4434] File that was quick shared and deleted afterwards is not displayed in the list`, async ({ sharedPage }) => { expect(await sharedPage.dataTable.isItemPresent(file2User), `${file2User} is displayed`).toBe(false); }); - test('[C213118] unshared file is not displayed', async ({ sharedPage }) => { + test('[XAT-4435] File that was quick shared and then unshared is not displayed in the list', async ({ sharedPage }) => { expect(await sharedPage.dataTable.isItemPresent(file3User), `${file3User} is displayed`).toBe(false); }); - test('[C213666] Location column redirect - file in user Home', async ({ sharedPage }) => { + test(`[XAT-4437] Clicking on the location link redirects to parent folder - item in User's Home`, async ({ sharedPage }) => { await sharedPage.dataTable.clickItemLocation(file4User); await sharedPage.dataTable.spinnerWaitForReload(); expect(await sharedPage.breadcrumb.getAllItems()).toEqual(['Personal Files']); }); - test('[C280490] Location column redirect - file in folder', async ({ sharedPage }) => { + test('[XAT-4438] Clicking on the location link redirects to parent folder - item in a folder', async ({ sharedPage }) => { await sharedPage.dataTable.clickItemLocation(file1User); await sharedPage.dataTable.spinnerWaitForReload(); expect(await sharedPage.breadcrumb.getAllItems()).toEqual(['Personal Files', folderUser]); }); - test('[C280491] Location column redirect - file in site', async ({ sharedPage }) => { + test('[XAT-4439] Clicking on the location link redirects to parent folder - item in a site', async ({ sharedPage }) => { await sharedPage.dataTable.clickItemLocation(fileAdmin); await sharedPage.dataTable.spinnerWaitForReload(); expect(await sharedPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]); diff --git a/e2e/playwright/list-views/src/tests/sort-list.e2e.ts b/e2e/playwright/list-views/src/tests/sort-list.e2e.ts index 670d598184..ffec275be4 100644 --- a/e2e/playwright/list-views/src/tests/sort-list.e2e.ts +++ b/e2e/playwright/list-views/src/tests/sort-list.e2e.ts @@ -122,7 +122,7 @@ test.describe('Remember sorting', () => { await nodeActionUser2.deleteCurrentUserNodes(); }); - test('[C261136] Sort order is retained when navigating to another part of the app', async ({ personalFiles, favoritePage }) => { + test('[XAT-4519] Sort order is retained when navigating to another part of the app', async ({ personalFiles, favoritePage }) => { await personalFiles.dataTable.sortBy('Name', 'desc'); await personalFiles.dataTable.spinnerWaitForReload(); @@ -136,7 +136,7 @@ test.describe('Remember sorting', () => { expect(actualSortData).toEqual(expectedSortData); }); - test('[C589205] Size sort order is retained after viewing a file and closing the viewer', async ({ personalFiles }) => { + test('[XAT-4526] Size sort order is retained after viewing a file and closing the viewer', async ({ personalFiles }) => { await personalFiles.dataTable.sortBy('Size', 'desc'); await personalFiles.dataTable.spinnerWaitForReload(); const expectedSortData = await getSortState(personalFiles); @@ -149,7 +149,7 @@ test.describe('Remember sorting', () => { expect(actualSortData).toEqual(expectedSortData); }); - test('[C261153] Sort order should be remembered separately on each list view', async ({ personalFiles, favoritePage }) => { + test('[XAT-4525] Sort order should be remembered separately on each list view', async ({ personalFiles, favoritePage }) => { await personalFiles.dataTable.sortBy('Size', 'desc'); await personalFiles.dataTable.spinnerWaitForReload(); const personalFilesSortData = await getSortState(personalFiles); @@ -166,7 +166,7 @@ test.describe('Remember sorting', () => { expect(personalFilesSortDataAfterFavSort).toEqual(personalFilesSortData); }); - test('[C261147] Sort order is retained when user changes the page from pagination', async ({ personalFiles }) => { + test('[XAT-4523] Sort order is retained when user changes the page from pagination', async ({ personalFiles }) => { const lastFileInArray = testData.user1.files.jpg.slice(-2).pop(); const firstFileInArray = testData.user1.files.pdf[0]; @@ -201,7 +201,7 @@ test.describe('Remember sorting', () => { folderIds[folderToMove] = (await nodeActionUser1.createFolder(folderToMove)).entry.id; }); - test('[C261138] Sort order is retained when creating a new folder', async ({ personalFiles }) => { + test('[XAT-4521] Sort order is retained when creating a new folder', async ({ personalFiles }) => { await personalFiles.dataTable.sortBy('Name', 'desc'); await personalFiles.dataTable.spinnerWaitForReload(); @@ -219,7 +219,7 @@ test.describe('Remember sorting', () => { expect(actualSortData).toEqual(expectedSortData); }); - test('[C261139] Sort order is retained when moving a file', async ({ personalFiles }) => { + test('[XAT-4522] Sort order is retained when moving a file', async ({ personalFiles }) => { const expectedSortData = { sortingColumn: await personalFiles.dataTable.getSortedColumnHeaderText(), sortingOrder: await personalFiles.dataTable.getSortingOrder(), @@ -234,7 +234,7 @@ test.describe('Remember sorting', () => { test.describe('User Tests', () => { test.describe.configure({ mode: 'serial' }); - test('[C261137] Size sort order is retained when user logs out and logs back in', async ({ personalFiles, loginPage }) => { + test('[XAT-4520] Size sort order is retained when user logs out and logs back in', async ({ personalFiles, loginPage }) => { await personalFiles.dataTable.sortBy('Name', 'desc'); await personalFiles.dataTable.spinnerWaitForReload(); const expectedSortData = await getSortState(personalFiles); @@ -249,7 +249,7 @@ test.describe('Remember sorting', () => { expect(actualSortData).toEqual(expectedSortData); }); - test('[C261150] Sort order is not retained between different users', async ({ personalFiles, loginPage }) => { + test('[XAT-4524] Sort order is retained per user', async ({ personalFiles, loginPage }) => { await personalFiles.dataTable.sortBy('Size', 'asc'); await personalFiles.dataTable.spinnerWaitForReload(); const expectedSortData = await getSortState(personalFiles); diff --git a/e2e/playwright/list-views/src/tests/trash-admin.e2e.ts b/e2e/playwright/list-views/src/tests/trash-admin.e2e.ts index a52901a4e6..bcc16e6b04 100755 --- a/e2e/playwright/list-views/src/tests/trash-admin.e2e.ts +++ b/e2e/playwright/list-views/src/tests/trash-admin.e2e.ts @@ -51,7 +51,7 @@ test.describe('Trash admin', () => { }); test.describe('as admin', () => { - test('[C213217] has the correct columns', async ({ trashPage }) => { + test('[XAT-4465] Trash list has correct columns - admin', async ({ trashPage }) => { await trashPage.navigate(); const expectedColumns = ['Name', 'Location', 'Size', 'Deleted', 'Deleted by']; const actualColumns = Utils.trimArrayElements(await trashPage.dataTable.getColumnHeaders()); diff --git a/e2e/playwright/list-views/src/tests/trash.e2e.ts b/e2e/playwright/list-views/src/tests/trash.e2e.ts index 1dd390276c..7c9e1e4555 100755 --- a/e2e/playwright/list-views/src/tests/trash.e2e.ts +++ b/e2e/playwright/list-views/src/tests/trash.e2e.ts @@ -77,35 +77,35 @@ test.describe('Trash', () => { await trashPage.navigate(); }); - test('[C280494] has the correct columns', async ({ trashPage }) => { + test('[XAT-4466] Trash list has correct columns - non admin', async ({ trashPage }) => { const expectedColumns = ['Name', 'Location', 'Size', 'Deleted']; const actualColumns = Utils.trimArrayElements(await trashPage.dataTable.getColumnHeaders()); expect(actualColumns).toEqual(expectedColumns); }); - test('[C213219] default sorting column', async ({ trashPage }) => { + test(`[XAT-4469] Default sort order is on 'Deleted' column with most recent first`, async ({ trashPage }) => { expect(await trashPage.dataTable.getSortedColumnHeaderText()).toBe('Deleted'); expect(await trashPage.dataTable.getSortingOrder()).toBe('desc'); }); - test('[C280500] Location column is empty if parent folder no longer exists', async ({ trashPage }) => { + test('[XAT-4475] Location column is empty if parent folder no longer exists', async ({ trashPage }) => { expect(await trashPage.dataTable.getItemLocationText(fileDeleted)).toEqual(''); }); - test('[C217144] Location column redirect - file in user Home', async ({ trashPage }) => { + test(`[XAT-4470] Clicking on the location link redirects to parent folder - item in User's Home`, async ({ trashPage }) => { await trashPage.dataTable.clickItemLocation(fileUser); await trashPage.dataTable.spinnerWaitForReload(); expect(await trashPage.breadcrumb.getAllItems()).toEqual(['Personal Files']); }); - test('[C280496] Location column redirect - file in folder', async ({ trashPage }) => { + test('[XAT-4471] Clicking on the location link redirects to parent folder - item in a folder', async ({ trashPage }) => { await trashPage.dataTable.clickItemLocation(fileInFolder); await trashPage.dataTable.spinnerWaitForReload(); expect(await trashPage.breadcrumb.getAllItems()).toEqual(['Personal Files', folderNotDeleted]); }); - test('[C280497] Location column redirect - file in site', async ({ trashPage }) => { + test('[XAT-4472] Clicking on the location link redirects to parent folder - item in a site', async ({ trashPage }) => { await trashPage.dataTable.clickItemLocation(fileSite); await trashPage.dataTable.spinnerWaitForReload(); expect(await trashPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]); diff --git a/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts b/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts index 3b2e27573b..65962b774c 100644 --- a/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts +++ b/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts @@ -32,7 +32,8 @@ import { SitesApi, FileActionsApi, SITE_VISIBILITY, - SITE_ROLES + SITE_ROLES, + SIDEBAR_LABELS } from '@alfresco/aca-playwright-shared'; test.describe('Search Results - General', () => { @@ -216,4 +217,13 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(siteRussian.name)).toBeTruthy(); }); + + test('[C290020] Empty Search results - Libraries', async ({ searchPage }) => { + await searchPage.sidenav.openPanel(SIDEBAR_LABELS.MY_LIBRARIES); + /* cspell:disable-next-line */ + await searchPage.searchWithin('qwertyuiop', 'files'); + + expect(await searchPage.dataTable.isEmpty()).toBeTruthy(); + expect(await searchPage.dataTable.emptySearchText.textContent()).toContain('Your search returned 0 results'); + }); }); From 6eb404f735f64ab7f94616510e17a9515bff59ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Wed, 26 Feb 2025 11:06:04 +0100 Subject: [PATCH 02/14] [ACS-9297] navigation tests IDs updated --- .../navigation/src/tests/breadcrumb-admin.e2e.ts | 2 +- .../navigation/src/tests/breadcrumb.e2e.ts | 14 +++++++------- e2e/playwright/navigation/src/tests/sidebar.e2e.ts | 13 ++++++++----- .../navigation/src/tests/single-click.e2e.ts | 6 +++--- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/e2e/playwright/navigation/src/tests/breadcrumb-admin.e2e.ts b/e2e/playwright/navigation/src/tests/breadcrumb-admin.e2e.ts index 39a8d4012b..70432fc98b 100644 --- a/e2e/playwright/navigation/src/tests/breadcrumb-admin.e2e.ts +++ b/e2e/playwright/navigation/src/tests/breadcrumb-admin.e2e.ts @@ -48,7 +48,7 @@ test.describe('as admin', () => { await nodesApi.deleteNodes([userFolderId], true); }); - test(`[C260970] Breadcrumb on navigation to a user's home`, async ({ personalFiles }) => { + test(`[XAT-4400] Breadcrumb on navigation to a user's home as admin`, async ({ personalFiles }) => { await personalFiles.navigate({ remoteUrl: `#/personal-files/${userFolderId}` }); await personalFiles.breadcrumb.getItemByTitle(userFolder).waitFor({ state: 'attached' }); expect(await personalFiles.breadcrumb.getAllItems()).toEqual(['Personal Files', userFolder]); diff --git a/e2e/playwright/navigation/src/tests/breadcrumb.e2e.ts b/e2e/playwright/navigation/src/tests/breadcrumb.e2e.ts index 2b1fe1252f..6e2b85582d 100644 --- a/e2e/playwright/navigation/src/tests/breadcrumb.e2e.ts +++ b/e2e/playwright/navigation/src/tests/breadcrumb.e2e.ts @@ -88,25 +88,25 @@ test.describe('viewer action file', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActions, [docLibId]); }); - test('[C260964] Personal Files breadcrumb main node', async ({ personalFiles }) => { + test('[XAT-4387] Personal Files breadcrumb main node', async ({ personalFiles }) => { await personalFiles.navigate({ remoteUrl: `#/personal-files/` }); expect(await personalFiles.breadcrumb.items.count(), 'Breadcrumb has incorrect number of items').toEqual(1); await expect(personalFiles.breadcrumb.currentItem).toHaveText('Personal Files'); }); - test('[C260965] Personal Files breadcrumb for a folder hierarchy', async ({ personalFiles }) => { + test('[XAT-4388] Personal Files breadcrumb for a folder hierarchy', async ({ personalFiles }) => { await personalFiles.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` }); const expectedBreadcrumb = ['Personal Files', parent, subFolder1, subFolder2]; expect(await personalFiles.breadcrumb.getAllItems()).toEqual(expectedBreadcrumb); }); - test('[C260967] File Libraries breadcrumb for a folder hierarchy', async ({ myLibrariesPage }) => { + test('[XAT-4391] My Libraries breadcrumb for a folder hierarchy', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate({ remoteUrl: `#/libraries/${subFolder2FromSiteId}` }); const expectedItems = ['My Libraries', siteName, parentFromSite, subFolder1FromSite, subFolder2FromSite]; expect(await myLibrariesPage.breadcrumb.getAllItems()).toEqual(expectedItems); }); - test('[C213235] User can navigate to any location by clicking on a step from the breadcrumb', async ({ personalFiles }) => { + test('[XAT-4396] User can navigate to any location by clicking on any step from the breadcrumb', async ({ personalFiles }) => { await personalFiles.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` }); await personalFiles.breadcrumb.clickItem(subFolder1); await personalFiles.dataTable.spinnerWaitForReload(); @@ -114,13 +114,13 @@ test.describe('viewer action file', () => { expect(await personalFiles.breadcrumb.getAllItems()).toEqual(expectedBreadcrumb); }); - test('[C213237] Tooltip appears on hover on a step in breadcrumb', async ({ personalFiles }) => { + test('[XAT-4397] Tooltip appears on hover on a step in breadcrumb', async ({ personalFiles }) => { await personalFiles.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` }); const item = personalFiles.breadcrumb.items.nth(2); await expect(item).toHaveAttribute('title', subFolder1); }); - test('[C213238] Breadcrumb updates correctly when folder is renamed', async ({ personalFiles, nodesApiAction }) => { + test('[XAT-4398] Breadcrumb updates correctly when folder is renamed', async ({ personalFiles, nodesApiAction }) => { await nodesApiAction.renameNode(folder1Id, folder1Renamed); await personalFiles.navigate({ remoteUrl: `#/personal-files/${folder1Id}` }); await personalFiles.page.reload(); @@ -128,7 +128,7 @@ test.describe('viewer action file', () => { await expect(personalFiles.breadcrumb.currentItem).toHaveText(folder1Renamed); }); - test('[C213240] Browser back navigates to previous location regardless of breadcrumb steps', async ({ personalFiles, trashPage }) => { + test('[XAT-4399] Browser back navigates to previous location regardless of breadcrumb steps', async ({ personalFiles, trashPage }) => { await personalFiles.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` }); await trashPage.navigate(); await personalFiles.page.goBack(); diff --git a/e2e/playwright/navigation/src/tests/sidebar.e2e.ts b/e2e/playwright/navigation/src/tests/sidebar.e2e.ts index 7f5deed740..30e2ecbdec 100644 --- a/e2e/playwright/navigation/src/tests/sidebar.e2e.ts +++ b/e2e/playwright/navigation/src/tests/sidebar.e2e.ts @@ -38,7 +38,7 @@ test.describe('Sidebar', () => { await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); }); - test('[C289901] navigate to My Libraries', async ({ personalFiles, myLibrariesPage }) => { + test('[XAT-5368] Navigate to My Libraries', async ({ personalFiles, myLibrariesPage }) => { await personalFiles.navigate(); await personalFiles.sidenav.openPanel(SIDEBAR_LABELS.MY_LIBRARIES); await personalFiles.dataTable.spinnerWaitForReload(); @@ -46,14 +46,14 @@ test.describe('Sidebar', () => { expect(await myLibrariesPage.sidenav.isActive(SIDEBAR_LABELS.MY_LIBRARIES), 'My Libraries link not active').toBe(true); }); - test('[C277230] sidenav can be expanded when search results page is displayed', async ({ personalFiles }) => { + test('[XAT-5387] The sidenav can be expanded when search results page is displayed', async ({ personalFiles }) => { await personalFiles.navigate({ remoteUrl: `#/search;q=test` }); expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar expanded').toBe(false); await personalFiles.sidenav.expandSideNav(); expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar not expanded').toBe(true); }); - test('[C269100] sidebar state is preserved on page refresh', async ({ personalFiles }) => { + test('[XAT-5384] Sidenav state is preserved on page refresh', async ({ personalFiles }) => { await personalFiles.navigate(); expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar not expanded').toBe(true); await personalFiles.reload(); @@ -66,7 +66,7 @@ test.describe('Sidebar', () => { expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar expanded').toBe(false); }); - test('[C269096] sidebar toggle', async ({ personalFiles }) => { + test('[XAT-5382] Sidenav can be collapsed and expanded', async ({ personalFiles }) => { await personalFiles.navigate(); await personalFiles.sidenav.collapseSideNav(); expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar expanded').toBe(false); @@ -74,7 +74,10 @@ test.describe('Sidebar', () => { expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar not expanded').toBe(true); }); - test('[C277224] sidenav returns to the default state when navigating away from the Search Results page', async ({ personalFiles, searchPage }) => { + test('[XAT-5386] The sidenav returns to the default state when navigating away from the search results page', async ({ + personalFiles, + searchPage + }) => { await personalFiles.navigate({ remoteUrl: `#/search;q=test` }); await searchPage.searchInput.searchCloseButton.click(); await searchPage.sidenav.expandedSidenav.waitFor({ state: 'attached' }); diff --git a/e2e/playwright/navigation/src/tests/single-click.e2e.ts b/e2e/playwright/navigation/src/tests/single-click.e2e.ts index 49feef9192..fb9d660433 100644 --- a/e2e/playwright/navigation/src/tests/single-click.e2e.ts +++ b/e2e/playwright/navigation/src/tests/single-click.e2e.ts @@ -63,13 +63,13 @@ test.describe('Single click on item name', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C284899] Hyperlink does not appear for items in the Trash', async ({ trashPage }) => { + test('[XAT-4894] Hyperlink does not appear for items in the Trash', async ({ trashPage }) => { await trashPage.navigate(); await expect(trashPage.dataTable.getCellLinkByName(deletedFile1), 'Link on name is present').toBeHidden(); await expect(trashPage.dataTable.getCellLinkByName(deletedFolder1), 'Link on name is present').toBeHidden(); }); - test('[C280034] Navigate inside the folder when clicking the hyperlink on Personal Files', async ({ personalFiles }) => { + test('[XAT-4897] Navigate inside the folder when clicking the hyperlink - on Personal Files', async ({ personalFiles }) => { await personalFiles.navigate(); await personalFiles.dataTable.setPaginationTo50(); await personalFiles.dataTable.getCellLinkByName(folder1).click(); @@ -80,7 +80,7 @@ test.describe('Single click on item name', () => { await expect(personalFiles.breadcrumb.currentItem).toHaveText(folder1); }); - test('[C284902] Navigate inside the library when clicking the hyperlink on File Libraries', async ({ myLibrariesPage }) => { + test('[XAT-4899] Navigate inside the library when clicking the hyperlink', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.goThroughPagesLookingForRowWithName(siteName); await myLibrariesPage.dataTable.getCellLinkByName(siteName).click(); From 5b637b79879b72613744f588178ae9f374344173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Wed, 26 Feb 2025 11:15:20 +0100 Subject: [PATCH 03/14] [ACS-9297] updated pagination IDs --- e2e/playwright/pagination/src/tests/favorites.ts | 10 +++++----- .../pagination/src/tests/personal-files.ts | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/e2e/playwright/pagination/src/tests/favorites.ts b/e2e/playwright/pagination/src/tests/favorites.ts index 3fe6d07182..f264879cfa 100644 --- a/e2e/playwright/pagination/src/tests/favorites.ts +++ b/e2e/playwright/pagination/src/tests/favorites.ts @@ -35,7 +35,7 @@ export function favoritesTests(username: string) { await favoritePage.waitForPageLoad(); }); - test('[C280113] Pagination control default values', async ({ favoritePage }) => { + test('[XAT-4575] Pagination control default items', async ({ favoritePage }) => { expect(await favoritePage.pagination.getRange()).toContain('1-25 of 51'); expect(await favoritePage.pagination.getMaxItems()).toContain('25'); expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 1'); @@ -44,7 +44,7 @@ export function favoritesTests(username: string) { expect(await favoritePage.pagination.isNextEnabled()).toBe(true); }); - test('[C280115] current page menu items', async ({ favoritePage }) => { + test('[XAT-4576] Items per page values', async ({ favoritePage }) => { await favoritePage.pagination.openMaxItemsMenu(); expect(await favoritePage.pagination.getItemsCount()).toBe(3); await favoritePage.pagination.clickMenuItem('25'); @@ -67,7 +67,7 @@ export function favoritesTests(username: string) { await favoritePage.pagination.resetToDefaultPageSize(); }); - test('[C280116] change the current page from menu', async ({ favoritePage }) => { + test('[XAT-4578] Change the current page from the page selector', async ({ favoritePage }) => { await favoritePage.pagination.clickOnNextPage(); expect(await favoritePage.pagination.getRange()).toContain('Showing 26-50 of 51'); expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 2'); @@ -76,7 +76,7 @@ export function favoritesTests(username: string) { await favoritePage.pagination.resetToDefaultPageSize(); }); - test('[C280119] navigate to next and previous pages', async ({ favoritePage }) => { + test('[XAT-4580] Next and Previous buttons navigation', async ({ favoritePage }) => { await favoritePage.pagination.openMaxItemsMenu(); await favoritePage.pagination.clickMenuItem('25'); expect(await favoritePage.pagination.getMaxItems()).toContain('25'); @@ -88,7 +88,7 @@ export function favoritesTests(username: string) { expect(await favoritePage.pagination.getRange()).toContain('Showing 1-25 of 51'); }); - test('[C280118] Next button is disabled on last page', async ({ favoritePage }) => { + test('[XAT-4579] Next button is disabled on last page', async ({ favoritePage }) => { await favoritePage.pagination.openMaxItemsMenu(); await favoritePage.pagination.clickNthItem(3); expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 1'); diff --git a/e2e/playwright/pagination/src/tests/personal-files.ts b/e2e/playwright/pagination/src/tests/personal-files.ts index 3d35645997..e572b3c57c 100644 --- a/e2e/playwright/pagination/src/tests/personal-files.ts +++ b/e2e/playwright/pagination/src/tests/personal-files.ts @@ -35,7 +35,7 @@ export function personalFilesTests(userName: string, parentName: string) { await page.waitForTimeout(timeouts.tiny); }); - test('[C280077] Pagination control default values', async ({ personalFiles }) => { + test('[XAT-4530] Pagination control default items', async ({ personalFiles }) => { expect(await personalFiles.pagination.getRange()).toContain('Showing 1-25 of 51'); expect(await personalFiles.pagination.getMaxItems()).toContain('25'); expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 1'); @@ -44,7 +44,7 @@ export function personalFilesTests(userName: string, parentName: string) { expect(await personalFiles.pagination.isNextEnabled()).toBe(true); }); - test('[C280079] current page menu items', async ({ personalFiles }) => { + test('[XAT-4531] Items per page values', async ({ personalFiles }) => { await personalFiles.pagination.openMaxItemsMenu(); expect(await personalFiles.pagination.getItemsCount()).toBe(3); await personalFiles.pagination.clickMenuItem('25'); @@ -65,7 +65,7 @@ export function personalFilesTests(userName: string, parentName: string) { await personalFiles.pagination.resetToDefaultPageSize(); }); - test('[C280080] change the current page from menu', async ({ personalFiles }) => { + test('[XAT-4533] Change the current page from the page selector', async ({ personalFiles }) => { await personalFiles.pagination.clickOnNextPage(); expect(await personalFiles.pagination.getRange()).toContain('Showing 26-50 of 51'); expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 2'); @@ -74,7 +74,7 @@ export function personalFilesTests(userName: string, parentName: string) { await personalFiles.pagination.resetToDefaultPageSize(); }); - test('[C280083] navigate to next and previous pages', async ({ personalFiles }) => { + test('[XAT-4536] Next and Previous buttons navigation', async ({ personalFiles }) => { await personalFiles.pagination.openMaxItemsMenu(); await personalFiles.pagination.clickMenuItem('25'); expect(await personalFiles.pagination.getMaxItems()).toContain('25'); @@ -86,12 +86,12 @@ export function personalFilesTests(userName: string, parentName: string) { expect(await personalFiles.pagination.getRange()).toContain('Showing 1-25 of 51'); }); - test('[C280081] Previous button is disabled on first page', async ({ personalFiles }) => { + test('[XAT-4534] Previous button is disabled on first page', async ({ personalFiles }) => { expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 1'); expect(await personalFiles.pagination.isPreviousEnabled()).toBe(false); }); - test('[C280082] Next button is disabled on last page', async ({ personalFiles }) => { + test('[XAT-4535] Next button is disabled on last page', async ({ personalFiles }) => { await personalFiles.pagination.openMaxItemsMenu(); await personalFiles.pagination.clickNthItem(3); expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 1'); From bec33bfd7e50ae7c1d62d568e5b6bc00d5af6761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Wed, 26 Feb 2025 11:47:40 +0100 Subject: [PATCH 04/14] [ACS-9297] updated download actions ids --- .../upload-download-actions/src/tests/download.e2e.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/e2e/playwright/upload-download-actions/src/tests/download.e2e.ts b/e2e/playwright/upload-download-actions/src/tests/download.e2e.ts index 31a230bed5..baf1d33ae2 100644 --- a/e2e/playwright/upload-download-actions/src/tests/download.e2e.ts +++ b/e2e/playwright/upload-download-actions/src/tests/download.e2e.ts @@ -60,14 +60,14 @@ test.describe('Download from Personal Files', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('Download a file', async ({ personalFiles }) => { + test('[XAT-4911] Download a file', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(parent); await personalFiles.dataTable.selectItems(childFile); const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]); expect(download.suggestedFilename()).toBe(childFile); }); - test('Download a folder', async ({ personalFiles }) => { + test('[XAT-4912] Download a folder', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(parent); await personalFiles.dataTable.selectItems(childFolder); const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]); @@ -75,7 +75,7 @@ test.describe('Download from Personal Files', () => { expect(await Utils.verifyZipFileContent(filePath, [childFolder])).toBe(true); }); - test('Download multiple items', async ({ personalFiles }) => { + test('[XAT-4913] Download a multiple selection of files / folders', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(parent); await personalFiles.dataTable.selectItems(childFile, childFolder); const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]); From ad3ea01b472de9f059cff61ea76435382ea77183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Wed, 26 Feb 2025 13:16:39 +0100 Subject: [PATCH 05/14] [ACS-9297] Updated upload-download actions IDs & changed the location of viewer-version-actions tests to match XRAY --- .../src/tests/upload-new-version.e2e.ts | 10 +++++----- .../upload-download-actions/src/tests/upload.e2e.ts | 4 ++-- .../src/tests/viewer-version-actions.e2e.ts} | 0 3 files changed, 7 insertions(+), 7 deletions(-) rename e2e/playwright/{upload-download-actions/src/tests/version-actions.e2e.ts => viewer/src/tests/viewer-version-actions.e2e.ts} (100%) diff --git a/e2e/playwright/upload-download-actions/src/tests/upload-new-version.e2e.ts b/e2e/playwright/upload-download-actions/src/tests/upload-new-version.e2e.ts index 2525a9c610..23f7a8fee3 100755 --- a/e2e/playwright/upload-download-actions/src/tests/upload-new-version.e2e.ts +++ b/e2e/playwright/upload-download-actions/src/tests/upload-new-version.e2e.ts @@ -110,7 +110,7 @@ test.describe('Upload new version', () => { await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); }); - test('[C307005] file is updated after uploading a new version - minor', async ({ searchPage }) => { + test('[XAT-5353] file is updated after uploading a new version - minor', async ({ searchPage }) => { await searchPage.searchWithin(fileSearch2, 'files'); await uploadNewVersion(searchPage, fileSearch2, fileToUpload2.path); @@ -122,7 +122,7 @@ test.describe('Upload new version', () => { expect(await nodesApi.getNodeProperty(fileSearch2Id, 'cm:versionType'), 'File has incorrect version type').toEqual('MINOR'); }); - test('[C307006] file is not updated when clicking Cancel', async ({ searchPage }) => { + test('[XAT-5354] file is not updated when clicking Cancel', async ({ searchPage }) => { await searchPage.searchWithin(fileSearch3, 'files'); await uploadNewVersion(searchPage, fileSearch3, TEST_FILES.DOCX2.path); @@ -150,7 +150,7 @@ test.describe('Upload new version', () => { await personalFiles.dataTable.performClickFolderOrFileToOpen(parentPF); }); - test('[C297548] upload new version fails when new file name already exists', async ({ personalFiles }) => { + test('[XAT-5327] upload new version fails when new file name already exists', async ({ personalFiles }) => { await uploadNewVersion(personalFiles, file1, TEST_FILES.PDF.path); await expect(personalFiles.uploadNewVersionDialog.title).toHaveText('Upload New Version'); @@ -164,7 +164,7 @@ test.describe('Upload new version', () => { expect(await nodesApi.getNodeProperty(file1Id, 'cm:versionType')).toEqual('MAJOR'); }); - test('[C297549] file is unlocked after uploading a new version', async ({ personalFiles }) => { + test('[XAT-5328] file is unlocked after uploading a new version', async ({ personalFiles }) => { await uploadNewVersion(personalFiles, fileToUpload1, TEST_FILES.DOCX2.path); await personalFiles.uploadNewVersionDialog.description.fill('new version description'); @@ -176,7 +176,7 @@ test.describe('Upload new version', () => { expect(await nodesApi.getNodeProperty(fileLocked1Id, 'cm:versionLabel'), 'File has incorrect version label').toEqual('1.1'); }); - test('[C297550] file remains locked after canceling of uploading a new version', async ({ personalFiles }) => { + test('[XAT-5329] file remains locked after canceling of uploading a new version', async ({ personalFiles }) => { await uploadNewVersion(personalFiles, fileLocked2, TEST_FILES.DOCX2.path); await personalFiles.uploadNewVersionDialog.cancelButton.click(); diff --git a/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts b/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts index 940a64137a..01ecbd8997 100644 --- a/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts +++ b/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts @@ -54,7 +54,7 @@ test.describe('Upload files', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('Upload a file', async ({ personalFiles }) => { + test('[XAT-5279] Upload a file / multiple files', async ({ personalFiles }) => { const uploadedFiles = await personalFiles.dataTable.isItemPresent(TEST_FILES.JPG_FILE.name); expect(uploadedFiles).toBe(true); }); @@ -71,7 +71,7 @@ test.describe('Upload files', () => { await personalFiles.uploadDialog.uploadDialog.isVisible(); }); - test('[T14752053] Upload history is expunged on browser login/logout', async ({ personalFiles, loginPage }) => { + test('[XAT-5278] Upload history is expunged on browser refresh / close tab / close browser / log out', async ({ personalFiles, loginPage }) => { await loginPage.logoutUser(); await loginPage.loginUser({ username, password: username }); await personalFiles.uploadDialog.uploadDialog.isHidden(); diff --git a/e2e/playwright/upload-download-actions/src/tests/version-actions.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts similarity index 100% rename from e2e/playwright/upload-download-actions/src/tests/version-actions.e2e.ts rename to e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts From afee977ee0f14207fd294b71aed4e4a22b3fcb32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Thu, 27 Feb 2025 09:59:37 +0100 Subject: [PATCH 06/14] [ACS-9297] updated copy-move-actions IDs --- .../copy-move-actions/src/tests/copy.e2e.ts | 22 +++++++++---------- .../tests/destination-picker-dialog.e2e.ts | 6 ++--- .../copy-move-actions/src/tests/move.e2e.ts | 18 +++++++-------- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/e2e/playwright/copy-move-actions/src/tests/copy.e2e.ts b/e2e/playwright/copy-move-actions/src/tests/copy.e2e.ts index a2274bd5d1..812e7c9ccc 100644 --- a/e2e/playwright/copy-move-actions/src/tests/copy.e2e.ts +++ b/e2e/playwright/copy-move-actions/src/tests/copy.e2e.ts @@ -82,7 +82,7 @@ test.describe('Copy actions', () => { } }; - test('[C217135] Copy a file', async ({ personalFiles }) => { + test('[XAT-4941] Copy a file', async ({ personalFiles }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await copyContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); expect.soft(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); @@ -91,7 +91,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); }); - test('[C291888] Copy a folder with content', async ({ personalFiles }) => { + test('[XAT-4942] Copy a folder with content', async ({ personalFiles }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder); await copyContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder); expect.soft(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeTruthy(); @@ -103,7 +103,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFileInsideFolder)).toBeTruthy(); }); - test('[C291889] Copy multiple items', async ({ personalFiles }) => { + test('[XAT-4943] Copy multiple items', async ({ personalFiles }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder); await copyContentInPersonalFiles(personalFiles, [sourceFolder, sourceFile], destinationFolder); expect.soft(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeTruthy(); @@ -115,7 +115,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); }); - test('[C217137] Copy a file with a name that already exists on the destination', async ({ personalFiles }) => { + test('[XAT-4944] Copy a file with a name that already exists on the destination', async ({ personalFiles }) => { await nodesApi.createFile(sourceFile, destinationFolderId); const expectedNameForCopiedFile = sourceFile.replace('.', '-1.'); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); @@ -127,7 +127,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeTruthy(); }); - test('[C217138] Copy a folder with a name that already exists on the destination', async ({ personalFiles }) => { + test('[XAT-4945] Copy a folder with a name that already exists on the destination', async ({ personalFiles }) => { const existingFolderId = (await nodesApi.createFolder(sourceFolder, destinationFolderId)).entry.id; await nodesApi.createFile(sourceFileInsideFolder, existingFolderId); const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.'); @@ -143,7 +143,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeTruthy(); }); - test('[C217139] Copy locked file', async ({ personalFiles }) => { + test('[XAT-4947] Copy locked file', async ({ personalFiles }) => { const lockType = 'ALLOW_OWNER_CHANGES'; await nodesApi.lockNodes([sourceFileId], lockType); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); @@ -154,7 +154,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); }); - test('[C217140] Copy folder that contains locked file', async ({ personalFiles }) => { + test('[XAT-4948] Copy folder that contains locked file', async ({ personalFiles }) => { const lockType = 'ALLOW_OWNER_CHANGES'; await nodesApi.lockNodes([sourceFileInsideFolderId], lockType); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder); @@ -168,7 +168,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFileInsideFolder)).toBeTruthy(); }); - test('[C217171] Undo copy of files', async ({ personalFiles }) => { + test('[XAT-4949] Undo copy of files', async ({ personalFiles }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await copyContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); await personalFiles.snackBar.actionButton.click(); @@ -178,7 +178,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeFalsy(); }); - test('[C217172] Undo copy of folders', async ({ personalFiles }) => { + test('[XAT-4950] Undo copy of folders', async ({ personalFiles }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder); await copyContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder); await personalFiles.snackBar.actionButton.click(); @@ -188,7 +188,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeFalsy(); }); - test('[C217173] Undo copy of a file when a file with same name already exists on the destination', async ({ personalFiles }) => { + test('[XAT-4951] Undo copy of a file when a file with same name already exists on the destination', async ({ personalFiles }) => { await nodesApi.createFile(sourceFile, destinationFolderId); const expectedNameForCopiedFile = sourceFile.replace('.', '-1.'); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); @@ -201,7 +201,7 @@ test.describe('Copy actions', () => { expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeFalsy(); }); - test('[C217174] Undo copy of a folder when a folder with same name already exists on the destination', async ({ personalFiles }) => { + test('[XAT-4952] Undo copy of a folder when a folder with same name already exists on the destination', async ({ personalFiles }) => { const existingFolderId = (await nodesApi.createFolder(sourceFolder, destinationFolderId)).entry.id; await nodesApi.createFile(sourceFileInsideFolder, existingFolderId); const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.'); diff --git a/e2e/playwright/copy-move-actions/src/tests/destination-picker-dialog.e2e.ts b/e2e/playwright/copy-move-actions/src/tests/destination-picker-dialog.e2e.ts index 0fac42fa06..3ddaf02528 100644 --- a/e2e/playwright/copy-move-actions/src/tests/destination-picker-dialog.e2e.ts +++ b/e2e/playwright/copy-move-actions/src/tests/destination-picker-dialog.e2e.ts @@ -79,21 +79,21 @@ test.describe('Copy Move actions', () => { await myLibrariesPage.contentNodeSelector.selectDestination(destinationFolder); }; - test('[C263876] Consumer user cannot select the folder as destination', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4922] Consumer user cannot select the folder as destination', async ({ loginPage, myLibrariesPage }) => { await loginPage.loginUser({ username: consumerUser, password: consumerUser }, { withNavigation: true, waitForLoading: true }); await myLibrariesPage.navigate(); await copyContentInMyLibraries(myLibrariesPage); await expect(myLibrariesPage.contentNodeSelector.actionButton).toBeDisabled(); }); - test('[C263877] Contributor user can select the folder as destination', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4923] Contributor user can select the folder as destination', async ({ loginPage, myLibrariesPage }) => { await loginPage.loginUser({ username: contributorUser, password: contributorUser }, { withNavigation: true, waitForLoading: true }); await myLibrariesPage.navigate(); await copyContentInMyLibraries(myLibrariesPage); await expect(myLibrariesPage.contentNodeSelector.actionButton).toBeEnabled(); }); - test('[C263878] Collaborator user can select the folder as destination', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4924] Collaborator user can select the folder as destination', async ({ loginPage, myLibrariesPage }) => { await loginPage.loginUser({ username: collaboratorUser, password: collaboratorUser }, { withNavigation: true, waitForLoading: true }); await myLibrariesPage.navigate(); await copyContentInMyLibraries(myLibrariesPage); diff --git a/e2e/playwright/copy-move-actions/src/tests/move.e2e.ts b/e2e/playwright/copy-move-actions/src/tests/move.e2e.ts index 0fcb06c040..cd0771e4cc 100644 --- a/e2e/playwright/copy-move-actions/src/tests/move.e2e.ts +++ b/e2e/playwright/copy-move-actions/src/tests/move.e2e.ts @@ -74,7 +74,7 @@ test.describe('Move actions', () => { await personalFilesPage.spinner.waitForReload(); }; - test('[C217316] Move a file', async ({ personalFiles }) => { + test('[XAT-4996] Move a file', async ({ personalFiles }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await moveContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); const msg = await personalFiles.snackBar.message.innerText(); @@ -85,7 +85,7 @@ test.describe('Move actions', () => { expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); }); - test('[C291958] Move multiple items', async ({ personalFiles }) => { + test('[XAT-4998] Move multiple items', async ({ personalFiles }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder); await moveContentInPersonalFiles(personalFiles, [sourceFolder, sourceFile], destinationFolder); const msg = await personalFiles.snackBar.message.innerText(); @@ -98,7 +98,7 @@ test.describe('Move actions', () => { expect.soft(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); }); - test('[C217318] Move a file with a name that already exists on the destination', async ({ personalFiles }) => { + test('[XAT-4999] Move a file with a name that already exists on the destination', async ({ personalFiles }) => { await nodesApi.createFile(sourceFile, destinationFolderId); const expectedNameForCopiedFile = sourceFile.replace('.', '-1.'); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); @@ -112,7 +112,7 @@ test.describe('Move actions', () => { expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeFalsy(); }); - test('[C217319] Move a folder with a name that already exists on the destination', async ({ personalFiles }) => { + test('[XAT-5000] Move a folder with a name that already exists on the destination', async ({ personalFiles }) => { const existingFolderId = (await nodesApi.createFolder(sourceFolder, destinationFolderId)).entry.id; await nodesApi.createFile(sourceFileInsideFolder, existingFolderId); const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.'); @@ -129,7 +129,7 @@ test.describe('Move actions', () => { expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeFalsy(); }); - test('[C217320] Move locked file', async ({ personalFiles }) => { + test('[XAT-4989] Move locked file', async ({ personalFiles }) => { const lockType = 'ALLOW_OWNER_CHANGES'; await nodesApi.lockNodes([sourceFileId], lockType); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); @@ -142,7 +142,7 @@ test.describe('Move actions', () => { expect.soft(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); }); - test('[C217324] Undo move files', async ({ personalFiles, trashPage }) => { + test('[XAT-4992] Undo move files', async ({ personalFiles, trashPage }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await moveContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); await personalFiles.snackBar.actionButton.click(); @@ -154,7 +154,7 @@ test.describe('Move actions', () => { expect(await trashPage.dataTable.isItemPresent(sourceFile)).toBeFalsy(); }); - test('[C217325] Undo move of folders', async ({ personalFiles, trashPage }) => { + test('[XAT-4993] Undo move folder', async ({ personalFiles, trashPage }) => { await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder); await moveContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder); await personalFiles.snackBar.actionButton.click(); @@ -185,12 +185,12 @@ test.describe('Move actions', () => { [ { - id: 'C217317', + id: 'XAT-4997', testTitle: `Move a folder with content`, lockedFile: false }, { - id: 'C217321', + id: 'XAT-4990', testTitle: 'Move folder that contains locked file', lockedFile: true } From 9b43b500d80cf11c5aae6dd5e278cdb3e4479d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Thu, 27 Feb 2025 10:38:51 +0100 Subject: [PATCH 07/14] [ACS-9297] Updated delete-actions IDs --- .../delete-actions/exclude.tests.json | 2 +- .../src/tests/delete-undo-delete.e2e.ts | 18 +++++++++--------- .../src/tests/permanently-delete.e2e.ts | 12 ++++++------ .../delete-actions/src/tests/restore.e2e.ts | 18 +++++++++--------- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/e2e/playwright/delete-actions/exclude.tests.json b/e2e/playwright/delete-actions/exclude.tests.json index c2ad5b849d..25d6f352ab 100644 --- a/e2e/playwright/delete-actions/exclude.tests.json +++ b/e2e/playwright/delete-actions/exclude.tests.json @@ -1,3 +1,3 @@ { - "C280502": "https://hyland.atlassian.net/browse/ACS-8888" + "XAT-5017": "https://hyland.atlassian.net/browse/ACS-8888" } diff --git a/e2e/playwright/delete-actions/src/tests/delete-undo-delete.e2e.ts b/e2e/playwright/delete-actions/src/tests/delete-undo-delete.e2e.ts index 588319ff58..a25027c820 100755 --- a/e2e/playwright/delete-actions/src/tests/delete-undo-delete.e2e.ts +++ b/e2e/playwright/delete-actions/src/tests/delete-undo-delete.e2e.ts @@ -116,7 +116,7 @@ test.describe('Delete and undo delete', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C217125] delete a file and check notification', async ({ personalFiles, trashPage }) => { + test('[XAT-5016] Delete a file and check snackbar notification', async ({ personalFiles, trashPage }) => { let items = await personalFiles.dataTable.getRowsCount(); await personalFiles.dataTable.selectItems(file1); await personalFiles.acaHeader.clickMoreActions(); @@ -133,7 +133,7 @@ test.describe('Delete and undo delete', () => { expect(await personalFiles.dataTable.isItemPresent(file1)).toBeTruthy(); }); - test('[C280502] delete multiple files and check notification', async ({ personalFiles, trashPage }) => { + test('[XAT-5017] Delete multiple files and check snackbar notification', async ({ personalFiles, trashPage }) => { await personalFiles.page.reload({ waitUntil: 'load' }); let items = await personalFiles.dataTable.getRowsCount(); await personalFiles.dataTable.selectItems(file2, file3); @@ -150,7 +150,7 @@ test.describe('Delete and undo delete', () => { expect(await personalFiles.dataTable.isItemPresent(file3)).toBeTruthy(); }); - test('[C217126] delete a folder with content', async ({ personalFiles, trashPage }) => { + test('[XAT-5018] Delete a folder with content', async ({ personalFiles, trashPage }) => { let items = await personalFiles.dataTable.getRowsCount(); await personalFiles.dataTable.selectItems(folder1); await personalFiles.acaHeader.clickMoreActions(); @@ -164,7 +164,7 @@ test.describe('Delete and undo delete', () => { expect(await personalFiles.dataTable.isItemPresent(file1InFolder)).toBeFalsy(); }); - test('[C217127] delete a folder containing locked files', async ({ personalFiles, trashPage }) => { + test(`[XAT-5019] Delete a folder containing files that can't be deleted (e.g. locked files)`, async ({ personalFiles, trashPage }) => { await personalFiles.dataTable.selectItems(folder2); await personalFiles.acaHeader.clickMoreActions(); await personalFiles.matMenu.clickMenuItem('Delete'); @@ -176,7 +176,7 @@ test.describe('Delete and undo delete', () => { expect(await personalFiles.dataTable.isItemPresent(fileLocked1)).toBeFalsy(); }); - test('[C217129] notification on multiple items deletion - some items fail to delete', async ({ personalFiles }) => { + test('[XAT-5020] Notification on unsuccessful multiple items deletion - some items fail to delete', async ({ personalFiles }) => { await personalFiles.dataTable.selectItems(file4, folder3); await personalFiles.acaHeader.clickMoreActions(); await personalFiles.matMenu.clickMenuItem('Delete'); @@ -185,7 +185,7 @@ test.describe('Delete and undo delete', () => { expect(action).toContain('Undo'); }); - test('[C217130] notification on multiple items deletion - all items fail to delete', async ({ personalFiles }) => { + test('[XAT-5021] Notification on unsuccessful multiple items deletion - all items fail to delete', async ({ personalFiles }) => { await personalFiles.dataTable.selectItems(folder4, folder5); await personalFiles.acaHeader.clickMoreActions(); await personalFiles.matMenu.clickMenuItem('Delete'); @@ -193,7 +193,7 @@ test.describe('Delete and undo delete', () => { await expect(personalFiles.snackBar.actionButton).toBeHidden(); }); - test('[C217132] undo delete of file', async ({ personalFiles }) => { + test('[XAT-5022] Undo delete of a single file restores the file', async ({ personalFiles }) => { const items = await personalFiles.dataTable.getRowsCount(); await personalFiles.dataTable.selectItems(file5); @@ -206,7 +206,7 @@ test.describe('Delete and undo delete', () => { expect(await personalFiles.pagination.getRange()).toContain(`1-${items} of ${items}`); }); - test('[C280503] undo delete of folder with content', async ({ personalFiles }) => { + test('[XAT-5024] Undo restores the deleted folder and its content', async ({ personalFiles }) => { await personalFiles.dataTable.selectItems(folder6); await personalFiles.acaHeader.clickMoreActions(); await personalFiles.matMenu.clickMenuItem('Delete'); @@ -218,7 +218,7 @@ test.describe('Delete and undo delete', () => { expect(await personalFiles.dataTable.isItemPresent(file2InFolder)).toBeTruthy(); }); - test('[C280504] undo delete of multiple files', async ({ personalFiles }) => { + test('[XAT-5023] Undo delete of multiple files restores all of the files', async ({ personalFiles }) => { await personalFiles.dataTable.selectItems(file6, file7); await personalFiles.acaHeader.clickMoreActions(); await personalFiles.matMenu.clickMenuItem('Delete'); diff --git a/e2e/playwright/delete-actions/src/tests/permanently-delete.e2e.ts b/e2e/playwright/delete-actions/src/tests/permanently-delete.e2e.ts index a337107834..6bfda01f37 100755 --- a/e2e/playwright/delete-actions/src/tests/permanently-delete.e2e.ts +++ b/e2e/playwright/delete-actions/src/tests/permanently-delete.e2e.ts @@ -79,7 +79,7 @@ test.describe('Delete and undo delete', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C217091] delete a file', async ({ trashPage }) => { + test('[XAT-5103] Permanently Delete a file', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file1); await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.deleteDialog.deleteButton.click(); @@ -88,7 +88,7 @@ test.describe('Delete and undo delete', () => { expect(await trashPage.dataTable.isItemPresent(file1)).toBeFalsy(); }); - test('[C280416] delete a folder', async ({ trashPage }) => { + test('[XAT-5104] Permanently delete a folder', async ({ trashPage }) => { await trashPage.dataTable.selectItems(folder1); await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.deleteDialog.deleteButton.click(); @@ -97,7 +97,7 @@ test.describe('Delete and undo delete', () => { expect(await trashPage.dataTable.isItemPresent(folder1)).toBeFalsy(); }); - test('[C290103] delete a library', async ({ trashPage }) => { + test('[XAT-5108] Permanently delete a library', async ({ trashPage }) => { await trashPage.dataTable.selectItems(site); await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.deleteDialog.deleteButton.click(); @@ -106,7 +106,7 @@ test.describe('Delete and undo delete', () => { expect(await trashPage.dataTable.isItemPresent(site)).toBeFalsy(); }); - test('[C280417] delete multiple items', async ({ trashPage }) => { + test('[XAT-5105] Permanently delete multiple items', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file2, folder2); await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.deleteDialog.deleteButton.click(); @@ -116,7 +116,7 @@ test.describe('Delete and undo delete', () => { expect(await trashPage.dataTable.isItemPresent(folder2)).toBeFalsy(); }); - test('[C269113] Confirmation dialog UI', async ({ trashPage }) => { + test('[XAT-5106] Permanently delete - Confirmation dialog UI', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file3); await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.deleteDialog.waitForDialog(); @@ -128,7 +128,7 @@ test.describe('Delete and undo delete', () => { expect(await trashPage.deleteDialog.isKeepEnabled()).toBeTruthy(); }); - test('[C269115] Keep action cancels the deletion', async ({ trashPage }) => { + test('[XAT-5107] ""Keep"" action cancels the deletion', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file3); await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.deleteDialog.waitForDialog(); diff --git a/e2e/playwright/delete-actions/src/tests/restore.e2e.ts b/e2e/playwright/delete-actions/src/tests/restore.e2e.ts index 7203cf6a8f..73501ce094 100755 --- a/e2e/playwright/delete-actions/src/tests/restore.e2e.ts +++ b/e2e/playwright/delete-actions/src/tests/restore.e2e.ts @@ -91,25 +91,25 @@ test.describe('Restore from Trash', () => { expect(await trashPage.dataTable.isItemPresent(nodeName)).toBeFalsy(); } - test('[C217177] restore file', async ({ trashPage, personalFiles }) => { + test('[XAT-5109] Restore file', async ({ trashPage, personalFiles }) => { await restoreNode(trashPage, file1); await personalFiles.navigate(); expect(await personalFiles.dataTable.isItemPresent(file1)).toBeTruthy(); }); - test('[C280438] restore folder', async ({ trashPage, personalFiles }) => { + test('[XAT-5110] Restore folder', async ({ trashPage, personalFiles }) => { await restoreNode(trashPage, folder1); await personalFiles.navigate(); expect(await personalFiles.dataTable.isItemPresent(folder1)).toBeTruthy(); }); - test('[C290104] restore library', async ({ trashPage, myLibrariesPage }) => { + test('[XAT-5117] Restore library', async ({ trashPage, myLibrariesPage }) => { await restoreNode(trashPage, site1); await myLibrariesPage.navigate(); expect(await myLibrariesPage.dataTable.isItemPresent(site1)).toBeTruthy(); }); - test('[C217182] restore multiple items', async ({ trashPage, personalFiles }) => { + test('[XAT-5111] Restore multiple items', async ({ trashPage, personalFiles }) => { await trashPage.dataTable.selectItems(file2, folder2); await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.verifySnackBarActionText(`Restore successful`); @@ -122,7 +122,7 @@ test.describe('Restore from Trash', () => { expect(await personalFiles.dataTable.isItemPresent(folder2)).toBeTruthy(); }); - test('[C217181] View from notification', async ({ trashPage, personalFiles }) => { + test('[XAT-5112] Restore file - View from notification', async ({ trashPage, personalFiles }) => { await trashPage.dataTable.selectItems(file3); await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.clickSnackBarAction(); @@ -162,13 +162,13 @@ test.describe('Restore from Trash', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C217178] Restore a file when another file with same name exists on the restore location', async ({ trashPage }) => { + test('[XAT-5113] Restore an item when another one with same name already exists on the restore location', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file1); await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.verifySnackBarActionText(`Can't restore, ${file1} already exists`); }); - test('[C217179] Restore a file when original location no longer exists', async ({ trashPage }) => { + test('[XAT-5114] Restore a file when original location no longer exists', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file2); await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.verifySnackBarActionText(`Can't restore ${file2}, the original location no longer exists`); @@ -222,13 +222,13 @@ test.describe('Restore from Trash', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C217183] one failure', async ({ trashPage }) => { + test('[XAT-5115] Notification on partial success - one failure', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file1, file2); await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.verifySnackBarActionText(`Can't restore ${file1}, the original location no longer exists`); }); - test('[C217184] multiple failures', async ({ trashPage }) => { + test('[XAT-5116] Notification on partial success - multiple failures', async ({ trashPage }) => { await trashPage.dataTable.selectItems(file3, file4, file5); await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.verifySnackBarActionText('2 items not restored because of issues with the restore location'); From c5692f70beb00d3948ee0afdd807b2de4ea16136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Thu, 27 Feb 2025 11:48:38 +0100 Subject: [PATCH 08/14] [ACS-9297] updated create-actions IDs --- .../create-actions/exclude.tests.json | 88 +++++++++---------- .../tests/create-file-from-template.e2e.ts | 48 +++++----- .../tests/create-folder-from-template.e2e.ts | 48 +++++----- .../src/tests/create-folder.e2e.ts | 20 ++--- .../src/tests/create-library.e2e.ts | 20 ++--- 5 files changed, 112 insertions(+), 112 deletions(-) diff --git a/e2e/playwright/create-actions/exclude.tests.json b/e2e/playwright/create-actions/exclude.tests.json index 69f20695b9..e5a7211d1a 100644 --- a/e2e/playwright/create-actions/exclude.tests.json +++ b/e2e/playwright/create-actions/exclude.tests.json @@ -1,48 +1,48 @@ { - "C325043": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325044": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325045": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325047": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325031": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325032": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325033": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325030": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325026": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325042": "https://alfresco.atlassian.net/browse/ACS-6412", + "XAT-5229": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5231": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5232": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5233": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5238": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5239": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5240": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5244": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5245": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5248": "https://hyland.atlassian.net/browse/ACS-6412", - "C325147": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325148": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325149": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325150": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325153": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325151": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325139": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325143": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325144": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325145": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325146": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325157": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325154": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325158": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325161": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325142": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325141": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325140": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325156": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325155": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325162": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325163": "https://alfresco.atlassian.net/browse/ACS-6412", + "XAT-5252": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5253": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5254": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5255": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5257": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5258": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5256": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5260": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5261": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5262": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5263": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5266": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5267": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5270": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5271": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5259": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5265": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5264": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5268": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5269": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5272": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5273": "https://hyland.atlassian.net/browse/ACS-6412", - "C325050": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325048": "https://alfresco.atlassian.net/browse/ACS-6412", - "C216339": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325020": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325034": "https://alfresco.atlassian.net/browse/ACS-6412", - "C290146": "https://alfresco.atlassian.net/browse/ACS-6412", - "C290142": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325028": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325027": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325023": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325024": "https://alfresco.atlassian.net/browse/ACS-6412", - "C325025": "https://alfresco.atlassian.net/browse/ACS-6412" + "XAT-5235": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5236": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5234": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5237": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5241": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5243": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5242": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5246": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5247": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5249": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5250": "https://hyland.atlassian.net/browse/ACS-6412", + "XAT-5251": "https://hyland.atlassian.net/browse/ACS-6412" } \ No newline at end of file diff --git a/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts b/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts index b6ee474ae3..94e7b79550 100644 --- a/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts +++ b/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts @@ -138,7 +138,7 @@ test.describe('Create file from template', () => { }); test.describe('Select Template dialog', () => { - test('[C325043] Select template - dialog UI - with existing templates', async () => { + test('[XAT-5229] Select template - dialog UI - when no templates exist in the repo', async () => { await expect.soft(selectFileTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible(); await expect.soft(selectFileTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible(); await expect.soft(dataTable.getRowByName(templatesFolder1)).not.toBeEmpty(); @@ -149,13 +149,13 @@ test.describe('Create file from template', () => { await expect(selectFileTemplateDialog.actionButton).toBeDisabled(); }); - test(`[C325044] Templates don't appear if user doesn't have permissions to see them`, async () => { + test(`[XAT-5231] Templates don't appear if user doesn't have permissions to see them`, async () => { await expect(selectFileTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible(); await expect(dataTable.getRowByName(restrictedTemplateFolder)).toBeHidden(); await expect(dataTable.getRowByName(templateInRestrictedFolder)).toBeHidden(); }); - test(`[C325045] Navigate through the templates list with folder hierarchy`, async () => { + test(`[XAT-5232] Navigate through the templates list with folder hierarchy`, async () => { await expect(selectFileTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible(); await expect(dataTable.getRowByName(templatesFolder1)).toBeVisible(); await expect(dataTable.getRowByName(templatesFolder2)).toBeVisible(); @@ -175,7 +175,7 @@ test.describe('Create file from template', () => { await expect(selectFileTemplateDialog.getOptionLocator(dialogBreadcrumb)).toBeVisible(); }); - test(`[C325047] Templates list doesn't allow multiple selection`, async () => { + test(`[XAT-5233] Templates list doesn't allow multiple selection`, async () => { await expect(dataTable.getSelectedRow).toHaveCount(0); await dataTable.getRowByName(template1InRoot).click({ modifiers: [commandKey] }); @@ -188,20 +188,20 @@ test.describe('Create file from template', () => { await expect(dataTable.getSelectedRow).toContainText(template2InRoot); }); - test('[C325050] Links to files are not displayed', async () => { + test('[XAT-5235] Links to files are not displayed', async () => { await expect(dataTable.getRowByName(template1InRoot)).toBeVisible(); await expect(dataTable.getRowByName(template2InRoot)).toBeVisible(); await expect(dataTable.getRowByName(fileLink)).toBeHidden(); }); - test('[C325048] Cancel the Select template dialog', async () => { + test('[XAT-5236] Cancel the Select template dialog', async () => { await expect(selectFileTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible(); await selectFileTemplateDialog.cancelButton.click(); await expect(selectFileTemplateDialog.getDialogTitle(selectDialogTitle)).toBeHidden(); }); - test('[C216339] Next button is disabled when selecting a folder', async () => { + test('[XAT-5234] Select Template - Next button is disabled when selecting a folder', async () => { await expect(dataTable.getRowByName(templatesFolder1)).toBeVisible(); await expect(selectFileTemplateDialog.actionButton).toBeDisabled(); @@ -225,7 +225,7 @@ test.describe('Create file from template', () => { } }); - test('[C325020] Create file from template - dialog UI', async () => { + test('[XAT-5237] Create file from template - dialog UI', async () => { await expect.soft(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); await expect.soft(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toBeVisible(); await expect.soft(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot); @@ -237,7 +237,7 @@ test.describe('Create file from template', () => { await expect(createFileFromTemplateDialog.createButton).toBeEnabled(); }); - test('[C325031] File name is required', async () => { + test('[XAT-5238] File name is required', async () => { await expect(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot); await createFileFromTemplateDialog.getDialogLabel(nameLabel).clear(); @@ -249,7 +249,7 @@ test.describe('Create file from template', () => { await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325032] Special characters in file name', async () => { + test('[XAT-5239] Special characters in file name', async () => { const nameWithSpecialChars = ['a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a']; for (const specialFileName of nameWithSpecialChars) { @@ -266,7 +266,7 @@ test.describe('Create file from template', () => { } }); - test('[C325033] File name ending with a dot', async () => { + test('[XAT-5240] File name ending with a dot', async () => { await createFileFromTemplateDialog.getDialogLabel(nameLabel).fill(dotString); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); await expect(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot + dotString); @@ -276,7 +276,7 @@ test.describe('Create file from template', () => { await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325034] File name containing only spaces', async () => { + test('[XAT-5241] File name containing only spaces', async () => { await createFileFromTemplateDialog.getDialogLabel(nameLabel).clear(); await createFileFromTemplateDialog.getDialogLabel(nameLabel).fill(spaceString); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); @@ -290,7 +290,7 @@ test.describe('Create file from template', () => { await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C290146] File title too long', async () => { + test('[XAT-5243] File title too long', async () => { await createFileFromTemplateDialog.getDialogLabel(titleLabel).fill(Utils.string257Long); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); await expect(createFileFromTemplateDialog.getDialogLabel(titleLabel)).toHaveValue(Utils.string257Long); @@ -300,7 +300,7 @@ test.describe('Create file from template', () => { await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C290142] Description too long', async () => { + test('[XAT-5242] Description too long', async () => { await createFileFromTemplateDialog.getDialogLabel(descriptionLabel).fill(Utils.string513Long); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); await expect(createFileFromTemplateDialog.getDialogLabel(descriptionLabel)).toHaveValue(Utils.string513Long); @@ -313,7 +313,7 @@ test.describe('Create file from template', () => { await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325028] Create a file with a duplicate name', async ({ personalFiles }) => { + test('[XAT-5246] Create a file with a duplicate name', async ({ personalFiles }) => { const snackBar = personalFiles.snackBar; await createFileFromTemplateDialog.createFromTemplateAction(commonFileName); @@ -321,7 +321,7 @@ test.describe('Create file from template', () => { await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); }); - test('[C325027] Cancel file creation', async () => { + test('[XAT-5247] Cancel file creation', async () => { await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); await createFileFromTemplateDialog.cancelButton.click(); await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); @@ -342,19 +342,19 @@ test.describe('Create file from template', () => { } }); - test('[C325030] Create a file from a template - with a new Name', async () => { + test('[XAT-5244] Create a file from a template - with a new Name', async () => { await createFileFromTemplateDialog.createFromTemplateAction(randomFileName); await dataTable.goThroughPagesLookingForRowWithName(randomFileName); await expect(dataTable.getRowByName(randomFileName)).toBeVisible(); }); - test('[C325026] Create a file from a template - with a Name, Title and Description', async () => { + test('[XAT-5245] Create a file from a template - with a Name, Title and Description', async () => { await createFileFromTemplateDialog.createFromTemplateAction(randomFileName, randomFileTitle, randomFileDescription); await dataTable.goThroughPagesLookingForRowWithName(randomFileName); await expect(dataTable.getCellLinkByName(randomFileName)).toHaveAttribute(titleLabel, randomFileTitle + `\n` + randomFileDescription); }); - test('[C325042] Trim spaces from file Name', async () => { + test('[XAT-5248] Trim spaces from file Name', async () => { await createFileFromTemplateDialog.createFromTemplateAction(' ' + randomFileName + ' '); await dataTable.goThroughPagesLookingForRowWithName(randomFileName); await expect(dataTable.getRowByName(randomFileName)).toBeVisible(); @@ -362,7 +362,7 @@ test.describe('Create file from template', () => { }); }); - test.describe('File created from template on Personal Files Libraries', () => { + test.describe('File created from template on Libraries', () => { const randomLibraryName = `playwright-library-c2-${Utils.random()}`; let sitesApi: SitesApi; @@ -390,7 +390,7 @@ test.describe('Create file from template', () => { await dataTable.getRowByName(template1InRoot).click(); await selectFileTemplateDialog.actionButton.click(); } catch (error) { - console.error(`File created from template on Personal Files Libraries, beforeEach failed: ${error}`); + console.error(`File created from template on Libraries, beforeEach failed: ${error}`); } }); @@ -398,19 +398,19 @@ test.describe('Create file from template', () => { await sitesApi.deleteSites([randomLibraryName]); }); - test('[C325023] Create a file from a template from library - with Name, Title and Description', async () => { + test('[XAT-5249] Create a file from a template from library - with Name, Title and Description', async () => { await createFileFromTemplateDialog.createFromTemplateAction(randomFileName, randomFileTitle, randomFileDescription); await expect(dataTable.getCellLinkByName(randomFileName)).toHaveAttribute(titleLabel, randomFileTitle + `\n` + randomFileDescription); }); - test('[C325024] Cancel file creation in a library', async () => { + test('[XAT-5250] Cancel file creation in a library', async () => { await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); await createFileFromTemplateDialog.cancelButton.click(); await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); await expect(dataTable.getRowByName(randomFileName)).toBeHidden(); }); - test('[C325025] Create a file with a duplicate name in a library', async ({ myLibrariesPage }) => { + test('[XAT-5251] Create a file with a duplicate name in a library', async ({ myLibrariesPage }) => { const snackBar = myLibrariesPage.snackBar; await createFileFromTemplateDialog.createFromTemplateAction(commonFileName); diff --git a/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts b/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts index d4ab136859..2b7c119e54 100644 --- a/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts +++ b/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts @@ -165,7 +165,7 @@ test.describe('Create folder from template', () => { }); test.describe('Select Template dialog', () => { - test('[C325147] Select template - dialog UI - with existing templates', async () => { + test('[XAT-5252] Select template - dialog UI - with existing templates', async () => { await expect.soft(selectFolderTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible(); await expect.soft(selectFolderTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible(); await expect.soft(dataTable.getRowByName(templateFolder1)).not.toBeEmpty(); @@ -176,12 +176,12 @@ test.describe('Create folder from template', () => { await expect(selectFolderTemplateDialog.actionButton).toBeDisabled(); }); - test(`[C325148] Templates don't appear if user doesn't have permissions to see them`, async () => { + test(`[XAT-5253] Templates don't appear if user doesn't have permissions to see them`, async () => { await expect(selectFolderTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible(); await expect(dataTable.getRowByName(restrictedTemplateFolder)).toBeHidden(); }); - test(`[C325149] Navigate through the templates list with folder hierarchy`, async () => { + test(`[XAT-5254] Navigate through the templates list with folder hierarchy`, async () => { await expect(selectFolderTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible(); await expect(dataTable.getRowByName(templateFolder1)).toBeVisible(); @@ -199,7 +199,7 @@ test.describe('Create folder from template', () => { await expect(selectFolderTemplateDialog.getOptionLocator(dialogBreadcrumb)).toBeVisible(); }); - test(`[C325150] Templates list doesn't allow multiple selection`, async () => { + test(`[XAT-5255] Templates list doesn't allow multiple selection`, async () => { await expect(dataTable.getSelectedRow).toHaveCount(0); await dataTable.getRowByName(templateFolder1).click({ modifiers: [commandKey] }); @@ -212,19 +212,19 @@ test.describe('Create folder from template', () => { await expect(dataTable.getSelectedRow).toContainText(templateFolder2); }); - test('[C325153] Links to folders are not displayed', async () => { + test('[XAT-5257] Links to folders are not displayed', async () => { await expect(dataTable.getRowByName(templateFolder1)).toBeVisible(); await expect(dataTable.getRowByName(folderLink)).toBeHidden(); }); - test('[C325151] Cancel the Select template dialog', async () => { + test('[XAT-5258] Cancel the Select template dialog', async () => { await expect(selectFolderTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible(); await selectFolderTemplateDialog.cancelButton.click(); await expect(selectFolderTemplateDialog.getDialogTitle(selectDialogTitle)).toBeHidden(); }); - test('[C325139] Next button is disabled when selecting a file', async () => { + test('[XAT-5256] Select Template - Next button is disabled when selecting a file', async () => { await expect(dataTable.getRowByName(fileInRootFolder)).toBeVisible(); await expect(selectFolderTemplateDialog.actionButton).toBeDisabled(); @@ -252,7 +252,7 @@ test.describe('Create folder from template', () => { } }); - test('[C325142] Create folder from template - dialog UI', async () => { + test('[XAT-5259] Create folder from template - dialog UI', async () => { await expect.soft(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); await expect.soft(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toBeVisible(); await expect.soft(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1); @@ -264,7 +264,7 @@ test.describe('Create folder from template', () => { await expect(createFolderFromTemplateDialog.createButton).toBeEnabled(); }); - test('[C325143] Folder name is required', async () => { + test('[XAT-5260] Folder name is required', async () => { await expect(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1); await createFolderFromTemplateDialog.getDialogLabel(nameLabel).clear(); @@ -276,7 +276,7 @@ test.describe('Create folder from template', () => { await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325144] Special characters in folder name', async () => { + test('[XAT-5261] Special characters in folder name', async () => { const nameWithSpecialChars = ['a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a']; for (const specialFolderName of nameWithSpecialChars) { @@ -293,7 +293,7 @@ test.describe('Create folder from template', () => { } }); - test('[C325145] Folder name ending with a dot', async () => { + test('[XAT-5262] Folder name ending with a dot', async () => { await createFolderFromTemplateDialog.getDialogLabel(nameLabel).fill(dotString); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); await expect(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1 + dotString); @@ -303,7 +303,7 @@ test.describe('Create folder from template', () => { await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325146] Folder name containing only spaces', async () => { + test('[XAT-5263] Folder name containing only spaces', async () => { await createFolderFromTemplateDialog.getDialogLabel(nameLabel).clear(); await createFolderFromTemplateDialog.getDialogLabel(nameLabel).fill(spaceString); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); @@ -317,7 +317,7 @@ test.describe('Create folder from template', () => { await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325141] Title too long', async () => { + test('[XAT-5265] Folder title too long', async () => { await createFolderFromTemplateDialog.getDialogLabel(titleLabel).fill(Utils.string257Long); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); await expect(createFolderFromTemplateDialog.getDialogLabel(titleLabel)).toHaveValue(Utils.string257Long); @@ -327,7 +327,7 @@ test.describe('Create folder from template', () => { await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325140] Description too long', async () => { + test('[XAT-5264] Folder description too long', async () => { await createFolderFromTemplateDialog.getDialogLabel(descriptionLabel).fill(Utils.string513Long); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); await expect(createFolderFromTemplateDialog.getDialogLabel(descriptionLabel)).toHaveValue(Utils.string513Long); @@ -340,7 +340,7 @@ test.describe('Create folder from template', () => { await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); }); - test('[C325156] Create a folder with a duplicate name', async ({ personalFiles }) => { + test('[XAT-5268] Create a folder with a duplicate name', async ({ personalFiles }) => { const snackBar = personalFiles.snackBar; await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName); @@ -348,7 +348,7 @@ test.describe('Create folder from template', () => { await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); }); - test('[C325155] Cancel folder creation', async () => { + test('[XAT-5269] Cancel folder creation', async () => { await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); await createFolderFromTemplateDialog.cancelButton.click(); await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); @@ -369,7 +369,7 @@ test.describe('Create folder from template', () => { } }); - test('[C325157] Create a folder from a template - with a new Name', async () => { + test('[XAT-5266] Create a folder from a template - with a new Name', async () => { await createFolderFromTemplateDialog.createFromTemplateAction(randomFolderName); await dataTable.goThroughPagesLookingForRowWithName(randomFolderName); await expect(dataTable.getRowByName(randomFolderName)).toBeVisible(); @@ -379,13 +379,13 @@ test.describe('Create folder from template', () => { await expect(dataTable.getRowByName(fileInFolder1)).toBeVisible(); }); - test('[C325154] Create a folder from a template - with a Name, Title and Description', async () => { + test('[XAT-5267] Create a folder from a template - with a Name, Title and Description', async () => { await createFolderFromTemplateDialog.createFromTemplateAction(randomFolderName, randomFolderTitle, randomFolderDescription); await dataTable.goThroughPagesLookingForRowWithName(randomFolderName); await expect(dataTable.getCellLinkByName(randomFolderName)).toHaveAttribute(titleLabel, randomFolderTitle + `\n` + randomFolderDescription); }); - test('[C325158] Trim spaces from folder Name', async () => { + test('[XAT-5270] Trim spaces from folder Name', async () => { await createFolderFromTemplateDialog.createFromTemplateAction(' ' + randomFolderName + ' '); await dataTable.goThroughPagesLookingForRowWithName(randomFolderName); await expect(dataTable.getRowByName(randomFolderName)).toBeVisible(); @@ -393,7 +393,7 @@ test.describe('Create folder from template', () => { }); }); - test.describe('Folder created from template on Personal Files Libraries', () => { + test.describe('Folder created from template on Libraries', () => { const randomLibraryName = `playwright-library-c1-${Utils.random()}`; let sitesApi: SitesApi; @@ -404,7 +404,7 @@ test.describe('Create folder from template', () => { const libraryGuId = await sitesApi.getDocLibId(randomLibraryName); await nodesApi.createFolder(commonFolderName, libraryGuId); } catch (error) { - console.error(`Folder created from template on Personal Files Libraries, beforeAll failed : ${error}`); + console.error(`Folder created from template on Libraries, beforeAll failed : ${error}`); } }); @@ -438,7 +438,7 @@ test.describe('Create folder from template', () => { } }); - test('[C325161] Create a folder from a template from library - with Name, Title and Description', async () => { + test('[XAT-5271] Create a folder from a template from library - with Name, Title and Description', async () => { await createFolderFromTemplateDialog.createFromTemplateAction(randomFolderName, randomFolderTitle, randomFolderDescription); await expect .soft(dataTable.getCellLinkByName(randomFolderName)) @@ -449,14 +449,14 @@ test.describe('Create folder from template', () => { await expect(dataTable.getRowByName(fileInFolder1)).toBeVisible(); }); - test('[C325162] Cancel folder creation in a library', async () => { + test('[XAT-5272] Cancel folder creation in a library', async () => { await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); await createFolderFromTemplateDialog.cancelButton.click(); await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); await expect(dataTable.getRowByName(randomFolderName)).toBeHidden(); }); - test('[C325163] Create a folder with a duplicate name in a library', async ({ myLibrariesPage }) => { + test('[XAT-5273] Create a folder with a duplicate name in a library', async ({ myLibrariesPage }) => { const snackBar = myLibrariesPage.snackBar; await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName); diff --git a/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts b/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts index ee7eb9deeb..d143c64bdf 100644 --- a/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts +++ b/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts @@ -77,7 +77,7 @@ test.describe('Create folders', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C216345] Create new folder dialog check', async () => { + test('[XAT-5078] Create new folder dialog UI check', async () => { await expect(folderDialog.getLabelText('Name')).toBeVisible(); await expect(folderDialog.getRequiredMarker('Name')).toBeVisible(); await expect(folderDialog.folderNameInputLocator).toBeVisible(); @@ -89,7 +89,7 @@ test.describe('Create folders', () => { await expect(folderDialog.createButton).toBeDisabled(); }); - test('[C216346] Create a folder without a name', async () => { + test('[XAT-5079] Create a folder without a name - Disabled Create button', async () => { await folderDialog.folderNameInputLocator.fill(randomFolderName); await expect(folderDialog.folderNameInputLocator).toHaveValue(randomFolderName); await expect(folderDialog.createButton).toBeEnabled(); @@ -101,14 +101,14 @@ test.describe('Create folders', () => { await expect(folderDialog.createButton).toBeDisabled(); }); - test('[C216348] Create folder when a name that ends with a dot "."', async () => { + test('[XAT-5081] Create folder when a name that ends with a dot "."', async () => { await folderDialog.folderNameInputLocator.fill(randomFolderName + '.'); await expect(folderDialog.createButton).toBeDisabled(); await expect(folderDialog.folderNameInputHint).toContainText(errorStrings.folderNameCantEndWithAPeriod); }); - test('[C216347] Create folder with a name containing special characters', async () => { + test('[XAT-5080] Create folder with a name containing special characters', async () => { const namesWithSpecialChars = ['a*a', 'a"a', 'aa', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a']; for (const folderName of namesWithSpecialChars) { await folderDialog.folderNameInputLocator.fill(folderName); @@ -118,21 +118,21 @@ test.describe('Create folders', () => { } }); - test('[C280406] Create a folder with a name containing only spaces', async () => { + test('[XAT-5082] Create a folder with a name containing only spaces', async () => { await folderDialog.folderNameInputLocator.fill(spacesString); await expect(folderDialog.createButton).toBeDisabled(); await expect(folderDialog.folderNameInputHint).toContainText(errorStrings.folderNameCantContainOnlySpaces); }); - test('[C216349] Cancel folder creation', async ({ personalFiles }) => { + test('[XAT-5083] Cancel folder creation', async ({ personalFiles }) => { await expect(personalFiles.page.getByRole(dialogString, { name: createNewFolderString })).toBeVisible(); await folderDialog.folderNameInputLocator.fill(randomFolderName); await folderDialog.cancelButton.click(); await expect(personalFiles.page.getByRole(dialogString, { name: createNewFolderString })).toBeHidden(); }); - test('[C216350] Duplicate folder name error', async ({ personalFiles }) => { + test('[XAT-5084] Duplicate folder name error', async ({ personalFiles }) => { const folderSnackBar = personalFiles.snackBar; await folderDialog.createNewFolderDialog(commonFolderName); @@ -145,19 +145,19 @@ test.describe('Create folders', () => { folderTable = personalFiles.dataTable; }); - test('[C216341] Create a folder with name only', async () => { + test('[XAT-5077] Create folder when pressing OK - with name and no description', async () => { await folderDialog.createNewFolderDialog(randomFolderName); await expect(folderTable.getRowByName(randomFolderName)).toBeVisible(); }); - test('[C216340] Create a folder with name, title and description', async () => { + test('[XAT-5076] Create folder when pressing OK - with name, title and description', async () => { await folderDialog.createNewFolderDialog(randomFolderName, randomFolderTitle, randomFolderDescription); await expect(folderTable.getCellLinkByName(randomFolderName)).toHaveAttribute('title', randomFolderTitle + `\n` + randomFolderDescription); }); - test('[C216351] Folder created after trimmed ending spaces from a folder name', async () => { + test('[XAT-5085] Folder created after trimmed ending spaces from a folder name', async () => { await folderDialog.createNewFolderDialog(randomFolderName + spacesString); await expect(folderTable.getRowByName(randomFolderName)).toBeVisible(); diff --git a/e2e/playwright/create-actions/src/tests/create-library.e2e.ts b/e2e/playwright/create-actions/src/tests/create-library.e2e.ts index ebdde7cb74..869a1db66b 100644 --- a/e2e/playwright/create-actions/src/tests/create-library.e2e.ts +++ b/e2e/playwright/create-actions/src/tests/create-library.e2e.ts @@ -94,7 +94,7 @@ test.describe('Create Libraries ', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, createdLibrariesIds); }); - test('[C280024] Create Library dialog UI', async () => { + test('[XAT-5118] Create Library dialog UI check', async () => { await expect(libraryDialog.getDialogTitle(libraryDialogTitle)).toBeVisible(); await expect(libraryDialog.getLabelText(libraryNameLabel)).toBeVisible(); await expect(libraryDialog.getRequiredMarker(libraryNameLabel)).toBeVisible(); @@ -115,7 +115,7 @@ test.describe('Create Libraries ', () => { libraryBreadcrumb = myLibrariesPage.breadcrumb; }); - test('[C280025] Create a public library', async ({ myLibrariesPage }) => { + test('[XAT-5119] Create a public library', async ({ myLibrariesPage }) => { await libraryDialog.getLabelText(libraryNameLabel).fill(randomLibraryName); await expect(libraryDialog.getLabelText(libraryNameLabel)).toHaveValue(randomLibraryName); await expect(libraryDialog.getLabelText(libraryIdLabel)).toHaveValue(randomLibraryName); @@ -128,7 +128,7 @@ test.describe('Create Libraries ', () => { createdLibrariesIds.push(randomLibraryName); }); - test('[C289880] Create a moderated library', async ({ myLibrariesPage }) => { + test('[XAT-5120] Create a moderated library', async ({ myLibrariesPage }) => { await libraryDialog.createLibraryWithNameAndId(randomLibraryName, randomLibraryId, null, moderatedVisibility); await expect(libraryBreadcrumb.getItemByTitle(randomLibraryName)).toBeVisible(); @@ -139,7 +139,7 @@ test.describe('Create Libraries ', () => { createdLibrariesIds.push(randomLibraryId); }); - test('[C289881] Create a private library', async ({ myLibrariesPage }) => { + test('[XAT-5121] Create a private library', async ({ myLibrariesPage }) => { await libraryDialog.createLibraryWithNameAndId(randomLibraryName, randomLibraryId, null, privateVisibility); await expect(libraryBreadcrumb.getItemByTitle(randomLibraryName)).toBeVisible(); @@ -149,7 +149,7 @@ test.describe('Create Libraries ', () => { createdLibrariesIds.push(randomLibraryId); }); - test('[C289882] Create a library with a given ID and description', async ({ myLibrariesPage }) => { + test('[XAT-5122] Create a library with a given ID and description', async ({ myLibrariesPage }) => { const libraryViewDetails = myLibrariesPage.acaHeader.viewDetails; const libraryDetails = myLibrariesPage.libraryDetails; @@ -169,7 +169,7 @@ test.describe('Create Libraries ', () => { createdLibrariesIds.push(randomLibraryId); }); - test('[C280029] Cancel button', async () => { + test('[XAT-5126] Create Library - Cancel button', async () => { await expect(libraryDialog.getDialogTitle(libraryDialogTitle)).toBeVisible(); await libraryDialog.getLabelText(libraryNameLabel).fill(randomLibraryName); await libraryDialog.cancelButton.click(); @@ -178,7 +178,7 @@ test.describe('Create Libraries ', () => { await expect(libraryTable.getRowByName(randomLibraryName)).toHaveCount(0); }); - test('[C280030] Create 2 libraries with same name but different IDs', async ({ myLibrariesPage }) => { + test('[XAT-5127] Create multiple sites with same name but different IDs', async ({ myLibrariesPage }) => { const libraryName = commonLibraryName + ' (' + commonLibraryName + ')'; const libraryName2 = commonLibraryName + ' (' + randomLibraryId + ')'; @@ -193,7 +193,7 @@ test.describe('Create Libraries ', () => { }); }); - test('[C280026] Library ID cannot contain special characters', async () => { + test('[XAT-5123] Library ID cannot contain special characters', async () => { const idsWithSpecialChars = [ 'a!a', 'a@a', @@ -226,7 +226,7 @@ test.describe('Create Libraries ', () => { } }); - test('[C280027] Duplicate library ID', async () => { + test('[XAT-5124] Duplicate library ID', async () => { await libraryDialog.getLabelText(libraryNameLabel).fill(randomLibraryName); await libraryDialog.getLabelText(libraryIdLabel).clear(); await libraryDialog.getLabelText(libraryIdLabel).fill(commonLibraryName); @@ -237,7 +237,7 @@ test.describe('Create Libraries ', () => { expect(await libraryDialog.isErrorMessageDisplayed(libraryErrors.libraryIdIsNotAvailable), errorMessageNotPresent).toBe(true); }); - test('[C280028] Create library using the ID of a library from the Trashcan', async () => { + test('[XAT-5125] Create library using the ID of a library from the Trashcan', async () => { await libraryDialog.getLabelText(libraryNameLabel).fill(randomLibraryName); await libraryDialog.getLabelText(libraryIdLabel).clear(); await libraryDialog.getLabelText(libraryIdLabel).fill(commonTrashLibraryName); From 0e36602a10f33f092214638960326cfb8958b0d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Thu, 27 Feb 2025 12:24:59 +0100 Subject: [PATCH 09/14] [ACS-9297] Updated library-actions IDs --- .../src/tests/library-actions.e2e.ts | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts b/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts index c4b5d87c00..09bc891ccf 100644 --- a/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts +++ b/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts @@ -175,7 +175,7 @@ test.describe('Library actions ', () => { } }); - test('[C290106] Leave a library from My Libraries', async () => { + test('[XAT-5132] Leave a library - from My Libraries', async () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library1, managerRole)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(user1Library1, leaveLibraryButton); await expect.soft(confirmDialog.getDialogTitle('Leave this library?')).toBeVisible(); @@ -187,14 +187,14 @@ test.describe('Library actions ', () => { await expect(libraryTable.getRowByName(user1Library1)).toBeHidden(); }); - test('[C290111] Cancel Leave Library', async () => { + test('[XAT-5136] Cancel Leave Library', async () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library5, managerRole)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(user1Library5, leaveLibraryButton); await confirmDialog.cancelButton.click(); await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library5, managerRole)).toBeVisible(); }); - test('[C290107] Leave a library - failure notification', async () => { + test('[XAT-5137] Leave a library - failure notification', async () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user2Library1, managerRole)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(user2Library1, leaveLibraryButton); await confirmDialog.okButton.click(); @@ -202,7 +202,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user2Library1, managerRole)).toBeVisible(); }); - test('[C289974] Mark library as favorite from My Libraries', async () => { + test('[XAT-5140] Mark a library as favorite - from My Libraries', async () => { await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary3, contributorRole)).toBeVisible(); await libraryTable.getCellByColumnNameAndRowItem(adminLibrary3, contributorRole).click(); await myLibrariesHeader.clickMoreActions(); @@ -211,7 +211,7 @@ test.describe('Library actions ', () => { expect(await libraryMenu.isMenuItemVisible(removeFavoriteButton)).toBe(true); }); - test('[C289975] Remove library from favorites from My Libraries', async ({ myLibrariesPage }) => { + test('[XAT-5142] Remove a library from favorites - from My Libraries', async ({ myLibrariesPage }) => { await expect(libraryTable.getRowByName(user2Library2)).toBeVisible(); await libraryTable.getRowByName(user2Library2).click(); await myLibrariesPage.page.waitForTimeout(1000); @@ -222,7 +222,7 @@ test.describe('Library actions ', () => { expect(await libraryMenu.isMenuItemVisible(favoriteButton)).toBe(true); }); - test('[C289988] Delete a library from My Libraries', async ({ trashPage }) => { + test('[XAT-5145] Delete a library - from My Libraries', async ({ trashPage }) => { const trashTable = trashPage.dataTable; await expect(libraryTable.getRowByName(user2Library5Delete)).toBeVisible(); await libraryTable.getRowByName(user2Library5Delete).click(); @@ -250,7 +250,7 @@ test.describe('Library actions ', () => { } }); - test('[C290105] Join a public library from Favorite Libraries', async ({ favoriteLibrariesPage }) => { + test('[XAT-5128] Join a public library - from Favorite Libraries', async ({ favoriteLibrariesPage }) => { await favoritesApi.addFavoriteById(siteString, adminLibrary1); await favoriteLibrariesPage.navigate(); await libraryTable.performActionFromExpandableMenu(adminLibrary1, joinButton); @@ -258,7 +258,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary1, consumerRole)).toBeVisible(); }); - test('[C290109] Join a moderated library from Favorite Libraries', async ({ favoriteLibrariesPage }) => { + test('[XAT-5130] Join a moderated library - from Favorite Libraries', async ({ favoriteLibrariesPage }) => { await favoritesApi.addFavoriteById(siteString, adminModerateLibrary1); await favoriteLibrariesPage.navigate(); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary1, notMemberString)).toBeVisible(); @@ -270,7 +270,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary1, consumerRole)).toBeVisible(); }); - test('[C290110] Leave a library from Favorite Libraries', async ({ favoriteLibrariesPage }) => { + test('[XAT-5133] Leave a library - from Favorite Libraries', async ({ favoriteLibrariesPage }) => { const confirmDialog = favoriteLibrariesPage.confirmDialogComponent; await favoritesApi.addFavoriteById(siteString, user1Library2); await favoriteLibrariesPage.navigate(); @@ -281,7 +281,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library2, notMemberString)).toBeVisible(); }); - test('[C290108] Cancel join from Favorite Libraries', async ({ favoriteLibrariesPage }) => { + test('[XAT-5138] Cancel join - from Favorite Libraries', async ({ favoriteLibrariesPage }) => { await user2SitesApi.createSiteMembershipRequestForPerson(username2, adminModerateLibrary3); await favoritesApi.addFavoriteById(siteString, adminModerateLibrary3); await favoriteLibrariesPage.navigate(); @@ -293,7 +293,7 @@ test.describe('Library actions ', () => { expect(hasJoinRequest).toBe(false); }); - test('[C289976] Remove library from favorites from Favorite Libraries', async ({ favoriteLibrariesPage }) => { + test('[XAT-5143] Remove a library from favorites - from Favorite Libraries', async ({ favoriteLibrariesPage }) => { const myLibrariesHeader = favoriteLibrariesPage.acaHeader; const libraryMenu = favoriteLibrariesPage.matMenu; @@ -305,7 +305,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getRowByName(user2Library3)).toBeHidden(); }); - test('[C289991] Delete a library from Favorite Libraries', async ({ favoriteLibrariesPage, trashPage }) => { + test('[XAT-5146] Delete a library - from Favorite Libraries', async ({ favoriteLibrariesPage, trashPage }) => { const myLibrariesHeader = favoriteLibrariesPage.acaHeader; const libraryMenu = favoriteLibrariesPage.matMenu; const trashTable = trashPage.dataTable; @@ -335,7 +335,7 @@ test.describe('Library actions ', () => { } }); - test('[C306959] Join a public library from Search Results', async ({ searchPage }) => { + test('[XAT-5129] Join a public library - from Search Results', async ({ searchPage }) => { await searchPage.searchWithin(adminLibrary2, 'libraries'); await searchPage.reload({ waitUntil: loadString }); await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary2, notMemberString)).toBeVisible(); @@ -344,7 +344,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary2, consumerRole)).toBeVisible(); }); - test('[C306960] Join a moderated library from Search Results', async ({ myLibrariesPage, searchPage }) => { + test('[XAT-5131] Join a moderated library - from Search Results', async ({ myLibrariesPage, searchPage }) => { await searchPage.searchWithin(adminModerateLibrary2, 'libraries'); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary2, notMemberString)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(adminModerateLibrary2, joinButton); @@ -355,7 +355,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary2, consumerRole)).toBeVisible(); }); - test('[C306961] Leave a library from Search Results', async ({ searchPage }) => { + test('[XAT-5134] Leave a library - from Search Results', async ({ searchPage }) => { const confirmDialog = searchPage.confirmDialogComponent; await searchPage.searchWithin(user1Library3, 'libraries'); @@ -366,7 +366,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library3, notMemberString)).toBeVisible(); }); - test('[C306962] Cancel join from Search Results', async ({ searchPage }) => { + test('[XAT-5139] Cancel join - from Search Results', async ({ searchPage }) => { await user2SitesApi.createSiteMembershipRequestForPerson(username2, adminModerateLibrary4); await searchPage.searchWithin(adminModerateLibrary4, 'libraries'); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary4, notMemberString)).toBeVisible(); @@ -376,7 +376,7 @@ test.describe('Library actions ', () => { expect(hasJoinRequest).toBe(false); }); - test('[C306963] Mark library as favorite from Search Results', async ({ myLibrariesPage, searchPage }) => { + test('[XAT-5141] Mark a library as favorite - from Search Results', async ({ myLibrariesPage, searchPage }) => { const myLibrariesHeader = myLibrariesPage.acaHeader; const libraryMenu = myLibrariesPage.matMenu; @@ -393,7 +393,7 @@ test.describe('Library actions ', () => { expect(await libraryMenu.isMenuItemVisible(removeFavoriteButton)).toBe(true); }); - test('[C306964] Remove library from favorites from Search Results', async ({ searchPage }) => { + test('[XAT-5144] Remove a library from favorites - from Search Results', async ({ searchPage }) => { const searchHeader = searchPage.acaHeader; const libraryMenu = searchPage.matMenu; @@ -411,7 +411,7 @@ test.describe('Library actions ', () => { expect(await libraryMenu.isMenuItemVisible(favoriteButton)).toBe(true); }); - test('[C306965] Delete a library from Search Results', async ({ searchPage, trashPage }) => { + test('[XAT-5147] Delete a library - from Search Results', async ({ searchPage, trashPage }) => { const searchHeader = searchPage.acaHeader; const libraryMenu = searchPage.matMenu; const trashTable = trashPage.dataTable; From 6ce3d90a72748ff004fff141101657b79c8dd109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Thu, 27 Feb 2025 13:36:33 +0100 Subject: [PATCH 10/14] [ACS_9297] Updated share IDs --- .../src/tests/share/share-file.e2e.ts | 18 +++++++++--------- .../share/unshare-file-search-results.e2e.ts | 17 +++++++++++------ 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts b/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts index 04779587e8..9ad2bdb6d6 100644 --- a/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts +++ b/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts @@ -75,7 +75,7 @@ test.describe('Share a file', () => { await apiClientFactory.nodes.deleteNodes([file6Id]); }); - test('[C286326] A non-logged user can download the shared file from the viewer', async ({ personalFiles, page }) => { + test('[XAT-5148] A non-logged user can download the shared file from the viewer', async ({ personalFiles, page }) => { await page.goto(file6SharedLink); await personalFiles.viewer.waitForViewerToOpen(); @@ -131,7 +131,7 @@ test.describe('Share a file', () => { await nodesApi.deleteNodes([file3Id, file4Id, file5Id, file6Id, file7Id, file8Id, file9Id]); }); - test('[C286327] Share dialog default values', async ({ personalFiles }) => { + test('[XAT-5149] Share dialog default values', async ({ personalFiles }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file3, 'Share'); const labels = await personalFiles.shareDialog.getLabels(); expect(await personalFiles.shareDialog.getDialogTitle()).toEqual(`Share ${file3}`); @@ -145,7 +145,7 @@ test.describe('Share a file', () => { expect(await personalFiles.shareDialog.isCloseEnabled()).toBe(true); }); - test('[C286329] Share a file', async ({ personalFiles, nodesApiAction }) => { + test('[XAT-5151] Share a file', async ({ personalFiles, nodesApiAction }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file3, 'Share'); const url = await personalFiles.shareDialog.getLinkUrl(); @@ -155,7 +155,7 @@ test.describe('Share a file', () => { expect(url).toContain(sharedId); }); - test('[C286330] Copy shared file URL', async ({ personalFiles, page }) => { + test('[XAT-5152] Copy shared file URL', async ({ personalFiles, page }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file4, 'Share'); const url = await personalFiles.shareDialog.getLinkUrl(); @@ -176,7 +176,7 @@ test.describe('Share a file', () => { expect(download.suggestedFilename()).toBe(file4); }); - test('[C286332] Share a file with expiration date', async ({ personalFiles, nodesApiAction, page }) => { + test('[XAT-5153] Share a file with expiration date', async ({ personalFiles, nodesApiAction, page }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file5, 'Share'); await personalFiles.shareDialog.expireToggle.click(); @@ -194,7 +194,7 @@ test.describe('Share a file', () => { expect(Utils.formatDate(expireDateProperty)).toEqual(Utils.formatDate(inputDate)); }); - test('[C286337] Expire date is displayed correctly', async ({ personalFiles, nodesApiAction }) => { + test('[XAT-5154] Expire date is displayed correctly', async ({ personalFiles, nodesApiAction }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file6, 'Share'); const expireProperty = await nodesApiAction.getNodeProperty(file6Id, 'qshare:expiryDate'); @@ -203,7 +203,7 @@ test.describe('Share a file', () => { expect(Utils.formatDate(await personalFiles.shareDialog.getExpireDate())).toEqual(Utils.formatDate(expiryDate)); }); - test('[C286333] Disable the share link expiration', async ({ personalFiles, nodesApiAction, page }) => { + test('[XAT-5155] Disable the share link expiration', async ({ personalFiles, nodesApiAction, page }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file7, 'Share'); expect(await personalFiles.shareDialog.isExpireToggleEnabled()).toBe(true); @@ -217,7 +217,7 @@ test.describe('Share a file', () => { expect(await nodesApiAction.getNodeProperty(file7Id, 'qshare:expiryDate')).toBe(''); }); - test('[C286335] Shared file URL is not changed when Share dialog is closed and opened again', async ({ personalFiles }) => { + test('[XAT-5156] Shared file URL is not changed when Share dialog is closed and opened again', async ({ personalFiles }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file8, 'Share'); const url1 = await personalFiles.shareDialog.getLinkUrl(); @@ -230,7 +230,7 @@ test.describe('Share a file', () => { expect(url1).toEqual(url2); }); - test('[C286345] Share a file from the context menu', async ({ personalFiles, nodesApiAction }) => { + test('[XAT-5157] Share a file from the context menu', async ({ personalFiles, nodesApiAction }) => { await personalFiles.dataTable.performActionFromExpandableMenu(file9, 'Share'); const url = await personalFiles.shareDialog.getLinkUrl(); diff --git a/e2e/playwright/share-action/src/tests/share/unshare-file-search-results.e2e.ts b/e2e/playwright/share-action/src/tests/share/unshare-file-search-results.e2e.ts index 69d3e0bff3..cb4cc6d3aa 100755 --- a/e2e/playwright/share-action/src/tests/share/unshare-file-search-results.e2e.ts +++ b/e2e/playwright/share-action/src/tests/share/unshare-file-search-results.e2e.ts @@ -113,7 +113,7 @@ test.describe('Unshare a file from Search Results', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, [docLibId]); }); - test('[C306995] Unshare dialog UI', async ({ personalFiles, searchPage }) => { + test('[XAT-5197] Unshare dialog UI', async ({ personalFiles, searchPage }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); @@ -134,7 +134,7 @@ test.describe('Unshare a file from Search Results', () => { await expect(personalFiles.confirmDialog.cancelButton).toBeEnabled(); }); - test('[C306996] Unshare a file', async ({ personalFiles, searchPage, nodesApiAction, page }) => { + test('[XAT-5198] Unshare a file', async ({ personalFiles, searchPage, nodesApiAction, page }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); @@ -153,7 +153,7 @@ test.describe('Unshare a file from Search Results', () => { expect(await nodesApiAction.isFileShared(file2Id)).toBe(false); }); - test('[C306997] Cancel the Unshare action', async ({ personalFiles, searchPage }) => { + test('[XAT-5199] Cancel the Unshare action', async ({ personalFiles, searchPage }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); @@ -171,7 +171,7 @@ test.describe('Unshare a file from Search Results', () => { expect(urlBefore).toEqual(urlAfter); }); - test('[C306999] Unshare a file from the context menu', async ({ personalFiles, searchPage, nodesApiAction, page }) => { + test('[XAT-5200] Unshare a file from the context menu', async ({ personalFiles, searchPage, nodesApiAction, page }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); @@ -190,7 +190,7 @@ test.describe('Unshare a file from Search Results', () => { expect(await nodesApiAction.isFileShared(file4Id)).toBe(false); }); - test('[C306998] Consumer - on Search Results - file shared by other user', async ({ personalFiles, searchPage, nodesApiAction }) => { + test('[XAT-5227] Unshare a file as consumer - file shared by other user - Search Page', async ({ personalFiles, searchPage, nodesApiAction }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); @@ -205,7 +205,12 @@ test.describe('Unshare a file from Search Results', () => { expect(await nodesApiAction.isFileShared(fileSite2Id)).toBe(true); }); - test('[C307000] Consumer - on Search Results - file shared by the user', async ({ personalFiles, searchPage, nodesApiAction, page }) => { + test('[XAT-5228] Unshare a file as consumer - file shared by the user - Search Page', async ({ + personalFiles, + searchPage, + nodesApiAction, + page + }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); From 65b8b9c771d5c6a0ab02df775058cb4facd950ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Fri, 28 Feb 2025 10:45:56 +0100 Subject: [PATCH 11/14] [ACS-9297] Special Permissions Updated IDs --- .../src/tests/folders-actions.e2e.ts | 8 +-- .../src/tests/other-permissions.ts | 57 ++++++++------- .../src/tests/viewer.ts | 72 +++++++++---------- 3 files changed, 73 insertions(+), 64 deletions(-) diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/folders-actions.e2e.ts b/e2e/playwright/special-permissions-actions-available/src/tests/folders-actions.e2e.ts index 55c575c1f4..22f4ad202c 100644 --- a/e2e/playwright/special-permissions-actions-available/src/tests/folders-actions.e2e.ts +++ b/e2e/playwright/special-permissions-actions-available/src/tests/folders-actions.e2e.ts @@ -81,13 +81,13 @@ test.describe('Folders - available actions : ', () => { await personalFiles.navigate({ remoteUrl: `#/personal-files/${parentId}` }); }); - test('Folder not favorite - [C213123]', async ({ personalFiles }) => { + test('[XAT-4637] Actions for a folder, not favorite', async ({ personalFiles }) => { await personalFiles.dataTable.getRowByName(testData.folderFile.name).click({ button: 'right' }); await personalFiles.matMenu.verifyActualMoreActions(testData.folderFile.contextMenu); await checkActionsAvailable(personalFiles, testData.folderFile.name, testData.folderFile.toolbarPrimary, testData.folderFile.toolbarMore); }); - test('Folder favorite - [C280451]', async ({ personalFiles }) => { + test('[XAT-4638] Actions for a folder, favorite', async ({ personalFiles }) => { await personalFiles.dataTable.getRowByName(testData.folderFavFile.name).click({ button: 'right' }); await personalFiles.matMenu.verifyActualMoreActions(testData.folderFavFile.contextMenu); await checkActionsAvailable( @@ -98,7 +98,7 @@ test.describe('Folders - available actions : ', () => { ); }); - test('multiple folders - [C280459]', async ({ personalFiles }) => { + test('[XAT-4642] Actions on multiple folders', async ({ personalFiles }) => { await personalFiles.dataTable.selectItems(testData.folderFavFile.name, testData.folderFile.name); await personalFiles.dataTable.getRowByName(testData.folderFavFile.name).click({ button: 'right' }); await personalFiles.page.reload({ waitUntil: 'load' }); @@ -106,7 +106,7 @@ test.describe('Folders - available actions : ', () => { await checkMultipleSelActionsAvailable(personalFiles, testData.multipleSelFile.toolbarPrimary, testData.multipleSelFile.toolbarMore); }); - test('both files and folders - [C280460]', async ({ personalFiles }) => { + test('[XAT-4643] Actions on multiple selection - files and folders', async ({ personalFiles }) => { await personalFiles.dataTable.selectItems(testData.file.name, testData.folderFile.name); await personalFiles.dataTable.getRowByName(testData.folderFile.name).click({ button: 'right' }); await personalFiles.matMenu.verifyActualMoreActions(testData.multipleSelFile.contextMenu); diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts b/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts index 90cc913133..8508713c34 100644 --- a/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts +++ b/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts @@ -57,7 +57,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { await Utils.tryLoginUser(loginPage, userCollaborator, userCollaborator, 'beforeEach failed'); }); - test('on File Libraries - [C297647]', async ({ myLibrariesPage }) => { + test('[XAT-4844] Toolbar - Actions appear correctly for a file - Collaborator - My Libraries', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await checkActionsAvailable( @@ -68,7 +68,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { ); }); - test('on Shared Files - [C297651]', async ({ sharedPage, myLibrariesPage }) => { + test('[XAT-4845] Toolbar - Actions appear correctly for a file - Collaborator - Shared', async ({ sharedPage, myLibrariesPage }) => { await sharedPage.navigate(); await checkActionsAvailable( myLibrariesPage, @@ -78,7 +78,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { ); }); - test('on Favorites - [C297652]', async ({ favoritePage, myLibrariesPage }) => { + test('[XAT-4846] Toolbar - Actions appear correctly for a file - Collaborator - Favorites', async ({ favoritePage, myLibrariesPage }) => { await favoritePage.navigate(); await checkActionsAvailable( myLibrariesPage, @@ -88,7 +88,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { ); }); - test('on Search Results - [C297653]', async ({ searchPage, myLibrariesPage }) => { + test('[XAT-4847] Toolbar - Actions appear correctly for a file - Collaborator - Search Results', async ({ searchPage, myLibrariesPage }) => { await searchPage.searchWithin(testData.fileSharedFav.name, 'filesAndFolders'); await checkActionsAvailable( myLibrariesPage, @@ -99,7 +99,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { }); test.describe('available actions in the viewer : ', () => { - test('file opened from File Libraries - [C297654]', async ({ myLibrariesPage }) => { + test('[XAT-4848] Correct actions appear for file in viewer - Collaborator - My Libraries', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await checkActionsViewerAvailable( @@ -110,7 +110,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { ); }); - test('file opened from Shared Files - [C297655]', async ({ sharedPage, myLibrariesPage }) => { + test('[XAT-4849] Correct actions appear for file in viewer - Collaborator - Shared', async ({ sharedPage, myLibrariesPage }) => { await sharedPage.navigate(); await checkActionsViewerAvailable( myLibrariesPage, @@ -120,7 +120,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { ); }); - test('file opened from Favorites - [C297656]', async ({ favoritePage, myLibrariesPage }) => { + test('[XAT-4850] Correct actions appear for file in viewer - Collaborator - Favorites', async ({ favoritePage, myLibrariesPage }) => { await favoritePage.navigate(); await checkActionsViewerAvailable( myLibrariesPage, @@ -130,7 +130,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) { ); }); - test('file opened from Search Results - [C306992]', async ({ searchPage, myLibrariesPage }) => { + test('[XAT-4851] Correct actions appear for file in viewer - Collaborator - Search', async ({ searchPage, myLibrariesPage }) => { await searchPage.searchWithin(testData.fileDocxSharedFav.name, 'filesAndFolders'); await checkActionsViewerAvailable( myLibrariesPage, @@ -151,7 +151,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) }); test.describe('available actions in the file select : ', () => { - test('on File Libraries - [C297657]', async ({ myLibrariesPage }) => { + test('[XAT-4852] Toolbar - Correct actions appear for file - on File Libraries - Locked File', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await checkActionsAvailable( @@ -162,7 +162,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) ); }); - test('on Shared Files - [C297658]', async ({ sharedPage, myLibrariesPage }) => { + test('[XAT-4853] Toolbar - Correct actions appear for file - on Shared Files - Locked File', async ({ sharedPage, myLibrariesPage }) => { await sharedPage.navigate(); await checkActionsAvailable( myLibrariesPage, @@ -172,7 +172,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) ); }); - test('on Favorites - [C297659]', async ({ favoritePage, myLibrariesPage }) => { + test('[XAT-4854] Toolbar - Correct actions appear for file - on Favorites - Locked File', async ({ favoritePage, myLibrariesPage }) => { await favoritePage.navigate(); await checkActionsAvailable( myLibrariesPage, @@ -182,7 +182,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) ); }); - test('on Search Results - [C297660]', async ({ searchPage, myLibrariesPage }) => { + test('[XAT-4855] Toolbar - Correct actions appear for file - on Search Results - Locked File', async ({ searchPage, myLibrariesPage }) => { await searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders'); await checkActionsAvailable( myLibrariesPage, @@ -194,7 +194,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) }); test.describe('available actions in the viewer : ', () => { - test('file opened from File Libraries - [C297661]', async ({ myLibrariesPage }) => { + test('[XAT-4856] Correct actions appear for file opened from File Libraries - Locked File', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await checkActionsViewerAvailable( @@ -205,7 +205,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) ); }); - test('file opened from Shared Files - [C297662]', async ({ sharedPage, myLibrariesPage }) => { + test('[XAT-4857] Correct actions appear for file opened from Shared Files - Locked File', async ({ sharedPage, myLibrariesPage }) => { await sharedPage.navigate(); await checkActionsViewerAvailable( myLibrariesPage, @@ -215,7 +215,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) ); }); - test('file opened from Favorites - [C297663]', async ({ favoritePage, myLibrariesPage }) => { + test('[XAT-4858] Correct actions appear for file opened from Favorites - Locked File', async ({ favoritePage, myLibrariesPage }) => { await favoritePage.navigate(); await checkActionsViewerAvailable( myLibrariesPage, @@ -225,7 +225,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string) ); }); - test('file opened from Search Results - [C306993]', async ({ searchPage, myLibrariesPage }) => { + test('[XAT-4859] Correct actions appear for file opened from Search Results - Locked File', async ({ searchPage, myLibrariesPage }) => { await searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders'); await checkActionsViewerAvailable( myLibrariesPage, @@ -244,7 +244,7 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { await Utils.tryLoginUser(loginPage, userManager, userManager, 'beforeEach failed'); }); - test('on File Libraries - [C297664]', async ({ myLibrariesPage }) => { + test('[XAT-4860] Toolbar - Correct actions appear for file - on File Libraries - Locked File - Other User', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await checkActionsAvailable( @@ -255,7 +255,10 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { ); }); - test('on Shared Files - [C297665]', async ({ sharedPage, myLibrariesPage }) => { + test('[XAT-4861] Toolbar - Correct actions appear for file - on Shared Files - Locked File - Other User', async ({ + sharedPage, + myLibrariesPage + }) => { const expectedToolbarMore = [ 'Cancel Editing', 'Upload New Version', @@ -270,7 +273,10 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { await checkActionsAvailable(myLibrariesPage, testData.fileLockedByUser, testData.collaboratorToolbarPrimary, expectedToolbarMore); }); - test('on Favorites - [C297666]', async ({ favoritePage, myLibrariesPage }) => { + test('[XAT-4862] Toolbar - Correct actions appear for file - on Favorites - Locked File - Other User', async ({ + favoritePage, + myLibrariesPage + }) => { await favoritePage.navigate(); await checkActionsAvailable( myLibrariesPage, @@ -280,7 +286,10 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { ); }); - test('on Search Results - [C297667]', async ({ searchPage, myLibrariesPage }) => { + test('[XAT-4863] Toolbar - Correct actions appear for file - on Search Results - Locked File - Other User', async ({ + searchPage, + myLibrariesPage + }) => { await searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders'); await checkActionsAvailable( myLibrariesPage, @@ -291,7 +300,7 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { }); test.describe('available actions in the viewer : ', () => { - test('file opened from File Libraries - [C297671]', async ({ myLibrariesPage }) => { + test('[XAT-4864] Correct actions appear for file opened from File Libraries - viewer - locked', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await checkActionsViewerAvailable( @@ -302,7 +311,7 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { ); }); - test('file opened from Shared Files - [C297672]', async ({ sharedPage, myLibrariesPage }) => { + test('[XAT-4865] Correct actions appear for file opened from Shared Files - viewer - locked', async ({ sharedPage, myLibrariesPage }) => { await sharedPage.navigate(); await checkActionsViewerAvailable( myLibrariesPage, @@ -312,7 +321,7 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { ); }); - test('file opened from Favorites - [C297673]', async ({ favoritePage, myLibrariesPage }) => { + test('[XAT-4866] Correct actions appear for file opened from Favorites - viewer - locked', async ({ favoritePage, myLibrariesPage }) => { await favoritePage.navigate(); await checkActionsViewerAvailable( myLibrariesPage, @@ -323,7 +332,7 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { }); // TODO: add 'Move' and 'Delete' when ACA-2319 is fixed - test('file opened from Search Results - [C306994]', async ({ searchPage, myLibrariesPage }) => { + test('[XAT-4867] Correct actions appear for file opened from Search Results - viewer - locked', async ({ searchPage, myLibrariesPage }) => { await searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders'); await checkActionsViewerAvailable( myLibrariesPage, diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/viewer.ts b/e2e/playwright/special-permissions-actions-available/src/tests/viewer.ts index f4c49d49dc..2323c5979b 100644 --- a/e2e/playwright/special-permissions-actions-available/src/tests/viewer.ts +++ b/e2e/playwright/special-permissions-actions-available/src/tests/viewer.ts @@ -47,7 +47,7 @@ export function viewerTests(userConsumer: string, siteName: string) { await myLibrariesPage.matMenu.verifyActualMoreActions(expectedToolbarMore); } - test('File Office - [C326622]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4808] Actions for Consumer on a file Office', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -57,7 +57,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, favorite - [C326623]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4809] Actions for Consumer on a file Office, favorite', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -67,11 +67,11 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File simple - [C326624]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4810] Actions for Consumer on a file, not Office', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions(loginPage, myLibrariesPage, testData.file.name, testData.file.viewerToolbarPrimary, testData.file.viewerToolbarMore); }); - test('File favorite - [C326625]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4811] Actions for Consumer on a file, not Office, favorite', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -81,7 +81,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, shared - [C326637]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4814] Actions for Consumer on a file Office, shared', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -91,7 +91,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, shared, favorite - [C326638]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4815] Actions for Consumer on a file Office, shared, favorite', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -101,7 +101,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared - [C326648]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4816] Actions for Consumer on a file, not Office, shared', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -111,7 +111,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite - [C326649]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4817] Actions for Consumer on a file, not Office, shared, favorite', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -121,7 +121,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File locked - [C326630]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4812] Actions for Consumer on a file, locked', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -131,7 +131,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File favorite, locked - [C326633]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4813] Actions for Consumer on a file, locked, favorite', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -141,7 +141,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, locked - [C326650]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4818] Actions for Consumer on a file, locked, shared', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -151,7 +151,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite, locked - [C326651]', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-4819] Actions for Consumer on a file, locked, shared, favorite', async ({ loginPage, myLibrariesPage }) => { await checkViewerActions( loginPage, myLibrariesPage, @@ -180,7 +180,7 @@ export function viewerTests(userConsumer: string, siteName: string) { await favoritePage.matMenu.verifyActualMoreActions(expectedToolbarMore); } - test('File Office, favorite - [C326652]', async ({ loginPage, favoritePage }) => { + test('[XAT-4820] File Office, favorite - ', async ({ loginPage, favoritePage }) => { await checkViewerActions( loginPage, favoritePage, @@ -190,7 +190,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File favorite - [C326653]', async ({ loginPage, favoritePage }) => { + test('[XAT-4821] Actions for Consumer on a file, not Office, favorite', async ({ loginPage, favoritePage }) => { await checkViewerActions( loginPage, favoritePage, @@ -200,7 +200,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, shared, favorite - [C326655]', async ({ loginPage, favoritePage }) => { + test('[XAT-4823] Actions for Consumer on a file Office, shared, favorite', async ({ loginPage, favoritePage }) => { await checkViewerActions( loginPage, favoritePage, @@ -210,7 +210,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite - [C326656]', async ({ loginPage, favoritePage }) => { + test('[XAT-4824] Actions for Consumer on a file, not Office, shared, favorite', async ({ loginPage, favoritePage }) => { await checkViewerActions( loginPage, favoritePage, @@ -220,7 +220,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File favorite, locked - [C326654]', async ({ loginPage, favoritePage }) => { + test('[XAT-4822] Actions for Consumer on a file, locked, favorite', async ({ loginPage, favoritePage }) => { await checkViewerActions( loginPage, favoritePage, @@ -230,7 +230,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite, locked - [C326657]', async ({ loginPage, favoritePage }) => { + test('[XAT-4825] Actions for Consumer on a file, locked, shared, favorite', async ({ loginPage, favoritePage }) => { await checkViewerActions( loginPage, favoritePage, @@ -259,7 +259,7 @@ export function viewerTests(userConsumer: string, siteName: string) { await sharedPage.matMenu.verifyActualMoreActions(expectedToolbarMore); } - test('File Office, shared - [C326658]', async ({ loginPage, sharedPage }) => { + test('[XAT-4826] Actions for Consumer on a file Office, shared', async ({ loginPage, sharedPage }) => { await checkViewerActions( loginPage, sharedPage, @@ -269,7 +269,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, shared, favorite - [C326659]', async ({ loginPage, sharedPage }) => { + test('[XAT-4827] Actions for Consumer on a file Office, shared, favorite', async ({ loginPage, sharedPage }) => { await checkViewerActions( loginPage, sharedPage, @@ -279,7 +279,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared - [C326660]', async ({ loginPage, sharedPage }) => { + test('[XAT-4828] Actions for Consumer on a file, not Office, shared', async ({ loginPage, sharedPage }) => { await checkViewerActions( loginPage, sharedPage, @@ -289,7 +289,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite - [C326661]', async ({ loginPage, sharedPage }) => { + test('[XAT-4829] Actions for Consumer on a file, not Office, shared, favorite', async ({ loginPage, sharedPage }) => { await checkViewerActions( loginPage, sharedPage, @@ -299,7 +299,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, locked - [C326662]', async ({ loginPage, sharedPage }) => { + test('[XAT-4830] Actions for Consumer on a file, locked, shared', async ({ loginPage, sharedPage }) => { await checkViewerActions( loginPage, sharedPage, @@ -309,7 +309,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite, locked - [C326663]', async ({ loginPage, sharedPage }) => { + test('[XAT-4831] Actions for Consumer on a file, locked, shared, favorite', async ({ loginPage, sharedPage }) => { await checkViewerActions( loginPage, sharedPage, @@ -338,7 +338,7 @@ export function viewerTests(userConsumer: string, siteName: string) { await searchPage.matMenu.verifyActualMoreActions(expectedToolbarMore); } - test('File Office - [C326664]', async ({ loginPage, searchPage }) => { + test('[XAT-4832] Actions for Consumer on a file Office', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -348,7 +348,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, favorite - [C326665]', async ({ loginPage, searchPage }) => { + test('[XAT-4833] Actions for Consumer on a file Office, favorite', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -358,11 +358,11 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File simple - [C326666]', async ({ loginPage, searchPage }) => { + test('[XAT-4834] Actions for Consumer on a file, not Office', async ({ loginPage, searchPage }) => { await checkViewerActions(loginPage, searchPage, testData.file.name, testData.file.viewerToolbarPrimary, testData.file.viewerToolbarMore); }); - test('File favorite - [C326667]', async ({ loginPage, searchPage }) => { + test('[XAT-4835] Actions for Consumer on a file, not Office, favorite', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -372,7 +372,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, shared - [C326670]', async ({ loginPage, searchPage }) => { + test('[XAT-4838] Actions for Consumer on a file Office, shared', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -382,7 +382,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File Office, shared, favorite - [C326671]', async ({ loginPage, searchPage }) => { + test('[XAT-4839] Actions for Consumer on a file Office, shared, favorite', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -392,7 +392,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared - [C326672]', async ({ loginPage, searchPage }) => { + test('[XAT-4840] Actions for Consumer on a file, not Office, shared', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -402,7 +402,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite - [C326673]', async ({ loginPage, searchPage }) => { + test('[XAT-4841] Actions for Consumer on a file, not Office, shared, favorite', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -412,7 +412,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File locked - [C326668]', async ({ loginPage, searchPage }) => { + test('[XAT-4836] Actions for Consumer on a file, locked', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -422,7 +422,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File favorite, locked - [C326669]', async ({ loginPage, searchPage }) => { + test('[XAT-4837] Actions for Consumer on a file, locked, favorite', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -432,7 +432,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, locked - [C326674]', async ({ loginPage, searchPage }) => { + test('[XAT-4842] Actions for Consumer on a file, locked, shared', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, @@ -442,7 +442,7 @@ export function viewerTests(userConsumer: string, siteName: string) { ); }); - test('File shared, favorite, locked - [C326675]', async ({ loginPage, searchPage }) => { + test('[XAT-4843] Actions for Consumer on a file, locked, shared, favorite', async ({ loginPage, searchPage }) => { await checkViewerActions( loginPage, searchPage, From b2e808c0b8b88910d23c7e86561d89cdb970fbe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Fri, 28 Feb 2025 11:42:17 +0100 Subject: [PATCH 12/14] [ACS-9297] Updated viewer IDs --- .../src/tests/other-permissions.ts | 1 - .../viewer/src/tests/viewer-action.e2e.ts | 20 +++++----- .../viewer/src/tests/viewer-protected.e2e.ts | 8 ++-- .../viewer/src/tests/viewer-useraction.e2e.ts | 2 +- .../src/tests/viewer-version-actions.e2e.ts | 40 ++++++++++++------- e2e/playwright/viewer/src/tests/viewer.e2e.ts | 22 +++++----- 6 files changed, 51 insertions(+), 42 deletions(-) diff --git a/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts b/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts index 8508713c34..e89afcba35 100644 --- a/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts +++ b/e2e/playwright/special-permissions-actions-available/src/tests/other-permissions.ts @@ -331,7 +331,6 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) { ); }); - // TODO: add 'Move' and 'Delete' when ACA-2319 is fixed test('[XAT-4867] Correct actions appear for file opened from Search Results - viewer - locked', async ({ searchPage, myLibrariesPage }) => { await searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders'); await checkActionsViewerAvailable( diff --git a/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts index 296bb2c160..40a1f2db2d 100644 --- a/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts @@ -81,7 +81,7 @@ test.describe('viewer action file', () => { await apiClientFactory.nodes.deleteNode(destinationId, { permanent: true }); }); - test('[C268129] Download action', async ({ personalFiles }) => { + test('[XAT-5417] Viewer - Download action - Personal Files', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName); await personalFiles.viewer.waitForViewerToOpen(); const downloadPromise = personalFiles.page.waitForEvent('download'); @@ -90,7 +90,7 @@ test.describe('viewer action file', () => { expect(download.suggestedFilename()).toBe(randomDocxName); }); - test('[C268133] Delete action', async ({ personalFiles, trashPage }) => { + test('[XAT-5421] Viewer - Delete action - Personal Files', async ({ personalFiles, trashPage }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxDelete); await personalFiles.viewer.waitForViewerToOpen(); @@ -105,7 +105,7 @@ test.describe('viewer action file', () => { expect(await trashPage.dataTable.isItemPresent(randomDocxDelete), 'Item should be present in Trash').toBe(true); }); - test('[C297584] Edit Offline action', async ({ personalFiles }) => { + test('[XAT-5423] Viewer - Edit Offline action - Personal Files', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(fileForEditOffline); await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.acaHeader.clickViewerMoreActions(); @@ -120,7 +120,7 @@ test.describe('viewer action file', () => { expect(await personalFiles.matMenu.isMenuItemVisible('Cancel Editing'), 'Cancel Editing menu should be visible').toBe(true); }); - test('[C297585] Cancel Editing action', async ({ personalFiles }) => { + test('[XAT-5424] Viewer - Cancel Editing action - Personal Files', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(fileForCancelEditing); await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.acaHeader.clickViewerMoreActions(); @@ -129,14 +129,14 @@ test.describe('viewer action file', () => { expect(await personalFiles.matMenu.isMenuItemVisible('Edit Offline'), 'Edit offline menu should be visible').toBe(true); }); - test('[C279282] Full screen action', async ({ personalFiles }) => { + test('[XAT-5415] Full screen action', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName); await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.acaHeader.fullScreenButton.click(); expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is closed after pressing Full screen').toBe(true); }); - test('[C286314] Pressing ESC in the viewer closes only the action dialog', async ({ personalFiles }) => { + test('[XAT-5416] Pressing ESC in the viewer closes only the action dialog', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName); await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.acaHeader.clickViewerMoreActions(); @@ -147,7 +147,7 @@ test.describe('viewer action file', () => { expect(await personalFiles.viewer.isViewerOpened(), 'Viewer should be opened').toBe(true); }); - test('[C286379] Favorite action from Shared Files', async ({ sharedPage, favoritePage }) => { + test('[XAT-5442] Favorite action from Shared Files', async ({ sharedPage, favoritePage }) => { await sharedPage.navigate({ waitUntil: 'domcontentloaded' }); await sharedPage.dataTable.performClickFolderOrFileToOpen(randomDocxNameShare); expect(await sharedPage.viewer.isViewerOpened(), 'Viewer should be opened').toBe(true); @@ -166,7 +166,7 @@ test.describe('viewer action file', () => { expect(await favoritePage.dataTable.isItemPresent(randomDocxNameShare), 'Item is not present in Favorites list').toBe(true); }); - test('[C286395] Share action from Favorites', async ({ favoritePage }) => { + test('[XAT-5462] Share action from Favorites', async ({ favoritePage }) => { await favoritePage.navigate({ waitUntil: 'domcontentloaded' }); await favoritePage.dataTable.performClickFolderOrFileToOpen(randomDocxNameFavorite); expect(await favoritePage.viewer.isViewerOpened(), 'Viewer should be opened').toBe(true); @@ -179,7 +179,7 @@ test.describe('viewer action file', () => { await expect(favoritePage.viewerDialog.shareDialogTitle, 'Share dialog should be open').toBeHidden(); }); - test('[C297586] [C307004] Upload new version action - major', async ({ personalFiles, nodesApiAction }) => { + test('[XAT-5465] Upload new version action - major', async ({ personalFiles, nodesApiAction }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(filePersonalFiles); await personalFiles.viewer.waitForViewerToOpen('wait for viewer content'); @@ -217,7 +217,7 @@ test.describe('viewer action file', () => { await expect(personalFiles.matMenu.getMenuItemFromHeaderMenu('Edit Offline'), `'Edit Offline' should be shown`).toBeVisible(); }); - test('[C286384] Copy action from Recent Files', async ({ recentFilesPage, personalFiles }) => { + test('[XAT-5448] Copy action from Recent Files', async ({ recentFilesPage, personalFiles }) => { await recentFilesPage.navigate(); await recentFilesPage.dataTable.performClickFolderOrFileToOpen(docxRecentFiles); expect(await recentFilesPage.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); diff --git a/e2e/playwright/viewer/src/tests/viewer-protected.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-protected.e2e.ts index 3ba627441e..cfb7d82113 100644 --- a/e2e/playwright/viewer/src/tests/viewer-protected.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-protected.e2e.ts @@ -52,7 +52,7 @@ test.describe('viewer file', () => { await apiClientFactory.nodes.deleteNode(folderId, { permanent: true }); }); - test('[C268958] Password dialog appears when opening a protected file', async ({ personalFiles }) => { + test('[XAT-5467] Password dialog appears when opening a protected file', async ({ personalFiles }) => { expect(await personalFiles.passwordDialog.isDialogOpen(), 'Password dialog not open').toBe(true); expect(await personalFiles.passwordDialog.isPasswordInputDisplayed(), 'Password input not displayed').toBe(true); await expect(personalFiles.passwordDialog.submitButton, 'Submit button not disabled').toBeVisible(); @@ -60,7 +60,7 @@ test.describe('viewer file', () => { await expect(personalFiles.viewer.pdfViewerContentPages, 'Viewer did not close').toBeHidden(); }); - test('[C268959] File content is displayed when entering the correct password', async ({ personalFiles }) => { + test('[XAT-5468] File content is displayed when entering the correct password', async ({ personalFiles }) => { await personalFiles.passwordDialog.enterPassword(TEST_FILES.PDF_PROTECTED.password); await expect(personalFiles.passwordDialog.submitButton, 'Submit button not enabled').toBeVisible(); @@ -70,7 +70,7 @@ test.describe('viewer file', () => { expect(await personalFiles.viewer.isPdfViewerContentDisplayed(), 'file content not displayed').toBe(true); }); - test('[C268960] Error appears when entering an incorrect password', async ({ personalFiles }) => { + test('[XAT-5469] Error appears when entering an incorrect password', async ({ personalFiles }) => { await personalFiles.passwordDialog.enterPassword('incorrect'); await expect(personalFiles.passwordDialog.submitButton, 'Submit button not enabled').toBeVisible(); await personalFiles.passwordDialog.submitButton.click(); @@ -79,7 +79,7 @@ test.describe('viewer file', () => { expect(await personalFiles.viewer.isPdfViewerContentDisplayed(), 'file content is displayed').toBe(false); }); - test('[C268961] Refresh the page while Password dialog is open', async ({ personalFiles }) => { + test('[XAT-5470] Refresh the page while Password dialog is open', async ({ personalFiles }) => { await personalFiles.passwordDialog.enterPassword(TEST_FILES.PDF_PROTECTED.password); await personalFiles.reload({ waitUntil: 'domcontentloaded' }); await personalFiles.viewer.waitForViewerToOpen(); diff --git a/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts index 8c53ee2614..d67a931aa3 100644 --- a/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts @@ -62,7 +62,7 @@ test.describe('from File Libraries', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, [siteName]); }); - test('[C286371] Move action from File Libraries', async ({ myLibrariesPage, personalFiles }) => { + test('[XAT-5429] Move action from File Libraries', async ({ myLibrariesPage, personalFiles }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.getCellLinkByName(siteName).click(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(xlsxLibraries); diff --git a/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts index 952249cdd3..dc189a3dd8 100644 --- a/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts @@ -101,16 +101,18 @@ test.describe('Version actions', () => { await viewFirstFileVersion(personalFiles); }); - test('[C586766] Should be possible to view a previous document version', async ({ personalFiles }) => { + test('[XAT-5496] Should be possible to view a previous document version - Personal Files', async ({ personalFiles }) => { expect(personalFiles.page.url()).toContain('1.0'); }); - test('[C586767] Previous document version title should be the same in Preview mode as the Uploaded File', async ({ personalFiles }) => { + test('[XAT-5497] Previous document version title should be the same in Preview mode as in Version Manager - Personal Files', async ({ + personalFiles + }) => { await personalFiles.viewer.waitForViewerToOpen('wait for viewer content'); expect(await personalFiles.viewer.getFileTitle()).toContain(filenameBeforeUpdate); }); - test('[C586768] Should be possible to download a previous document version', async ({ personalFiles }) => { + test('[XAT-5498] Should be possible to download a previous document version - Personal Files', async ({ personalFiles }) => { const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), await personalFiles.viewer.downloadButton.click()]); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); }); @@ -123,16 +125,18 @@ test.describe('Version actions', () => { await viewFirstFileVersion(recentFilesPage); }); - test('[C586769] Should be possible to view a previous document version', async ({ recentFilesPage }) => { + test('[XAT-5499] Should be possible to view a previous document version - Recent Files', async ({ recentFilesPage }) => { expect(recentFilesPage.page.url()).toContain('1.0'); }); - test('[C586770] Previous document version title should be the same in Preview mode as the Uploaded File', async ({ recentFilesPage }) => { + test('[XAT-5500] Previous document version title should be the same in Preview mode as in Version Manager - Recent Files', async ({ + recentFilesPage + }) => { await recentFilesPage.viewer.waitForViewerToOpen('wait for viewer content'); expect(await recentFilesPage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); }); - test('[C586771] Should be possible to download a previous document version', async ({ recentFilesPage }) => { + test('[XAT-5501] Should be possible to download a previous document version - Recent Files', async ({ recentFilesPage }) => { const [download] = await Promise.all([recentFilesPage.page.waitForEvent('download'), await recentFilesPage.viewer.downloadButton.click()]); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); }); @@ -145,16 +149,18 @@ test.describe('Version actions', () => { await viewFirstFileVersion(favoritePage); }); - test('[C586772] Should be possible to view a previous document version', async ({ favoritePage }) => { + test('[XAT-5502] Should be possible to view a previous document version - Favorites', async ({ favoritePage }) => { expect(favoritePage.page.url()).toContain('1.0'); }); - test('[C586773] Previous document version title should be the same in Preview mode as the Uploaded File', async ({ favoritePage }) => { + test('[XAT-5503] Previous document version title should be the same in Preview mode as in Version Manager - Favorites', async ({ + favoritePage + }) => { await favoritePage.viewer.waitForViewerToOpen('wait for viewer content'); expect(await favoritePage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); }); - test('[C586774] Should be possible to download a previous document version', async ({ favoritePage }) => { + test('[XAT-5504] Should be possible to download a previous document version - Favorites', async ({ favoritePage }) => { const [download] = await Promise.all([favoritePage.page.waitForEvent('download'), await favoritePage.viewer.downloadButton.click()]); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); }); @@ -167,16 +173,18 @@ test.describe('Version actions', () => { await viewFirstFileVersion(sharedPage); }); - test('[C586776] Should be possible to view a previous document version', async ({ sharedPage }) => { + test('[XAT-5505] Should be possible to view a previous document version - Shared Files', async ({ sharedPage }) => { expect(sharedPage.page.url()).toContain('1.0'); }); - test('[C586777] Previous document version title should be the same in Preview mode as the Uploaded File', async ({ sharedPage }) => { + test('[XAT-5506] Previous document version title should be the same in Preview mode as in Version Manager - Shared Files', async ({ + sharedPage + }) => { await sharedPage.viewer.waitForViewerToOpen('wait for viewer content'); expect(await sharedPage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); }); - test('[C586778] Should be possible to download a previous document version', async ({ sharedPage }) => { + test('[XAT-5507] Should be possible to download a previous document version - Shared Files', async ({ sharedPage }) => { const [download] = await Promise.all([sharedPage.page.waitForEvent('download'), await sharedPage.viewer.downloadButton.click()]); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); }); @@ -191,16 +199,18 @@ test.describe('Version actions', () => { await viewFirstFileVersion(searchPage); }); - test('[C586779] Should be possible to view a previous document version', async ({ searchPage }) => { + test('[XAT-5508] Should be possible to view a previous document version - Search Results', async ({ searchPage }) => { expect(searchPage.page.url()).toContain('1.0'); }); - test('[C586780] Previous document version title should be the same in Preview mode as the Uploaded File', async ({ searchPage }) => { + test('[XAT-5509] Previous document version title should be the same in Preview mode as in Version Manager - Search Results', async ({ + searchPage + }) => { await searchPage.viewer.waitForViewerToOpen('wait for viewer content'); expect(await searchPage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); }); - test('[C586781] Should be possible to download a previous document version', async ({ searchPage }) => { + test('[XAT-5510] Should be possible to download a previous document version - Search Results', async ({ searchPage }) => { const [download] = await Promise.all([searchPage.page.waitForEvent('download'), await searchPage.viewer.downloadButton.click()]); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); }); diff --git a/e2e/playwright/viewer/src/tests/viewer.e2e.ts b/e2e/playwright/viewer/src/tests/viewer.e2e.ts index 1472dba28f..aac593c624 100644 --- a/e2e/playwright/viewer/src/tests/viewer.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer.e2e.ts @@ -137,19 +137,19 @@ test.describe('viewer file', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActionsAdmin, [docLibId]); }); - test('[C279269] Viewer opens on double clicking on a file from Personal Files', async ({ personalFiles }) => { + test('[XAT-5471] Viewer opens on double clicking on a file from Personal Files', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName); expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); }); - test('[C279270] Viewer opens when clicking the View action for a file', async ({ personalFiles }) => { + test('[XAT-5472] Viewer opens when clicking the View action for a file', async ({ personalFiles }) => { await personalFiles.dataTable.getRowByName(randomDocxName).click(); await personalFiles.acaHeader.viewButton.click(); await personalFiles.dataTable.spinnerWaitForReload(); expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); }); - test('[C279283] The viewer general elements are displayed', async ({ personalFiles }) => { + test('[XAT-5473] The viewer general elements are displayed correctly', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName); expect(await personalFiles.viewer.isViewerOpened()).toBe(true); await personalFiles.dataTable.spinnerWaitForReload(); @@ -157,7 +157,7 @@ test.describe('viewer file', () => { expect(await personalFiles.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); }); - test('[C279271] Close the viewer', async ({ personalFiles }) => { + test('[XAT-5474] Close the viewer', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName); expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); expect(await personalFiles.viewer.getCloseButtonTooltip()).toEqual('Close'); @@ -165,7 +165,7 @@ test.describe('viewer file', () => { await expect(personalFiles.dataTable.getCellLinkByName(randomDocxName), 'Viewer did not close').toBeVisible(); }); - test('[C284636] Viewer opens for a file from Recent Files', async ({ personalFiles, recentFilesPage }) => { + test('[XAT-5479] Viewer opens for a file from Recent Files', async ({ personalFiles, recentFilesPage }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName); expect(await personalFiles.viewer.getCloseButtonTooltip()).toEqual('Close'); await recentFilesPage.navigate(); @@ -176,7 +176,7 @@ test.describe('viewer file', () => { expect(await recentFilesPage.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); }); - test('[C279175] Viewer opens for a file from Search Results', async ({ personalFiles, searchPage }) => { + test('[XAT-5482] Viewer opens for a file from Search Results', async ({ personalFiles, searchPage }) => { await personalFiles.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await searchPage.searchOverlay.checkFilesAndFolders(); @@ -188,7 +188,7 @@ test.describe('viewer file', () => { expect(await searchPage.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); }); - test('[C279285] Viewer opens when accessing the preview URL for a file', async ({ personalFiles }) => { + test('[XAT-5476] Viewer opens when accessing the preview URL for a file', async ({ personalFiles }) => { const previewURL = `#/personal-files/${folderId}/(viewer:view/${fileDocxId})`; await personalFiles.navigate({ remoteUrl: previewURL }); await personalFiles.dataTable.spinnerWaitForReload(); @@ -196,7 +196,7 @@ test.describe('viewer file', () => { await expect(personalFiles.viewer.fileTitleButtonLocator).toHaveText(randomDocxName); }); - test('[C284635] Viewer opens for a file from Shared Files', async ({ sharedPage }) => { + test('[XAT-5480] Viewer opens for a file from Shared Files', async ({ sharedPage }) => { await sharedPage.navigate(); await sharedPage.reload({ waitUntil: 'domcontentloaded' }); await sharedPage.dataTable.goThroughPagesLookingForRowWithName(randomDocxName); @@ -206,7 +206,7 @@ test.describe('viewer file', () => { expect(await sharedPage.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); }); - test('[C284634] Viewer opens for a file from Favorites', async ({ favoritePage }) => { + test('[XAT-5481] Viewer opens for a file from Favorites', async ({ favoritePage }) => { await favoritePage.navigate({ waitUntil: 'domcontentloaded' }); await favoritePage.dataTable.goThroughPagesLookingForRowWithName(randomDocxName); await favoritePage.dataTable.performClickFolderOrFileToOpen(randomDocxName); @@ -215,13 +215,13 @@ test.describe('viewer file', () => { expect(await favoritePage.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); }); - test('[C279287] Viewer does not open when accessing the preview URL for a file without permissions', async ({ personalFiles }) => { + test('[XAT-5477] Viewer does not open when accessing the preview URL for a file without permissions', async ({ personalFiles }) => { const previewURL = `#/libraries/${docLibId}/(viewer:view/${fileAdminId})`; await personalFiles.navigate({ remoteUrl: `${previewURL}` }); await expect(personalFiles.viewer.viewerLocator, 'Viewer should not be opened!').toBeHidden(); }); - test('[C284633] Viewer opens for a file from File Libraries', async ({ myLibrariesPage }) => { + test('[XAT-5478] Viewer opens for a file from File Libraries', async ({ myLibrariesPage }) => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteUser); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(fileInSite); From 2910628914837861606138f98ed1f166c7fc407c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Fri, 28 Feb 2025 12:01:11 +0100 Subject: [PATCH 13/14] [ACS-9297] Updated comments IDs --- e2e/playwright/info-drawer/src/tests/comments.e2e.ts | 10 +++++----- .../src/tests/file-folder-properties.e2e.ts | 4 ++-- e2e/playwright/info-drawer/src/tests/general.e2e.ts | 2 +- .../info-drawer/src/tests/library-properties.e2e.ts | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/e2e/playwright/info-drawer/src/tests/comments.e2e.ts b/e2e/playwright/info-drawer/src/tests/comments.e2e.ts index 91f9a72a44..f4e06f42be 100755 --- a/e2e/playwright/info-drawer/src/tests/comments.e2e.ts +++ b/e2e/playwright/info-drawer/src/tests/comments.e2e.ts @@ -55,7 +55,7 @@ test.describe('Info Drawer - Comments', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C299173] from Personal Files - Comments tab default fields', async ({ personalFiles }) => { + test('[XAT-5524] from Personal Files - Comments tab default fields', async ({ personalFiles }) => { const personalFolderName = `personalFolder-e2e-${Utils.random()}`; await nodesApi.createFolder(personalFolderName); await fileActionsApi.waitForNodes(personalFolderName, { expect: 1 }); @@ -70,7 +70,7 @@ test.describe('Info Drawer - Comments', () => { await expect(personalFiles.infoDrawer.addCommentButton).toBeDisabled(); }); - test('[C299209] from Favorites - Add a comment on a folder', async ({ favoritePage }) => { + test('[XAT-5544] from Favorites - Add a comment on a folder', async ({ favoritePage }) => { const favoriteFolderName = `favoriteFolder-e2e-${Utils.random()}`; const folderFavId = (await nodesApi.createFolder(favoriteFolderName)).entry.id; await favoritesActions.addFavoritesByIds('folder', [folderFavId]); @@ -87,7 +87,7 @@ test.describe('Info Drawer - Comments', () => { expect(await favoritePage.infoDrawer.verifyCommentsCountFromList(1)); }); - test('[C299189] from Shared Files - Comments are displayed ordered by created date in descending order', async ({ sharedPage }) => { + test('[XAT-5533] from Shared Files - Comments are displayed ordered by created date in descending order', async ({ sharedPage }) => { await sharedPage.navigate(); const sharedFileName = `sharedFile-e2e-${Utils.random()}`; const e2eCommentFirst = `e2e-comment-${Utils.random()}`; @@ -108,7 +108,7 @@ test.describe('Info Drawer - Comments', () => { await expect(sharedPage.infoDrawer.commentTextContent.nth(1)).toHaveText(e2eCommentFirst); }); - test('[C299195] from Recent Files - Add a comment on a file', async ({ recentFilesPage }) => { + test('[XAT-5539] from Recent Files - Add a comment on a file', async ({ recentFilesPage }) => { const recentFile = `e2e-recentFile-${Utils.random()}`; await nodesApi.createFile(recentFile); await fileActionsApi.waitForNodes(recentFile, { expect: 1 }); @@ -124,7 +124,7 @@ test.describe('Info Drawer - Comments', () => { expect(await recentFilesPage.infoDrawer.verifyCommentsCountFromList(1)); }); - test('[C299196] Comment info display - File from Favorites', async ({ favoritePage }) => { + test('[XAT-5540] Comment info display - File from Favorites', async ({ favoritePage }) => { const e2eCommentFirst = `e2e-comment-${Utils.random()}`; const commentInfoFileName = `e2e-commentFile-${Utils.random()}`; const commentInfoFileId = (await nodesApi.createFile(commentInfoFileName)).entry.id; diff --git a/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts b/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts index d528e58548..6beb137087 100755 --- a/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts +++ b/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts @@ -132,7 +132,7 @@ test.describe('Info Drawer - File Folder Properties', () => { await personalFiles.acaHeader.viewDetails.click(); } - test('[C299162] View properties - Default tabs', async ({ personalFiles }) => { + test('[XAT-5512] View properties - Default tabs', async ({ personalFiles }) => { await navigateAndOpenInfoDrawer(personalFiles, FolderC299162); expect(await personalFiles.infoDrawer.getHeaderTitle()).toEqual(FolderC299162); await expect(personalFiles.infoDrawer.propertiesTab).toBeVisible(); @@ -140,7 +140,7 @@ test.describe('Info Drawer - File Folder Properties', () => { expect(await personalFiles.infoDrawer.getTabsCount()).toEqual(2); }); - test('[C599174] View properties - Should be able to make the files/folders info drawer expandable as for Sites', async ({ personalFiles }) => { + test('[XAT-5514] View properties - Should be able to make the folders info drawer expandable as for Sites', async ({ personalFiles }) => { await navigateAndOpenInfoDrawer(personalFiles, FolderC599174); await personalFiles.infoDrawer.expandDetailsButton.click(); await expect(personalFiles.infoDrawer.expandedDetailsPermissionsTab).toBeVisible(); diff --git a/e2e/playwright/info-drawer/src/tests/general.e2e.ts b/e2e/playwright/info-drawer/src/tests/general.e2e.ts index 5ba943c6f2..69c6642e46 100644 --- a/e2e/playwright/info-drawer/src/tests/general.e2e.ts +++ b/e2e/playwright/info-drawer/src/tests/general.e2e.ts @@ -53,7 +53,7 @@ test.describe('Info Drawer - General', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C268999] Info drawer closes on page refresh', async ({ personalFiles }) => { + test('[XAT-5511] Info drawer closes on page refresh', async ({ personalFiles }) => { const parentFolder = `parent-general-${Utils.random()}`; const file1 = `file1-${Utils.random()}.txt`; const folder1 = `folder1-${Utils.random()}`; diff --git a/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts b/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts index 963c6512d2..c815ea2b3f 100644 --- a/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts +++ b/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts @@ -250,7 +250,7 @@ test.describe('Non manager', () => { await Utils.deleteNodesSitesEmptyTrashcan(undefined, undefined, 'afterAll failed', sitesApi, [site.id]); }); - test('[C289337] Info drawer button is not displayed when user is not the library manager', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-5546] View Details button is not displayed when user is not the library manager', async ({ loginPage, myLibrariesPage }) => { await loginPage.loginUser({ username: user2, password: user2 }, { withNavigation: true, waitForLoading: true }); await myLibrariesPage.navigate(); @@ -258,7 +258,7 @@ test.describe('Non manager', () => { await expect(myLibrariesPage.acaHeader.viewDetails).toBeHidden(); }); - test('[C289344] Error notification when editing with no rights', async ({ loginPage, myLibrariesPage }) => { + test('[XAT-5553] Error notification when editing with no rights', async ({ loginPage, myLibrariesPage }) => { await loginPage.loginUser({ username: user3, password: user3 }, { withNavigation: true, waitForLoading: true }); await myLibrariesPage.navigate(); From 2796c76383bc81568cb5e5f60a5f6721ac28a68e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Mon, 3 Mar 2025 13:38:38 +0100 Subject: [PATCH 14/14] [ACS-9297] Updated Search IDs --- e2e/playwright/search/exclude.tests.json | 10 +++++----- .../src/tests/search-filters-categories.e2e.ts | 2 +- .../src/tests/search-filters-date.e2e.ts | 14 +++++++------- .../src/tests/search-filters-general.e2e.ts | 6 +++--- .../src/tests/search-filters-location.e2e.ts | 4 ++-- .../src/tests/search-filters-logic.e2e.ts | 10 +++++----- .../src/tests/search-filters-properties.e2e.ts | 8 ++++---- .../src/tests/search-filters-tags.e2e.ts | 2 +- .../search/src/tests/search-input.e2e.ts | 6 +++--- .../tests/search-results-files-folders.e2e.ts | 4 ++-- .../src/tests/search-results-general.e2e.ts | 12 ++++++------ .../src/tests/search-results-libraries.e2e.ts | 18 +++++++++--------- .../search/src/tests/search-sorting.e2e.ts | 16 ++++++++-------- 13 files changed, 56 insertions(+), 56 deletions(-) diff --git a/e2e/playwright/search/exclude.tests.json b/e2e/playwright/search/exclude.tests.json index ab7740633c..6b20c23ceb 100644 --- a/e2e/playwright/search/exclude.tests.json +++ b/e2e/playwright/search/exclude.tests.json @@ -1,7 +1,7 @@ { - "C290019": "https://hyland.atlassian.net/browse/ACS-6928", - "C290018": "https://hyland.atlassian.net/browse/ACS-6928", - "C699046-3": "https://hyland.atlassian.net/browse/ACS-7464", - "C699498": "https://hyland.atlassian.net/browse/ACS-7682", - "C277736": "https://hyland.atlassian.net/browse/ACS-9192" + "XAT-5601": "https://hyland.atlassian.net/browse/ACS-6928", + "XAT-5600": "https://hyland.atlassian.net/browse/ACS-6928", + "XAT-17697": "https://hyland.atlassian.net/browse/ACS-7464", + "XAT-5580": "https://hyland.atlassian.net/browse/ACS-7682", + "XAT-5571": "https://hyland.atlassian.net/browse/ACS-9192" } diff --git a/e2e/playwright/search/src/tests/search-filters-categories.e2e.ts b/e2e/playwright/search/src/tests/search-filters-categories.e2e.ts index 09d65c79f6..14f290b967 100644 --- a/e2e/playwright/search/src/tests/search-filters-categories.e2e.ts +++ b/e2e/playwright/search/src/tests/search-filters-categories.e2e.ts @@ -71,7 +71,7 @@ test.describe('Search - Filters - Categories', () => { await categoriesApi.deleteCategory(categoryId); }); - test('[C699498] Filter by categories', async ({ searchPage }) => { + test('[XAT-5580] Should able to filter search result with category', async ({ searchPage }) => { await searchPage.searchWithin(randomId, 'files'); await searchPage.searchFilters.categoriesFilter.click(); await searchPage.searchFiltersCategories.addOptionInput.fill(newSubcategories[0].name); diff --git a/e2e/playwright/search/src/tests/search-filters-date.e2e.ts b/e2e/playwright/search/src/tests/search-filters-date.e2e.ts index e27f8d1f23..374f9ea8dc 100644 --- a/e2e/playwright/search/src/tests/search-filters-date.e2e.ts +++ b/e2e/playwright/search/src/tests/search-filters-date.e2e.ts @@ -58,7 +58,7 @@ test.describe('Search - Filters - Date', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C699048-1] [C699049-1] Filter by date - Changing tabs', async ({ searchPage }) => { + test('[XAT-17698] Filter by date - Changing tabs', async ({ searchPage }) => { await searchPage.acaHeader.searchButton.click(); await searchPage.searchFilters.dateFilter.click(); await searchPage.searchFiltersDate.betweenButton.click(); @@ -74,7 +74,7 @@ test.describe('Search - Filters - Date', () => { expect(await searchPage.searchFiltersDate.isSearchTabSelected()).toBe('true'); }); - test('[C699048-2] Filter by date - Created anytime', async ({ searchPage }) => { + test('[XAT-5582] Should able to filter search result with Created date under Date Facet - Created anytime', async ({ searchPage }) => { await searchPage.searchFiltersDate.filterFilesByDate({ searchPage, filterType: 'anytime', @@ -85,7 +85,7 @@ test.describe('Search - Filters - Date', () => { }); }); - test('[C699049-2] Filter by date - Modified anytime', async ({ searchPage }) => { + test('[XAT-5583] Should able to filter search result with Modified date under Date Facet - Modified anytime', async ({ searchPage }) => { await searchPage.searchFiltersDate.filterFilesByDate({ searchPage, filterType: 'anytime', @@ -96,7 +96,7 @@ test.describe('Search - Filters - Date', () => { }); }); - test('[C699048-3] Filter by date - Created in the last', async ({ searchPage }) => { + test('[XAT-17699] Should able to filter search result with Created date under Date Facet - Created in the last', async ({ searchPage }) => { await searchPage.searchFiltersDate.filterFilesByDate({ searchPage, filterType: 'inTheLast', @@ -108,7 +108,7 @@ test.describe('Search - Filters - Date', () => { }); }); - test('[C699049-3] Filter by date - Modified in the last', async ({ searchPage }) => { + test('[XAT-17701] Should able to filter search result with Modified date under Date Facet - Modified in the last', async ({ searchPage }) => { await searchPage.searchFiltersDate.filterFilesByDate({ searchPage, filterType: 'inTheLast', @@ -120,7 +120,7 @@ test.describe('Search - Filters - Date', () => { }); }); - test('[C699048-4] Filter by date - Created between', async ({ searchPage }) => { + test('[XAT-17700] Should able to filter search result with Created date under Date Facet - Created between', async ({ searchPage }) => { await searchPage.searchFiltersDate.filterFilesByDate({ searchPage, filterType: 'between', @@ -134,7 +134,7 @@ test.describe('Search - Filters - Date', () => { }); }); - test('[C699049-4] Filter by date - Modified between', async ({ searchPage }) => { + test('[XAT-17702] Should able to filter search result with Modified date under Date Facet - Modified between', async ({ searchPage }) => { await searchPage.searchFiltersDate.filterFilesByDate({ searchPage, filterType: 'between', diff --git a/e2e/playwright/search/src/tests/search-filters-general.e2e.ts b/e2e/playwright/search/src/tests/search-filters-general.e2e.ts index 54ea6dc9c4..187460fd82 100644 --- a/e2e/playwright/search/src/tests/search-filters-general.e2e.ts +++ b/e2e/playwright/search/src/tests/search-filters-general.e2e.ts @@ -43,7 +43,7 @@ test.describe('Search - Filters - General', () => { } }); - test('[C704281] [C704282] Menu cards have proper titles', async ({ searchPage }) => { + test('[XAT-5575] Search Filters Menu cards have proper titles', async ({ searchPage }) => { async function checkMenuCardTitle(page: SearchPage, filterLocator: Locator, expectText: string): Promise { await filterLocator.click(); await expect(page.searchFilters.menuCardTitle).toContainText(expectText); @@ -84,7 +84,7 @@ test.describe('Search - Filters - General', () => { } }); - test('[C704283] Facets filters can be cleared', async ({ searchPage }) => { + test('[XAT-5577] Menu cards filters can be cleared with "Clear" button', async ({ searchPage }) => { const filterTextBefore = await searchPage.searchFilters.propertiesFilter.textContent(); await searchPage.searchFilters.propertiesFilter.click(); await searchPage.searchFiltersProperties.fileSizeInput.fill('1000'); @@ -101,7 +101,7 @@ test.describe('Search - Filters - General', () => { expect(filterTextAfter).not.toEqual(filterTextCleared); }); - test('[C699499] All filters can be reset with reset button', async ({ searchPage }) => { + test('[XAT-5574] All Search filters can be reset with reset button', async ({ searchPage }) => { const propertiesFilterTextBefore = await searchPage.searchFilters.propertiesFilter.textContent(); await searchPage.searchFilters.propertiesFilter.click(); await searchPage.searchFiltersProperties.fileSizeInput.fill('1000'); diff --git a/e2e/playwright/search/src/tests/search-filters-location.e2e.ts b/e2e/playwright/search/src/tests/search-filters-location.e2e.ts index 6abcd857f1..f4ffe273a0 100644 --- a/e2e/playwright/search/src/tests/search-filters-location.e2e.ts +++ b/e2e/playwright/search/src/tests/search-filters-location.e2e.ts @@ -67,7 +67,7 @@ test.describe('Search - Filters - Location', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteAdminApi, [siteId]); }); - test('[C279231] Filter by location - files', async ({ searchPage }) => { + test('[XAT-5603] Only files are returned when Files option is the only one checked', async ({ searchPage }) => { await searchPage.searchWithin(random, 'files'); await expect(searchPage.dataTable.getRowByName(fileJpg)).toBeVisible(); @@ -79,7 +79,7 @@ test.describe('Search - Filters - Location', () => { await expect(searchPage.dataTable.getRowByName(filePdf)).toBeHidden(); }); - test('[C279231] Filter by location - folders', async ({ searchPage }) => { + test('[XAT-5604] Only folders are returned when Folders option is the only one checked', async ({ searchPage }) => { await searchPage.searchWithin(random, 'folders'); await expect(searchPage.dataTable.getRowByName(userFolder)).toBeVisible(); diff --git a/e2e/playwright/search/src/tests/search-filters-logic.e2e.ts b/e2e/playwright/search/src/tests/search-filters-logic.e2e.ts index 9f96ce3604..5261cdfc62 100644 --- a/e2e/playwright/search/src/tests/search-filters-logic.e2e.ts +++ b/e2e/playwright/search/src/tests/search-filters-logic.e2e.ts @@ -75,7 +75,7 @@ test.describe('Search - Filters - Logic', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C699500] Filter with Match All', async ({ searchPage }) => { + test('[XAT-5584] should able to filter search result with logic filter with Match All', async ({ searchPage }) => { await searchPage.searchFilters.logicFilter.click(); await searchPage.searchFiltersLogic.matchAllInput.fill( `${logicFile1NameSplit[0]} ${logicFile1NameSplit[1]} ${logicFile1TitleSplit[1]} ${logicFile1DescriptionSplit[1]}` @@ -87,7 +87,7 @@ test.describe('Search - Filters - Logic', () => { await expect(searchPage.dataTable.getRowByName(logicFile2.name)).toBeHidden(); }); - test('[C699501] Filter with Match Any', async ({ searchPage }) => { + test('[XAT-5585] should able to filter search result with logic filter with Match Any', async ({ searchPage }) => { await searchPage.searchFilters.logicFilter.click(); await searchPage.searchFiltersLogic.matchAnyInput.fill( `${logicFile1NameSplit[2]}-${logicFile1NameSplit[3]} ${logicFile1TitleSplit[0]} ${logicFile1DescriptionSplit[0]}` @@ -100,7 +100,7 @@ test.describe('Search - Filters - Logic', () => { await expect(searchPage.dataTable.getRowByName(logicFile2.name)).toBeVisible(); }); - test('[C699502] Filter with Exclude', async ({ searchPage }) => { + test('[XAT-5586] should able to filter search result with logic filter with Exclude', async ({ searchPage }) => { await searchPage.searchFilters.logicFilter.click(); await searchPage.searchFiltersLogic.matchAnyInput.fill( `${logicFile1NameSplit[0]}-${logicFile1NameSplit[1]} ${logicFile1TitleSplit[0]} ${logicFile1DescriptionSplit[0]}` @@ -114,7 +114,7 @@ test.describe('Search - Filters - Logic', () => { await expect(searchPage.dataTable.getRowByName(logicFile2.name)).toBeVisible(); }); - test('[C699503] Filter with Exact phrase', async ({ searchPage }) => { + test('[XAT-5587] should able to filter search result with logic filter with Exact Phrase', async ({ searchPage }) => { await searchPage.searchFilters.logicFilter.click(); await searchPage.searchFiltersLogic.matchExactInput.fill(logicFile1.name); await searchPage.searchFilters.menuCardApply.click(); @@ -143,7 +143,7 @@ test.describe('Search - Filters - Logic', () => { await expect(searchPage.dataTable.getRowByName(logicFile1.name)).toBeVisible(); }); - test('[C699504] Filter with all options', async ({ searchPage }) => { + test('[XAT-5588] should able to filter search result with logic filter with combination of 4 option available', async ({ searchPage }) => { const logicFile2NameSplit = logicFile2.name.split('-'); await searchPage.searchFilters.logicFilter.click(); diff --git a/e2e/playwright/search/src/tests/search-filters-properties.e2e.ts b/e2e/playwright/search/src/tests/search-filters-properties.e2e.ts index ef7b778043..d46182bbee 100644 --- a/e2e/playwright/search/src/tests/search-filters-properties.e2e.ts +++ b/e2e/playwright/search/src/tests/search-filters-properties.e2e.ts @@ -57,7 +57,7 @@ test.describe('Search - Filters - Properties', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C699046-1] Filter by size - At least 1000KB', async ({ searchPage }) => { + test('[XAT-5578] Should able to filter search result with File size under properties Facet - At least 1000KB', async ({ searchPage }) => { await searchPage.searchWithin(randomId, 'files'); await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, undefined, undefined, '1000'); @@ -66,7 +66,7 @@ test.describe('Search - Filters - Properties', () => { await expect(searchPage.dataTable.getRowByName(fileNameJpgMb)).toBeVisible(); }); - test('[C699046-2] Filter by size - At most 1MB', async ({ searchPage }) => { + test('[XAT-17696] Should able to filter search result with File size under properties Facet - At most 1MB', async ({ searchPage }) => { await searchPage.searchWithin(randomId, 'files'); await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, 'At Most', 'MB', '1'); @@ -75,7 +75,7 @@ test.describe('Search - Filters - Properties', () => { await expect(searchPage.dataTable.getRowByName(fileNameJpgMb)).toBeHidden(); }); - test('[C699046-3] Filter by size - Exactly', async ({ searchPage }) => { + test('[XAT-17697] Should able to filter search result with File size under properties Facet - Exactly', async ({ searchPage }) => { await searchPage.searchWithin(randomId, 'files'); await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, 'Exactly', undefined, '2.96'); @@ -84,7 +84,7 @@ test.describe('Search - Filters - Properties', () => { await expect(searchPage.dataTable.getRowByName(fileNameJpgMb)).toBeHidden(); }); - test('[C699047] Filter by type', async ({ searchPage }) => { + test('[XAT-5579] Should able to filter search result with File Type under properties Facet', async ({ searchPage }) => { await searchPage.searchWithin(randomId, 'files'); await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, undefined, undefined, undefined, 'pdf'); diff --git a/e2e/playwright/search/src/tests/search-filters-tags.e2e.ts b/e2e/playwright/search/src/tests/search-filters-tags.e2e.ts index 00d4b0c432..34eee9dd20 100644 --- a/e2e/playwright/search/src/tests/search-filters-tags.e2e.ts +++ b/e2e/playwright/search/src/tests/search-filters-tags.e2e.ts @@ -74,7 +74,7 @@ test.describe('Search - Filters - Tags', () => { await tagsApiAdmin.deleteTags([`${(tagEntries as TagPaging).list.entries[1].entry.id}`]); }); - test('[C698515] Filter with Tags', async ({ searchPage }) => { + test('[XAT-5581] user able to search with tags facet', async ({ searchPage }) => { await searchPage.searchWithin(random, 'files'); await searchPage.searchFiltersTags.filterByTag(searchPage, `${(tagEntries as TagPaging).list.entries[0].entry.tag}`); diff --git a/e2e/playwright/search/src/tests/search-input.e2e.ts b/e2e/playwright/search/src/tests/search-input.e2e.ts index fe6a8abc13..6a225e065e 100644 --- a/e2e/playwright/search/src/tests/search-input.e2e.ts +++ b/e2e/playwright/search/src/tests/search-input.e2e.ts @@ -42,14 +42,14 @@ test.describe('Search - Input', () => { await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); }); - test('[C289847] Search icon is displayed in toolbar and clicking on it displays search input container', async ({ searchPage }) => { + test('[XAT-5563] Search icon is displayed in toolbar and clicking on it displays search input container', async ({ searchPage }) => { await searchPage.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); await expect(searchPage.searchOverlay.searchInputControl).toBeVisible(); }); - test('[C289848] Search options are displayed when clicking in the search input', async ({ searchPage }) => { + test('[XAT-5564] Search options are displayed when clicking in the search input', async ({ searchPage }) => { await searchPage.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); @@ -62,7 +62,7 @@ test.describe('Search - Input', () => { await expect(searchPage.searchOverlay.searchLibrariesOption).not.toBeChecked(); }); - test('[C289849] Search options are correctly enabled / disabled', async ({ searchPage }) => { + test('[XAT-5565] Search options are correctly enabled / disabled', async ({ searchPage }) => { await searchPage.acaHeader.searchButton.click(); await searchPage.clickSearchButton(); diff --git a/e2e/playwright/search/src/tests/search-results-files-folders.e2e.ts b/e2e/playwright/search/src/tests/search-results-files-folders.e2e.ts index af5c2ff110..6b9282f4d9 100644 --- a/e2e/playwright/search/src/tests/search-results-files-folders.e2e.ts +++ b/e2e/playwright/search/src/tests/search-results-files-folders.e2e.ts @@ -54,7 +54,7 @@ test.describe('Search results - files and folders', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); }); - test('[C290029] Search file with special characters', async ({ searchPage }) => { + test('[XAT-5610] Search files / folders with special characters', async ({ searchPage }) => { const fileRussian = `любимый-сайт-${random}`; await nodesApi.createFile(fileRussian); @@ -62,7 +62,7 @@ test.describe('Search results - files and folders', () => { await expect(searchPage.dataTable.getRowByName(fileRussian)).toBeVisible(); }); - test('[C279177] Location column redirect - file in user Home', async ({ searchPage, personalFiles }) => { + test('[XAT-5611] Clicking on the location link redirects to parent folder', async ({ searchPage, personalFiles }) => { const file = `test-file-${random}.txt`; const fileTitle = 'file title'; const fileDescription = 'file description'; diff --git a/e2e/playwright/search/src/tests/search-results-general.e2e.ts b/e2e/playwright/search/src/tests/search-results-general.e2e.ts index a9d5055c07..c24e28da0b 100644 --- a/e2e/playwright/search/src/tests/search-results-general.e2e.ts +++ b/e2e/playwright/search/src/tests/search-results-general.e2e.ts @@ -60,7 +60,7 @@ test.describe('Search Results - General', () => { await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, [site]); }); - test('[C290005] Only files are returned when Files option is the only one checked', async ({ searchPage }) => { + test('[XAT-5603] Only files are returned when Files option is the only one checked', async ({ searchPage }) => { await searchPage.searchWithin(`*${random}`, 'files'); expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); @@ -68,7 +68,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); }); - test('[C290006] Only folders are returned when Folders option is the only one checked', async ({ searchPage }) => { + test('[XAT-5604] Only folders are returned when Folders option is the only one checked', async ({ searchPage }) => { await searchPage.searchWithin(`*${random}`, 'folders'); expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy(); @@ -76,7 +76,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); }); - test('[C290007] Files and folders are returned when both Files and Folders options are checked', async ({ searchPage }) => { + test('[XAT-5604] Files and folders are returned when both Files and Folders options are checked', async ({ searchPage }) => { await searchPage.searchWithin(`*${random}`, 'filesAndFolders'); expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); @@ -84,7 +84,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); }); - test('[C290008] Only libraries are returned when Libraries option is checked', async ({ searchPage }) => { + test('[XAT-5593] Only libraries are returned when Libraries option is checked', async ({ searchPage }) => { await searchPage.searchWithin(`*${random}`, 'libraries'); expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy(); @@ -92,7 +92,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); }); - test('[C279162] Results are updated automatically when changing the search term', async ({ searchPage }) => { + test('[XAT-5589] Results are updated automatically when changing the search term', async ({ searchPage }) => { await searchPage.searchWithin(file, 'filesAndFolders'); expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); @@ -106,7 +106,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(folder)).toBeTruthy(); }); - test('[C279178] Results are returned when accessing an URL containing a search query', async ({ searchPage, personalFiles }) => { + test('[XAT-5590] Results are returned when accessing an URL containing a search query', async ({ searchPage, personalFiles }) => { await searchPage.searchWithin(site, 'libraries'); expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); diff --git a/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts b/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts index 65962b774c..817a87257b 100644 --- a/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts +++ b/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts @@ -140,7 +140,7 @@ test.describe('Search Results - General', () => { } }); - test('[C290012] Search library - full name match', async ({ searchPage }) => { + test('[XAT-5594] Search library - full name match', async ({ searchPage }) => { await searchPage.searchWithin(site1.name, 'libraries'); expect(await searchPage.dataTable.isItemPresent(site1.name)).toBeTruthy(); @@ -149,7 +149,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site4.name)).toBeFalsy(); }); - test('[C290013] Search library - partial name match', async ({ searchPage }) => { + test('[XAT-5595] Search library - partial name match', async ({ searchPage }) => { await fileActionsApi.waitForNodes(site3.id, { expect: 1 }); await searchPage.searchWithin(`lib-${random}`, 'libraries'); @@ -159,7 +159,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site4.name)).toBeFalsy(); }); - test('[C290014] Search library - description match', async ({ searchPage }) => { + test('[XAT-5596] Search library - description match', async ({ searchPage }) => { await searchPage.searchWithin(site4.description, 'libraries'); expect(await searchPage.dataTable.isItemPresent(site1.name)).toBeFalsy(); @@ -168,7 +168,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site4.name)).toBeTruthy(); }); - test('[C290016] Results page columns', async ({ searchPage }) => { + test('[XAT-5598] Libraries Results page columns', async ({ searchPage }) => { await searchPage.searchWithin(site1.name, 'libraries'); const expectedColumns = ['Name', 'Description', 'My Role', 'Visibility']; @@ -177,7 +177,7 @@ test.describe('Search Results - General', () => { expect(actualColumns).toEqual(expectedColumns); }); - test('[C290017] Library visibility is correctly displayed', async ({ searchPage }) => { + test('[XAT-5599] Library visibility is correctly displayed', async ({ searchPage }) => { await searchPage.searchWithin(`user-site-${random}`, 'libraries'); const expectedSitesVisibility = { @@ -191,7 +191,7 @@ test.describe('Search Results - General', () => { expect(expectedSitesVisibility).toEqual(actualSitesVisibility); }); - test('[C290018] User role is correctly displayed', async ({ searchPage }) => { + test('[XAT-5600] User role is correctly displayed', async ({ searchPage }) => { await searchPage.searchWithin(`admin-${random}-site`, 'libraries'); const expectedSitesRoles = { @@ -206,19 +206,19 @@ test.describe('Search Results - General', () => { expect(expectedSitesRoles).toEqual(actualSitesRole); }); - test('[C290019] Private sites are not displayed when user is not a member', async ({ searchPage }) => { + test('[XAT-5601] Private sites are not displayed when user is not a member', async ({ searchPage }) => { await searchPage.searchWithin(`admin-${random}-site`, 'libraries'); expect(await searchPage.dataTable.isItemPresent(adminPrivate)).toBeFalsy(); }); - test('[C290028] Search libraries with special characters', async ({ searchPage }) => { + test('[XAT-5602] Search libraries with special characters', async ({ searchPage }) => { await searchPage.searchWithin(siteRussian.name, 'libraries'); expect(await searchPage.dataTable.isItemPresent(siteRussian.name)).toBeTruthy(); }); - test('[C290020] Empty Search results - Libraries', async ({ searchPage }) => { + test('[XAT-5591] Empty Search results - Libraries', async ({ searchPage }) => { await searchPage.sidenav.openPanel(SIDEBAR_LABELS.MY_LIBRARIES); /* cspell:disable-next-line */ await searchPage.searchWithin('qwertyuiop', 'files'); diff --git a/e2e/playwright/search/src/tests/search-sorting.e2e.ts b/e2e/playwright/search/src/tests/search-sorting.e2e.ts index 67c0c5e7df..7ba97ab429 100644 --- a/e2e/playwright/search/src/tests/search-sorting.e2e.ts +++ b/e2e/playwright/search/src/tests/search-sorting.e2e.ts @@ -113,35 +113,35 @@ test.describe('Search sorting', () => { expect(await searchPage.dataTable.getNthRow(1).textContent()).toContain(expectedSecondFile); } - test(`[C277728] Sort by Name`, async ({ searchPage }) => { + test(`[XAT-5568] Sort by Name`, async ({ searchPage }) => { await testSearchSorting(searchPage, 'Name' as SortByType, 'asc', fileJpg.name, filePdf.name); }); - test(`[C277740] Sort by Type`, async ({ searchPage }) => { + test(`[XAT-5573] Sort by Type`, async ({ searchPage }) => { await testSearchSorting(searchPage, 'Type' as SortByType, 'asc', filePdf.name, fileJpg.name); }); - test(`[C277738] Sort by Size`, async ({ searchPage }) => { + test(`[XAT-5572] Sort by Size`, async ({ searchPage }) => { await testSearchSorting(searchPage, 'Size' as SortByType, 'asc', filePdf.name, fileJpg.name); }); - test(`[C277734] Sort by Created date`, async ({ searchPage }) => { + test(`[XAT-5570] Sort by Created date`, async ({ searchPage }) => { await testSearchSorting(searchPage, 'Created date' as SortByType, 'asc', fileJpg.name, filePdf.name); }); - test(`[C277736] Sort by Modified date`, async ({ searchPage }) => { + test(`[XAT-5571] Sort by Modified date`, async ({ searchPage }) => { await testSearchSorting(searchPage, 'Modified date' as SortByType, 'asc', fileJpg.name, filePdf.name); }); - test(`[C277727] Sort by Relevance`, async ({ searchPage }) => { + test(`[XAT-5567] Sort by Relevance`, async ({ searchPage }) => { await testSearchSorting(searchPage, 'Relevance' as SortByType, 'asc', fileJpg.name, filePdf.name); }); - test(`[C277732] Sort by Modifier`, async ({ searchPage }) => { + test(`[XAT-5569] Sort by Modifier`, async ({ searchPage }) => { await testSearchSorting(searchPage, 'Modifier' as SortByType, 'asc', fileJpg.name, filePdf.name); }); - test('[C277722] Sorting options are displayed', async ({ searchPage }) => { + test('[XAT-5566] Sorting options are displayed', async ({ searchPage }) => { await searchPage.searchWithin(`search-sort *${random}`, 'files'); await searchPage.searchSortingPicker.actionMenu.click();