[ACS-9297] [ACA] [E2E] Update test IDs to match the XRAY test cases IDs (#4429)

* [ACS-9297] [E2E] Authentication and List Views updated

* [ACS-9297] navigation tests IDs updated

* [ACS-9297] updated pagination IDs

* [ACS-9297] updated download actions ids

* [ACS-9297] Updated upload-download actions IDs & changed the location of viewer-version-actions tests to match XRAY

* [ACS-9297] updated copy-move-actions IDs

* [ACS-9297] Updated delete-actions IDs

* [ACS-9297] updated create-actions IDs

* [ACS-9297] Updated library-actions IDs

* [ACS_9297] Updated share IDs

* [ACS-9297] Special Permissions Updated IDs

* [ACS-9297] Updated viewer IDs

* [ACS-9297] Updated comments IDs

* [ACS-9297] Updated Search IDs

* [ACS-9297] Updated the remaning IDs

* [ACS-9297] one tests excluded one duplicated deleted

* [ACS-9297] fixing rebase mistakes 1
This commit is contained in:
Adam Świderski 2025-03-19 10:20:24 +01:00 committed by GitHub
parent 8fffe98e01
commit 9d22bf0efe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
65 changed files with 562 additions and 526 deletions

View File

@ -1,3 +1,3 @@
{ {
"C213097" : "https://hyland.atlassian.net/browse/ACS-5479" "XAT-4370" : "https://hyland.atlassian.net/browse/ACS-5479"
} }

View File

@ -59,7 +59,7 @@ test.describe('viewer file', () => {
}); });
test.describe('general tests', () => { test.describe('general tests', () => {
test('[C213089] login page layout', async ({ loginPage }) => { test('[XAT-4366] login page layout', async ({ loginPage }) => {
await loginPage.navigate(); await loginPage.navigate();
await expect(loginPage.username, 'username input is not enabled').toBeEnabled(); await expect(loginPage.username, 'username input is not enabled').toBeEnabled();
await expect(loginPage.password, 'password 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.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(); await personalFiles.navigate();
expect(personalFiles.page.url()).toContain('login'); expect(personalFiles.page.url()).toContain('login');
}); });
}); });
test.describe('with valid credentials', () => { 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.navigate();
await loginPage.loginUser({ username: otherLanguageUser.username, password: otherLanguageUser.password }); await loginPage.loginUser({ username: otherLanguageUser.username, password: otherLanguageUser.password });
expect(loginPage.page.url()).toContain('personal-files'); expect(loginPage.page.url()).toContain('personal-files');
@ -95,7 +95,7 @@ test.describe('viewer file', () => {
expect(loginPage.page.url()).toContain('personal-files'); 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 apiClientFactory.changePassword(testUser2.username, newPassword);
await loginPage.navigate(); await loginPage.navigate();
await loginPage.loginUser({ username: testUser2.username, password: newPassword }); await loginPage.loginUser({ username: testUser2.username, password: newPassword });

View File

@ -37,7 +37,7 @@ test.describe('viewer file', () => {
await apiClientFactory.createUser(testUser); 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.navigate();
await loginPage.loginUser({ username: testUser.username, password: testUser.password }); await loginPage.loginUser({ username: testUser.username, password: testUser.password });
await loginPage.logoutUser(); await loginPage.logoutUser();

View File

@ -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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
await copyContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); await copyContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder);
expect.soft(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); expect.soft(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy();
@ -91,7 +91,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder);
await copyContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder); await copyContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder);
expect.soft(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeTruthy(); expect.soft(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeTruthy();
@ -103,7 +103,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFileInsideFolder)).toBeTruthy(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder);
await copyContentInPersonalFiles(personalFiles, [sourceFolder, sourceFile], destinationFolder); await copyContentInPersonalFiles(personalFiles, [sourceFolder, sourceFile], destinationFolder);
expect.soft(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeTruthy(); expect.soft(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeTruthy();
@ -115,7 +115,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); 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); await nodesApi.createFile(sourceFile, destinationFolderId);
const expectedNameForCopiedFile = sourceFile.replace('.', '-1.'); const expectedNameForCopiedFile = sourceFile.replace('.', '-1.');
await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
@ -127,7 +127,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeTruthy(); 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; const existingFolderId = (await nodesApi.createFolder(sourceFolder, destinationFolderId)).entry.id;
await nodesApi.createFile(sourceFileInsideFolder, existingFolderId); await nodesApi.createFile(sourceFileInsideFolder, existingFolderId);
const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.'); const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.');
@ -143,7 +143,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeTruthy(); 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'; const lockType = 'ALLOW_OWNER_CHANGES';
await nodesApi.lockNodes([sourceFileId], lockType); await nodesApi.lockNodes([sourceFileId], lockType);
await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
@ -154,7 +154,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); 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'; const lockType = 'ALLOW_OWNER_CHANGES';
await nodesApi.lockNodes([sourceFileInsideFolderId], lockType); await nodesApi.lockNodes([sourceFileInsideFolderId], lockType);
await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder);
@ -168,7 +168,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFileInsideFolder)).toBeTruthy(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
await copyContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); await copyContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder);
await personalFiles.snackBar.actionButton.click(); await personalFiles.snackBar.actionButton.click();
@ -178,7 +178,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeFalsy(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder);
await copyContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder); await copyContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder);
await personalFiles.snackBar.actionButton.click(); await personalFiles.snackBar.actionButton.click();
@ -188,7 +188,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFolder)).toBeFalsy(); 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); await nodesApi.createFile(sourceFile, destinationFolderId);
const expectedNameForCopiedFile = sourceFile.replace('.', '-1.'); const expectedNameForCopiedFile = sourceFile.replace('.', '-1.');
await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
@ -201,7 +201,7 @@ test.describe('Copy actions', () => {
expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeFalsy(); 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; const existingFolderId = (await nodesApi.createFolder(sourceFolder, destinationFolderId)).entry.id;
await nodesApi.createFile(sourceFileInsideFolder, existingFolderId); await nodesApi.createFile(sourceFileInsideFolder, existingFolderId);
const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.'); const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.');

View File

@ -79,21 +79,21 @@ test.describe('Copy Move actions', () => {
await myLibrariesPage.contentNodeSelector.selectDestination(destinationFolder); 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 loginPage.loginUser({ username: consumerUser, password: consumerUser }, { withNavigation: true, waitForLoading: true });
await myLibrariesPage.navigate(); await myLibrariesPage.navigate();
await copyContentInMyLibraries(myLibrariesPage); await copyContentInMyLibraries(myLibrariesPage);
await expect(myLibrariesPage.contentNodeSelector.actionButton).toBeDisabled(); 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 loginPage.loginUser({ username: contributorUser, password: contributorUser }, { withNavigation: true, waitForLoading: true });
await myLibrariesPage.navigate(); await myLibrariesPage.navigate();
await copyContentInMyLibraries(myLibrariesPage); await copyContentInMyLibraries(myLibrariesPage);
await expect(myLibrariesPage.contentNodeSelector.actionButton).toBeEnabled(); 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 loginPage.loginUser({ username: collaboratorUser, password: collaboratorUser }, { withNavigation: true, waitForLoading: true });
await myLibrariesPage.navigate(); await myLibrariesPage.navigate();
await copyContentInMyLibraries(myLibrariesPage); await copyContentInMyLibraries(myLibrariesPage);

View File

@ -74,7 +74,7 @@ test.describe('Move actions', () => {
await personalFilesPage.spinner.waitForReload(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
await moveContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); await moveContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder);
const msg = await personalFiles.snackBar.message.innerText(); const msg = await personalFiles.snackBar.message.innerText();
@ -85,7 +85,7 @@ test.describe('Move actions', () => {
expect(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder);
await moveContentInPersonalFiles(personalFiles, [sourceFolder, sourceFile], destinationFolder); await moveContentInPersonalFiles(personalFiles, [sourceFolder, sourceFile], destinationFolder);
const msg = await personalFiles.snackBar.message.innerText(); const msg = await personalFiles.snackBar.message.innerText();
@ -98,7 +98,7 @@ test.describe('Move actions', () => {
expect.soft(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); 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); await nodesApi.createFile(sourceFile, destinationFolderId);
const expectedNameForCopiedFile = sourceFile.replace('.', '-1.'); const expectedNameForCopiedFile = sourceFile.replace('.', '-1.');
await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
@ -112,7 +112,7 @@ test.describe('Move actions', () => {
expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeFalsy(); 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; const existingFolderId = (await nodesApi.createFolder(sourceFolder, destinationFolderId)).entry.id;
await nodesApi.createFile(sourceFileInsideFolder, existingFolderId); await nodesApi.createFile(sourceFileInsideFolder, existingFolderId);
const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.'); const expectedNameForCopiedFile = sourceFileInsideFolder.replace('.', '-1.');
@ -129,7 +129,7 @@ test.describe('Move actions', () => {
expect(await personalFiles.dataTable.isItemPresent(expectedNameForCopiedFile)).toBeFalsy(); 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'; const lockType = 'ALLOW_OWNER_CHANGES';
await nodesApi.lockNodes([sourceFileId], lockType); await nodesApi.lockNodes([sourceFileId], lockType);
await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile); await Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
@ -142,7 +142,7 @@ test.describe('Move actions', () => {
expect.soft(await personalFiles.dataTable.isItemPresent(sourceFile)).toBeTruthy(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFile);
await moveContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder); await moveContentInPersonalFiles(personalFiles, [sourceFile], destinationFolder);
await personalFiles.snackBar.actionButton.click(); await personalFiles.snackBar.actionButton.click();
@ -154,7 +154,7 @@ test.describe('Move actions', () => {
expect(await trashPage.dataTable.isItemPresent(sourceFile)).toBeFalsy(); 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 Utils.reloadPageIfRowNotVisible(personalFiles, sourceFolder);
await moveContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder); await moveContentInPersonalFiles(personalFiles, [sourceFolder], destinationFolder);
await personalFiles.snackBar.actionButton.click(); await personalFiles.snackBar.actionButton.click();
@ -185,12 +185,12 @@ test.describe('Move actions', () => {
[ [
{ {
id: 'C217317', id: 'XAT-4997',
testTitle: `Move a folder with content`, testTitle: `Move a folder with content`,
lockedFile: false lockedFile: false
}, },
{ {
id: 'C217321', id: 'XAT-4990',
testTitle: 'Move folder that contains locked file', testTitle: 'Move folder that contains locked file',
lockedFile: true lockedFile: true
} }

View File

@ -1,48 +1,48 @@
{ {
"C325043": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5229": "https://hyland.atlassian.net/browse/ACS-6412",
"C325044": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5231": "https://hyland.atlassian.net/browse/ACS-6412",
"C325045": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5232": "https://hyland.atlassian.net/browse/ACS-6412",
"C325047": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5233": "https://hyland.atlassian.net/browse/ACS-6412",
"C325031": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5238": "https://hyland.atlassian.net/browse/ACS-6412",
"C325032": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5239": "https://hyland.atlassian.net/browse/ACS-6412",
"C325033": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5240": "https://hyland.atlassian.net/browse/ACS-6412",
"C325030": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5244": "https://hyland.atlassian.net/browse/ACS-6412",
"C325026": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5245": "https://hyland.atlassian.net/browse/ACS-6412",
"C325042": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5248": "https://hyland.atlassian.net/browse/ACS-6412",
"C325147": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5252": "https://hyland.atlassian.net/browse/ACS-6412",
"C325148": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5253": "https://hyland.atlassian.net/browse/ACS-6412",
"C325149": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5254": "https://hyland.atlassian.net/browse/ACS-6412",
"C325150": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5255": "https://hyland.atlassian.net/browse/ACS-6412",
"C325153": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5257": "https://hyland.atlassian.net/browse/ACS-6412",
"C325151": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5258": "https://hyland.atlassian.net/browse/ACS-6412",
"C325139": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5256": "https://hyland.atlassian.net/browse/ACS-6412",
"C325143": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5260": "https://hyland.atlassian.net/browse/ACS-6412",
"C325144": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5261": "https://hyland.atlassian.net/browse/ACS-6412",
"C325145": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5262": "https://hyland.atlassian.net/browse/ACS-6412",
"C325146": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5263": "https://hyland.atlassian.net/browse/ACS-6412",
"C325157": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5266": "https://hyland.atlassian.net/browse/ACS-6412",
"C325154": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5267": "https://hyland.atlassian.net/browse/ACS-6412",
"C325158": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5270": "https://hyland.atlassian.net/browse/ACS-6412",
"C325161": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5271": "https://hyland.atlassian.net/browse/ACS-6412",
"C325142": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5259": "https://hyland.atlassian.net/browse/ACS-6412",
"C325141": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5265": "https://hyland.atlassian.net/browse/ACS-6412",
"C325140": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5264": "https://hyland.atlassian.net/browse/ACS-6412",
"C325156": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5268": "https://hyland.atlassian.net/browse/ACS-6412",
"C325155": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5269": "https://hyland.atlassian.net/browse/ACS-6412",
"C325162": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5272": "https://hyland.atlassian.net/browse/ACS-6412",
"C325163": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5273": "https://hyland.atlassian.net/browse/ACS-6412",
"C325050": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5235": "https://hyland.atlassian.net/browse/ACS-6412",
"C325048": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5236": "https://hyland.atlassian.net/browse/ACS-6412",
"C216339": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5234": "https://hyland.atlassian.net/browse/ACS-6412",
"C325020": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5237": "https://hyland.atlassian.net/browse/ACS-6412",
"C325034": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5241": "https://hyland.atlassian.net/browse/ACS-6412",
"C290146": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5243": "https://hyland.atlassian.net/browse/ACS-6412",
"C290142": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5242": "https://hyland.atlassian.net/browse/ACS-6412",
"C325028": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5246": "https://hyland.atlassian.net/browse/ACS-6412",
"C325027": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5247": "https://hyland.atlassian.net/browse/ACS-6412",
"C325023": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5249": "https://hyland.atlassian.net/browse/ACS-6412",
"C325024": "https://alfresco.atlassian.net/browse/ACS-6412", "XAT-5250": "https://hyland.atlassian.net/browse/ACS-6412",
"C325025": "https://alfresco.atlassian.net/browse/ACS-6412" "XAT-5251": "https://hyland.atlassian.net/browse/ACS-6412"
} }

View File

@ -138,7 +138,7 @@ test.describe('Create file from template', () => {
}); });
test.describe('Select Template dialog', () => { 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.getDialogTitle(selectDialogTitle)).toBeVisible();
await expect.soft(selectFileTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible(); await expect.soft(selectFileTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible();
await expect.soft(dataTable.getRowByName(templatesFolder1)).not.toBeEmpty(); await expect.soft(dataTable.getRowByName(templatesFolder1)).not.toBeEmpty();
@ -149,13 +149,13 @@ test.describe('Create file from template', () => {
await expect(selectFileTemplateDialog.actionButton).toBeDisabled(); 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(selectFileTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible();
await expect(dataTable.getRowByName(restrictedTemplateFolder)).toBeHidden(); await expect(dataTable.getRowByName(restrictedTemplateFolder)).toBeHidden();
await expect(dataTable.getRowByName(templateInRestrictedFolder)).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(selectFileTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible();
await expect(dataTable.getRowByName(templatesFolder1)).toBeVisible(); await expect(dataTable.getRowByName(templatesFolder1)).toBeVisible();
await expect(dataTable.getRowByName(templatesFolder2)).toBeVisible(); await expect(dataTable.getRowByName(templatesFolder2)).toBeVisible();
@ -175,7 +175,7 @@ test.describe('Create file from template', () => {
await expect(selectFileTemplateDialog.getOptionLocator(dialogBreadcrumb)).toBeVisible(); 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 expect(dataTable.getSelectedRow).toHaveCount(0);
await dataTable.getRowByName(template1InRoot).click({ modifiers: [commandKey] }); await dataTable.getRowByName(template1InRoot).click({ modifiers: [commandKey] });
@ -188,20 +188,20 @@ test.describe('Create file from template', () => {
await expect(dataTable.getSelectedRow).toContainText(template2InRoot); 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(template1InRoot)).toBeVisible();
await expect(dataTable.getRowByName(template2InRoot)).toBeVisible(); await expect(dataTable.getRowByName(template2InRoot)).toBeVisible();
await expect(dataTable.getRowByName(fileLink)).toBeHidden(); 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 expect(selectFileTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible();
await selectFileTemplateDialog.cancelButton.click(); await selectFileTemplateDialog.cancelButton.click();
await expect(selectFileTemplateDialog.getDialogTitle(selectDialogTitle)).toBeHidden(); 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(dataTable.getRowByName(templatesFolder1)).toBeVisible();
await expect(selectFileTemplateDialog.actionButton).toBeDisabled(); 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.getDialogTitle(createDialogTitle)).toBeVisible();
await expect.soft(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toBeVisible(); await expect.soft(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toBeVisible();
await expect.soft(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot); await expect.soft(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot);
@ -237,7 +237,7 @@ test.describe('Create file from template', () => {
await expect(createFileFromTemplateDialog.createButton).toBeEnabled(); 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 expect(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot);
await createFileFromTemplateDialog.getDialogLabel(nameLabel).clear(); await createFileFromTemplateDialog.getDialogLabel(nameLabel).clear();
@ -249,7 +249,7 @@ test.describe('Create file from template', () => {
await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); 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', 'a<a', 'a>a', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a']; const nameWithSpecialChars = ['a*a', 'a"a', 'a<a', 'a>a', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a'];
for (const specialFileName of nameWithSpecialChars) { 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.getDialogLabel(nameLabel).fill(dotString);
await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString);
await expect(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot + dotString); await expect(createFileFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(template1InRoot + dotString);
@ -276,7 +276,7 @@ test.describe('Create file from template', () => {
await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); 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).clear();
await createFileFromTemplateDialog.getDialogLabel(nameLabel).fill(spaceString); await createFileFromTemplateDialog.getDialogLabel(nameLabel).fill(spaceString);
await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString);
@ -290,7 +290,7 @@ test.describe('Create file from template', () => {
await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); 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.getDialogLabel(titleLabel).fill(Utils.string257Long);
await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString);
await expect(createFileFromTemplateDialog.getDialogLabel(titleLabel)).toHaveValue(Utils.string257Long); await expect(createFileFromTemplateDialog.getDialogLabel(titleLabel)).toHaveValue(Utils.string257Long);
@ -300,7 +300,7 @@ test.describe('Create file from template', () => {
await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); 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.getDialogLabel(descriptionLabel).fill(Utils.string513Long);
await createFileFromTemplateDialog.page.keyboard.press(tabKeyString); await createFileFromTemplateDialog.page.keyboard.press(tabKeyString);
await expect(createFileFromTemplateDialog.getDialogLabel(descriptionLabel)).toHaveValue(Utils.string513Long); await expect(createFileFromTemplateDialog.getDialogLabel(descriptionLabel)).toHaveValue(Utils.string513Long);
@ -313,7 +313,7 @@ test.describe('Create file from template', () => {
await expect(createFileFromTemplateDialog.createButton).toBeDisabled(); 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; const snackBar = personalFiles.snackBar;
await createFileFromTemplateDialog.createFromTemplateAction(commonFileName); await createFileFromTemplateDialog.createFromTemplateAction(commonFileName);
@ -321,7 +321,7 @@ test.describe('Create file from template', () => {
await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); 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 expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible();
await createFileFromTemplateDialog.cancelButton.click(); await createFileFromTemplateDialog.cancelButton.click();
await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); 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 createFileFromTemplateDialog.createFromTemplateAction(randomFileName);
await dataTable.goThroughPagesLookingForRowWithName(randomFileName); await dataTable.goThroughPagesLookingForRowWithName(randomFileName);
await expect(dataTable.getRowByName(randomFileName)).toBeVisible(); 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 createFileFromTemplateDialog.createFromTemplateAction(randomFileName, randomFileTitle, randomFileDescription);
await dataTable.goThroughPagesLookingForRowWithName(randomFileName); await dataTable.goThroughPagesLookingForRowWithName(randomFileName);
await expect(dataTable.getCellLinkByName(randomFileName)).toHaveAttribute(titleLabel, randomFileTitle + `\n` + randomFileDescription); 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 createFileFromTemplateDialog.createFromTemplateAction(' ' + randomFileName + ' ');
await dataTable.goThroughPagesLookingForRowWithName(randomFileName); await dataTable.goThroughPagesLookingForRowWithName(randomFileName);
await expect(dataTable.getRowByName(randomFileName)).toBeVisible(); 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()}`; const randomLibraryName = `playwright-library-c2-${Utils.random()}`;
let sitesApi: SitesApi; let sitesApi: SitesApi;
@ -390,7 +390,7 @@ test.describe('Create file from template', () => {
await dataTable.getRowByName(template1InRoot).click(); await dataTable.getRowByName(template1InRoot).click();
await selectFileTemplateDialog.actionButton.click(); await selectFileTemplateDialog.actionButton.click();
} catch (error) { } 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]); 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 createFileFromTemplateDialog.createFromTemplateAction(randomFileName, randomFileTitle, randomFileDescription);
await expect(dataTable.getCellLinkByName(randomFileName)).toHaveAttribute(titleLabel, randomFileTitle + `\n` + 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 expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible();
await createFileFromTemplateDialog.cancelButton.click(); await createFileFromTemplateDialog.cancelButton.click();
await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden();
await expect(dataTable.getRowByName(randomFileName)).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; const snackBar = myLibrariesPage.snackBar;
await createFileFromTemplateDialog.createFromTemplateAction(commonFileName); await createFileFromTemplateDialog.createFromTemplateAction(commonFileName);

View File

@ -165,7 +165,7 @@ test.describe('Create folder from template', () => {
}); });
test.describe('Select Template dialog', () => { 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.getDialogTitle(selectDialogTitle)).toBeVisible();
await expect.soft(selectFolderTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible(); await expect.soft(selectFolderTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible();
await expect.soft(dataTable.getRowByName(templateFolder1)).not.toBeEmpty(); await expect.soft(dataTable.getRowByName(templateFolder1)).not.toBeEmpty();
@ -176,12 +176,12 @@ test.describe('Create folder from template', () => {
await expect(selectFolderTemplateDialog.actionButton).toBeDisabled(); 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(selectFolderTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible();
await expect(dataTable.getRowByName(restrictedTemplateFolder)).toBeHidden(); 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(selectFolderTemplateDialog.getBreadcrumb(dialogBreadcrumb)).toBeVisible();
await expect(dataTable.getRowByName(templateFolder1)).toBeVisible(); await expect(dataTable.getRowByName(templateFolder1)).toBeVisible();
@ -199,7 +199,7 @@ test.describe('Create folder from template', () => {
await expect(selectFolderTemplateDialog.getOptionLocator(dialogBreadcrumb)).toBeVisible(); 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 expect(dataTable.getSelectedRow).toHaveCount(0);
await dataTable.getRowByName(templateFolder1).click({ modifiers: [commandKey] }); await dataTable.getRowByName(templateFolder1).click({ modifiers: [commandKey] });
@ -212,19 +212,19 @@ test.describe('Create folder from template', () => {
await expect(dataTable.getSelectedRow).toContainText(templateFolder2); 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(templateFolder1)).toBeVisible();
await expect(dataTable.getRowByName(folderLink)).toBeHidden(); 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 expect(selectFolderTemplateDialog.getDialogTitle(selectDialogTitle)).toBeVisible();
await selectFolderTemplateDialog.cancelButton.click(); await selectFolderTemplateDialog.cancelButton.click();
await expect(selectFolderTemplateDialog.getDialogTitle(selectDialogTitle)).toBeHidden(); 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(dataTable.getRowByName(fileInRootFolder)).toBeVisible();
await expect(selectFolderTemplateDialog.actionButton).toBeDisabled(); 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.getDialogTitle(createDialogTitle)).toBeVisible();
await expect.soft(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toBeVisible(); await expect.soft(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toBeVisible();
await expect.soft(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1); await expect.soft(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1);
@ -264,7 +264,7 @@ test.describe('Create folder from template', () => {
await expect(createFolderFromTemplateDialog.createButton).toBeEnabled(); 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 expect(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1);
await createFolderFromTemplateDialog.getDialogLabel(nameLabel).clear(); await createFolderFromTemplateDialog.getDialogLabel(nameLabel).clear();
@ -276,7 +276,7 @@ test.describe('Create folder from template', () => {
await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); 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', 'a<a', 'a>a', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a']; const nameWithSpecialChars = ['a*a', 'a"a', 'a<a', 'a>a', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a'];
for (const specialFolderName of nameWithSpecialChars) { 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.getDialogLabel(nameLabel).fill(dotString);
await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString);
await expect(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1 + dotString); await expect(createFolderFromTemplateDialog.getDialogLabel(nameLabel)).toHaveValue(templateFolder1 + dotString);
@ -303,7 +303,7 @@ test.describe('Create folder from template', () => {
await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); 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).clear();
await createFolderFromTemplateDialog.getDialogLabel(nameLabel).fill(spaceString); await createFolderFromTemplateDialog.getDialogLabel(nameLabel).fill(spaceString);
await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString);
@ -317,7 +317,7 @@ test.describe('Create folder from template', () => {
await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); 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.getDialogLabel(titleLabel).fill(Utils.string257Long);
await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString);
await expect(createFolderFromTemplateDialog.getDialogLabel(titleLabel)).toHaveValue(Utils.string257Long); await expect(createFolderFromTemplateDialog.getDialogLabel(titleLabel)).toHaveValue(Utils.string257Long);
@ -327,7 +327,7 @@ test.describe('Create folder from template', () => {
await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); 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.getDialogLabel(descriptionLabel).fill(Utils.string513Long);
await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString); await createFolderFromTemplateDialog.page.keyboard.press(tabKeyString);
await expect(createFolderFromTemplateDialog.getDialogLabel(descriptionLabel)).toHaveValue(Utils.string513Long); await expect(createFolderFromTemplateDialog.getDialogLabel(descriptionLabel)).toHaveValue(Utils.string513Long);
@ -340,7 +340,7 @@ test.describe('Create folder from template', () => {
await expect(createFolderFromTemplateDialog.createButton).toBeDisabled(); 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; const snackBar = personalFiles.snackBar;
await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName); await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName);
@ -348,7 +348,7 @@ test.describe('Create folder from template', () => {
await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); 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 expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible();
await createFolderFromTemplateDialog.cancelButton.click(); await createFolderFromTemplateDialog.cancelButton.click();
await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); 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 createFolderFromTemplateDialog.createFromTemplateAction(randomFolderName);
await dataTable.goThroughPagesLookingForRowWithName(randomFolderName); await dataTable.goThroughPagesLookingForRowWithName(randomFolderName);
await expect(dataTable.getRowByName(randomFolderName)).toBeVisible(); await expect(dataTable.getRowByName(randomFolderName)).toBeVisible();
@ -379,13 +379,13 @@ test.describe('Create folder from template', () => {
await expect(dataTable.getRowByName(fileInFolder1)).toBeVisible(); 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 createFolderFromTemplateDialog.createFromTemplateAction(randomFolderName, randomFolderTitle, randomFolderDescription);
await dataTable.goThroughPagesLookingForRowWithName(randomFolderName); await dataTable.goThroughPagesLookingForRowWithName(randomFolderName);
await expect(dataTable.getCellLinkByName(randomFolderName)).toHaveAttribute(titleLabel, randomFolderTitle + `\n` + randomFolderDescription); 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 createFolderFromTemplateDialog.createFromTemplateAction(' ' + randomFolderName + ' ');
await dataTable.goThroughPagesLookingForRowWithName(randomFolderName); await dataTable.goThroughPagesLookingForRowWithName(randomFolderName);
await expect(dataTable.getRowByName(randomFolderName)).toBeVisible(); 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()}`; const randomLibraryName = `playwright-library-c1-${Utils.random()}`;
let sitesApi: SitesApi; let sitesApi: SitesApi;
@ -404,7 +404,7 @@ test.describe('Create folder from template', () => {
const libraryGuId = await sitesApi.getDocLibId(randomLibraryName); const libraryGuId = await sitesApi.getDocLibId(randomLibraryName);
await nodesApi.createFolder(commonFolderName, libraryGuId); await nodesApi.createFolder(commonFolderName, libraryGuId);
} catch (error) { } 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 createFolderFromTemplateDialog.createFromTemplateAction(randomFolderName, randomFolderTitle, randomFolderDescription);
await expect await expect
.soft(dataTable.getCellLinkByName(randomFolderName)) .soft(dataTable.getCellLinkByName(randomFolderName))
@ -449,14 +449,14 @@ test.describe('Create folder from template', () => {
await expect(dataTable.getRowByName(fileInFolder1)).toBeVisible(); 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 expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible();
await createFolderFromTemplateDialog.cancelButton.click(); await createFolderFromTemplateDialog.cancelButton.click();
await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden(); await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeHidden();
await expect(dataTable.getRowByName(randomFolderName)).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; const snackBar = myLibrariesPage.snackBar;
await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName); await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName);

View File

@ -77,7 +77,7 @@ test.describe('Create folders', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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.getLabelText('Name')).toBeVisible();
await expect(folderDialog.getRequiredMarker('Name')).toBeVisible(); await expect(folderDialog.getRequiredMarker('Name')).toBeVisible();
await expect(folderDialog.folderNameInputLocator).toBeVisible(); await expect(folderDialog.folderNameInputLocator).toBeVisible();
@ -89,7 +89,7 @@ test.describe('Create folders', () => {
await expect(folderDialog.createButton).toBeDisabled(); 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 folderDialog.folderNameInputLocator.fill(randomFolderName);
await expect(folderDialog.folderNameInputLocator).toHaveValue(randomFolderName); await expect(folderDialog.folderNameInputLocator).toHaveValue(randomFolderName);
await expect(folderDialog.createButton).toBeEnabled(); await expect(folderDialog.createButton).toBeEnabled();
@ -101,14 +101,14 @@ test.describe('Create folders', () => {
await expect(folderDialog.createButton).toBeDisabled(); 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 folderDialog.folderNameInputLocator.fill(randomFolderName + '.');
await expect(folderDialog.createButton).toBeDisabled(); await expect(folderDialog.createButton).toBeDisabled();
await expect(folderDialog.folderNameInputHint).toContainText(errorStrings.folderNameCantEndWithAPeriod); 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', 'a<a', 'a>a', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a']; const namesWithSpecialChars = ['a*a', 'a"a', 'a<a', 'a>a', `a\\a`, 'a/a', 'a?a', 'a:a', 'a|a'];
for (const folderName of namesWithSpecialChars) { for (const folderName of namesWithSpecialChars) {
await folderDialog.folderNameInputLocator.fill(folderName); 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 folderDialog.folderNameInputLocator.fill(spacesString);
await expect(folderDialog.createButton).toBeDisabled(); await expect(folderDialog.createButton).toBeDisabled();
await expect(folderDialog.folderNameInputHint).toContainText(errorStrings.folderNameCantContainOnlySpaces); 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 expect(personalFiles.page.getByRole(dialogString, { name: createNewFolderString })).toBeVisible();
await folderDialog.folderNameInputLocator.fill(randomFolderName); await folderDialog.folderNameInputLocator.fill(randomFolderName);
await folderDialog.cancelButton.click(); await folderDialog.cancelButton.click();
await expect(personalFiles.page.getByRole(dialogString, { name: createNewFolderString })).toBeHidden(); 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; const folderSnackBar = personalFiles.snackBar;
await folderDialog.createNewFolderDialog(commonFolderName); await folderDialog.createNewFolderDialog(commonFolderName);
@ -145,19 +145,19 @@ test.describe('Create folders', () => {
folderTable = personalFiles.dataTable; 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 folderDialog.createNewFolderDialog(randomFolderName);
await expect(folderTable.getRowByName(randomFolderName)).toBeVisible(); 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 folderDialog.createNewFolderDialog(randomFolderName, randomFolderTitle, randomFolderDescription);
await expect(folderTable.getCellLinkByName(randomFolderName)).toHaveAttribute('title', randomFolderTitle + `\n` + 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 folderDialog.createNewFolderDialog(randomFolderName + spacesString);
await expect(folderTable.getRowByName(randomFolderName)).toBeVisible(); await expect(folderTable.getRowByName(randomFolderName)).toBeVisible();

View File

@ -94,7 +94,7 @@ test.describe('Create Libraries ', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, createdLibrariesIds); 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.getDialogTitle(libraryDialogTitle)).toBeVisible();
await expect(libraryDialog.getLabelText(libraryNameLabel)).toBeVisible(); await expect(libraryDialog.getLabelText(libraryNameLabel)).toBeVisible();
await expect(libraryDialog.getRequiredMarker(libraryNameLabel)).toBeVisible(); await expect(libraryDialog.getRequiredMarker(libraryNameLabel)).toBeVisible();
@ -115,7 +115,7 @@ test.describe('Create Libraries ', () => {
libraryBreadcrumb = myLibrariesPage.breadcrumb; 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 libraryDialog.getLabelText(libraryNameLabel).fill(randomLibraryName);
await expect(libraryDialog.getLabelText(libraryNameLabel)).toHaveValue(randomLibraryName); await expect(libraryDialog.getLabelText(libraryNameLabel)).toHaveValue(randomLibraryName);
await expect(libraryDialog.getLabelText(libraryIdLabel)).toHaveValue(randomLibraryName); await expect(libraryDialog.getLabelText(libraryIdLabel)).toHaveValue(randomLibraryName);
@ -128,7 +128,7 @@ test.describe('Create Libraries ', () => {
createdLibrariesIds.push(randomLibraryName); 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 libraryDialog.createLibraryWithNameAndId(randomLibraryName, randomLibraryId, null, moderatedVisibility);
await expect(libraryBreadcrumb.getItemByTitle(randomLibraryName)).toBeVisible(); await expect(libraryBreadcrumb.getItemByTitle(randomLibraryName)).toBeVisible();
@ -139,7 +139,7 @@ test.describe('Create Libraries ', () => {
createdLibrariesIds.push(randomLibraryId); 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 libraryDialog.createLibraryWithNameAndId(randomLibraryName, randomLibraryId, null, privateVisibility);
await expect(libraryBreadcrumb.getItemByTitle(randomLibraryName)).toBeVisible(); await expect(libraryBreadcrumb.getItemByTitle(randomLibraryName)).toBeVisible();
@ -149,7 +149,7 @@ test.describe('Create Libraries ', () => {
createdLibrariesIds.push(randomLibraryId); 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 libraryViewDetails = myLibrariesPage.acaHeader.viewDetails;
const libraryDetails = myLibrariesPage.libraryDetails; const libraryDetails = myLibrariesPage.libraryDetails;
@ -169,7 +169,7 @@ test.describe('Create Libraries ', () => {
createdLibrariesIds.push(randomLibraryId); createdLibrariesIds.push(randomLibraryId);
}); });
test('[C280029] Cancel button', async () => { test('[XAT-5126] Create Library - Cancel button', async () => {
await expect(libraryDialog.getDialogTitle(libraryDialogTitle)).toBeVisible(); await expect(libraryDialog.getDialogTitle(libraryDialogTitle)).toBeVisible();
await libraryDialog.getLabelText(libraryNameLabel).fill(randomLibraryName); await libraryDialog.getLabelText(libraryNameLabel).fill(randomLibraryName);
await libraryDialog.cancelButton.click(); await libraryDialog.cancelButton.click();
@ -178,7 +178,7 @@ test.describe('Create Libraries ', () => {
await expect(libraryTable.getRowByName(randomLibraryName)).toHaveCount(0); 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 libraryName = commonLibraryName + ' (' + commonLibraryName + ')';
const libraryName2 = commonLibraryName + ' (' + randomLibraryId + ')'; 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 = [ const idsWithSpecialChars = [
'a!a', 'a!a',
'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(libraryNameLabel).fill(randomLibraryName);
await libraryDialog.getLabelText(libraryIdLabel).clear(); await libraryDialog.getLabelText(libraryIdLabel).clear();
await libraryDialog.getLabelText(libraryIdLabel).fill(commonLibraryName); await libraryDialog.getLabelText(libraryIdLabel).fill(commonLibraryName);
@ -237,7 +237,7 @@ test.describe('Create Libraries ', () => {
expect(await libraryDialog.isErrorMessageDisplayed(libraryErrors.libraryIdIsNotAvailable), errorMessageNotPresent).toBe(true); 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(libraryNameLabel).fill(randomLibraryName);
await libraryDialog.getLabelText(libraryIdLabel).clear(); await libraryDialog.getLabelText(libraryIdLabel).clear();
await libraryDialog.getLabelText(libraryIdLabel).fill(commonTrashLibraryName); await libraryDialog.getLabelText(libraryIdLabel).fill(commonTrashLibraryName);

View File

@ -1,3 +1,3 @@
{ {
"C280502": "https://hyland.atlassian.net/browse/ACS-8888" "XAT-5017": "https://hyland.atlassian.net/browse/ACS-8888"
} }

View File

@ -116,7 +116,7 @@ test.describe('Delete and undo delete', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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(); let items = await personalFiles.dataTable.getRowsCount();
await personalFiles.dataTable.selectItems(file1); await personalFiles.dataTable.selectItems(file1);
await personalFiles.acaHeader.clickMoreActions(); await personalFiles.acaHeader.clickMoreActions();
@ -133,7 +133,7 @@ test.describe('Delete and undo delete', () => {
expect(await personalFiles.dataTable.isItemPresent(file1)).toBeTruthy(); 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' }); await personalFiles.page.reload({ waitUntil: 'load' });
let items = await personalFiles.dataTable.getRowsCount(); let items = await personalFiles.dataTable.getRowsCount();
await personalFiles.dataTable.selectItems(file2, file3); await personalFiles.dataTable.selectItems(file2, file3);
@ -150,7 +150,7 @@ test.describe('Delete and undo delete', () => {
expect(await personalFiles.dataTable.isItemPresent(file3)).toBeTruthy(); 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(); let items = await personalFiles.dataTable.getRowsCount();
await personalFiles.dataTable.selectItems(folder1); await personalFiles.dataTable.selectItems(folder1);
await personalFiles.acaHeader.clickMoreActions(); await personalFiles.acaHeader.clickMoreActions();
@ -164,7 +164,7 @@ test.describe('Delete and undo delete', () => {
expect(await personalFiles.dataTable.isItemPresent(file1InFolder)).toBeFalsy(); 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.dataTable.selectItems(folder2);
await personalFiles.acaHeader.clickMoreActions(); await personalFiles.acaHeader.clickMoreActions();
await personalFiles.matMenu.clickMenuItem('Delete'); await personalFiles.matMenu.clickMenuItem('Delete');
@ -176,7 +176,7 @@ test.describe('Delete and undo delete', () => {
expect(await personalFiles.dataTable.isItemPresent(fileLocked1)).toBeFalsy(); 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.dataTable.selectItems(file4, folder3);
await personalFiles.acaHeader.clickMoreActions(); await personalFiles.acaHeader.clickMoreActions();
await personalFiles.matMenu.clickMenuItem('Delete'); await personalFiles.matMenu.clickMenuItem('Delete');
@ -185,7 +185,7 @@ test.describe('Delete and undo delete', () => {
expect(action).toContain('Undo'); 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.dataTable.selectItems(folder4, folder5);
await personalFiles.acaHeader.clickMoreActions(); await personalFiles.acaHeader.clickMoreActions();
await personalFiles.matMenu.clickMenuItem('Delete'); await personalFiles.matMenu.clickMenuItem('Delete');
@ -193,7 +193,7 @@ test.describe('Delete and undo delete', () => {
await expect(personalFiles.snackBar.actionButton).toBeHidden(); 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(); const items = await personalFiles.dataTable.getRowsCount();
await personalFiles.dataTable.selectItems(file5); 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}`); 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.dataTable.selectItems(folder6);
await personalFiles.acaHeader.clickMoreActions(); await personalFiles.acaHeader.clickMoreActions();
await personalFiles.matMenu.clickMenuItem('Delete'); await personalFiles.matMenu.clickMenuItem('Delete');
@ -218,7 +218,7 @@ test.describe('Delete and undo delete', () => {
expect(await personalFiles.dataTable.isItemPresent(file2InFolder)).toBeTruthy(); 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.dataTable.selectItems(file6, file7);
await personalFiles.acaHeader.clickMoreActions(); await personalFiles.acaHeader.clickMoreActions();
await personalFiles.matMenu.clickMenuItem('Delete'); await personalFiles.matMenu.clickMenuItem('Delete');

View File

@ -79,7 +79,7 @@ test.describe('Delete and undo delete', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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.dataTable.selectItems(file1);
await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.acaHeader.permanentlyDeleteButton.click();
await trashPage.deleteDialog.deleteButton.click(); await trashPage.deleteDialog.deleteButton.click();
@ -88,7 +88,7 @@ test.describe('Delete and undo delete', () => {
expect(await trashPage.dataTable.isItemPresent(file1)).toBeFalsy(); 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.dataTable.selectItems(folder1);
await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.acaHeader.permanentlyDeleteButton.click();
await trashPage.deleteDialog.deleteButton.click(); await trashPage.deleteDialog.deleteButton.click();
@ -97,7 +97,7 @@ test.describe('Delete and undo delete', () => {
expect(await trashPage.dataTable.isItemPresent(folder1)).toBeFalsy(); 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.dataTable.selectItems(site);
await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.acaHeader.permanentlyDeleteButton.click();
await trashPage.deleteDialog.deleteButton.click(); await trashPage.deleteDialog.deleteButton.click();
@ -106,7 +106,7 @@ test.describe('Delete and undo delete', () => {
expect(await trashPage.dataTable.isItemPresent(site)).toBeFalsy(); 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.dataTable.selectItems(file2, folder2);
await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.acaHeader.permanentlyDeleteButton.click();
await trashPage.deleteDialog.deleteButton.click(); await trashPage.deleteDialog.deleteButton.click();
@ -116,7 +116,7 @@ test.describe('Delete and undo delete', () => {
expect(await trashPage.dataTable.isItemPresent(folder2)).toBeFalsy(); 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.dataTable.selectItems(file3);
await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.acaHeader.permanentlyDeleteButton.click();
await trashPage.deleteDialog.waitForDialog(); await trashPage.deleteDialog.waitForDialog();
@ -128,7 +128,7 @@ test.describe('Delete and undo delete', () => {
expect(await trashPage.deleteDialog.isKeepEnabled()).toBeTruthy(); 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.dataTable.selectItems(file3);
await trashPage.acaHeader.permanentlyDeleteButton.click(); await trashPage.acaHeader.permanentlyDeleteButton.click();
await trashPage.deleteDialog.waitForDialog(); await trashPage.deleteDialog.waitForDialog();

View File

@ -91,25 +91,25 @@ test.describe('Restore from Trash', () => {
expect(await trashPage.dataTable.isItemPresent(nodeName)).toBeFalsy(); 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 restoreNode(trashPage, file1);
await personalFiles.navigate(); await personalFiles.navigate();
expect(await personalFiles.dataTable.isItemPresent(file1)).toBeTruthy(); 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 restoreNode(trashPage, folder1);
await personalFiles.navigate(); await personalFiles.navigate();
expect(await personalFiles.dataTable.isItemPresent(folder1)).toBeTruthy(); 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 restoreNode(trashPage, site1);
await myLibrariesPage.navigate(); await myLibrariesPage.navigate();
expect(await myLibrariesPage.dataTable.isItemPresent(site1)).toBeTruthy(); 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.dataTable.selectItems(file2, folder2);
await trashPage.acaHeader.restoreButton.click(); await trashPage.acaHeader.restoreButton.click();
await trashPage.snackBar.verifySnackBarActionText(`Restore successful`); await trashPage.snackBar.verifySnackBarActionText(`Restore successful`);
@ -122,7 +122,7 @@ test.describe('Restore from Trash', () => {
expect(await personalFiles.dataTable.isItemPresent(folder2)).toBeTruthy(); 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.dataTable.selectItems(file3);
await trashPage.acaHeader.restoreButton.click(); await trashPage.acaHeader.restoreButton.click();
await trashPage.snackBar.clickSnackBarAction(); await trashPage.snackBar.clickSnackBarAction();
@ -162,13 +162,13 @@ test.describe('Restore from Trash', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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.dataTable.selectItems(file1);
await trashPage.acaHeader.restoreButton.click(); await trashPage.acaHeader.restoreButton.click();
await trashPage.snackBar.verifySnackBarActionText(`Can't restore, ${file1} already exists`); 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.dataTable.selectItems(file2);
await trashPage.acaHeader.restoreButton.click(); await trashPage.acaHeader.restoreButton.click();
await trashPage.snackBar.verifySnackBarActionText(`Can't restore ${file2}, the original location no longer exists`); 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'); 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.dataTable.selectItems(file1, file2);
await trashPage.acaHeader.restoreButton.click(); await trashPage.acaHeader.restoreButton.click();
await trashPage.snackBar.verifySnackBarActionText(`Can't restore ${file1}, the original location no longer exists`); 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.dataTable.selectItems(file3, file4, file5);
await trashPage.acaHeader.restoreButton.click(); await trashPage.acaHeader.restoreButton.click();
await trashPage.snackBar.verifySnackBarActionText('2 items not restored because of issues with the restore location'); await trashPage.snackBar.verifySnackBarActionText('2 items not restored because of issues with the restore location');

View File

@ -1 +1,3 @@
{} {
"C595967": "https://hyland.atlassian.net/browse/ACS-9424"
}

View File

@ -55,7 +55,7 @@ test.describe('Info Drawer - Comments', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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()}`; const personalFolderName = `personalFolder-e2e-${Utils.random()}`;
await nodesApi.createFolder(personalFolderName); await nodesApi.createFolder(personalFolderName);
await fileActionsApi.waitForNodes(personalFolderName, { expect: 1 }); await fileActionsApi.waitForNodes(personalFolderName, { expect: 1 });
@ -70,7 +70,7 @@ test.describe('Info Drawer - Comments', () => {
await expect(personalFiles.infoDrawer.addCommentButton).toBeDisabled(); 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 favoriteFolderName = `favoriteFolder-e2e-${Utils.random()}`;
const folderFavId = (await nodesApi.createFolder(favoriteFolderName)).entry.id; const folderFavId = (await nodesApi.createFolder(favoriteFolderName)).entry.id;
await favoritesActions.addFavoritesByIds('folder', [folderFavId]); await favoritesActions.addFavoritesByIds('folder', [folderFavId]);
@ -87,7 +87,7 @@ test.describe('Info Drawer - Comments', () => {
expect(await favoritePage.infoDrawer.verifyCommentsCountFromList(1)); 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(); await sharedPage.navigate();
const sharedFileName = `sharedFile-e2e-${Utils.random()}`; const sharedFileName = `sharedFile-e2e-${Utils.random()}`;
const e2eCommentFirst = `e2e-comment-${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); 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()}`; const recentFile = `e2e-recentFile-${Utils.random()}`;
await nodesApi.createFile(recentFile); await nodesApi.createFile(recentFile);
await fileActionsApi.waitForNodes(recentFile, { expect: 1 }); await fileActionsApi.waitForNodes(recentFile, { expect: 1 });
@ -124,7 +124,7 @@ test.describe('Info Drawer - Comments', () => {
expect(await recentFilesPage.infoDrawer.verifyCommentsCountFromList(1)); 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 e2eCommentFirst = `e2e-comment-${Utils.random()}`;
const commentInfoFileName = `e2e-commentFile-${Utils.random()}`; const commentInfoFileName = `e2e-commentFile-${Utils.random()}`;
const commentInfoFileId = (await nodesApi.createFile(commentInfoFileName)).entry.id; const commentInfoFileId = (await nodesApi.createFile(commentInfoFileName)).entry.id;

View File

@ -132,7 +132,7 @@ test.describe('Info Drawer - File Folder Properties', () => {
await personalFiles.acaHeader.viewDetails.click(); 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); await navigateAndOpenInfoDrawer(personalFiles, FolderC299162);
expect(await personalFiles.infoDrawer.getHeaderTitle()).toEqual(FolderC299162); expect(await personalFiles.infoDrawer.getHeaderTitle()).toEqual(FolderC299162);
await expect(personalFiles.infoDrawer.propertiesTab).toBeVisible(); await expect(personalFiles.infoDrawer.propertiesTab).toBeVisible();
@ -140,7 +140,7 @@ test.describe('Info Drawer - File Folder Properties', () => {
expect(await personalFiles.infoDrawer.getTabsCount()).toEqual(2); 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 navigateAndOpenInfoDrawer(personalFiles, FolderC599174);
await personalFiles.infoDrawer.expandDetailsButton.click(); await personalFiles.infoDrawer.expandDetailsButton.click();
await expect(personalFiles.infoDrawer.expandedDetailsPermissionsTab).toBeVisible(); await expect(personalFiles.infoDrawer.expandedDetailsPermissionsTab).toBeVisible();

View File

@ -53,7 +53,7 @@ test.describe('Info Drawer - General', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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 parentFolder = `parent-general-${Utils.random()}`;
const file1 = `file1-${Utils.random()}.txt`; const file1 = `file1-${Utils.random()}.txt`;
const folder1 = `folder1-${Utils.random()}`; const folder1 = `folder1-${Utils.random()}`;

View File

@ -81,7 +81,7 @@ test.describe('Library properties', () => {
await Utils.deleteNodesSitesEmptyTrashcan(undefined, undefined, 'afterAll failed', sitesApi, [site.id, siteForUpdate.id, siteDup]); await Utils.deleteNodesSitesEmptyTrashcan(undefined, undefined, 'afterAll failed', sitesApi, [site.id, siteForUpdate.id, siteDup]);
}); });
test('[C289336] Info drawer opens for a library', async ({ myLibrariesPage }) => { test('[XAT-5545] Info drawer opens for a library', async ({ myLibrariesPage }) => {
await expectSiteToBeDefined(site.name, queriesApi); await expectSiteToBeDefined(site.name, queriesApi);
await expect(myLibrariesPage.dataTable.getRowByName(site.name)).toBeVisible(); await expect(myLibrariesPage.dataTable.getRowByName(site.name)).toBeVisible();
await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.dataTable.getRowByName(site.name).click();
@ -102,7 +102,7 @@ test.describe('Library properties', () => {
await expect(myLibrariesPage.libraryDetails.editButton).toBeVisible(); await expect(myLibrariesPage.libraryDetails.editButton).toBeVisible();
}); });
test('[C289338] Editable properties', async ({ myLibrariesPage }) => { test('[XAT-5547] Editable properties', async ({ myLibrariesPage }) => {
await expectSiteToBeDefined(site.name, queriesApi); await expectSiteToBeDefined(site.name, queriesApi);
await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.dataTable.getRowByName(site.name).click();
await myLibrariesPage.acaHeader.viewDetails.click(); await myLibrariesPage.acaHeader.viewDetails.click();
@ -120,7 +120,7 @@ test.describe('Library properties', () => {
await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled(); await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled();
}); });
test('[C289339] Edit site details', async ({ myLibrariesPage }) => { test('[XAT-5548] Edit site details', async ({ myLibrariesPage }) => {
const siteUpdated = { const siteUpdated = {
name: `site-for-rename-${Utils.random()}`, name: `site-for-rename-${Utils.random()}`,
visibility: SITE_VISIBILITY.PRIVATE, visibility: SITE_VISIBILITY.PRIVATE,
@ -149,7 +149,7 @@ test.describe('Library properties', () => {
expect((await sitesApi.getSite(siteForUpdate.id)).entry.visibility).toEqual(siteUpdated.visibility); expect((await sitesApi.getSite(siteForUpdate.id)).entry.visibility).toEqual(siteUpdated.visibility);
}); });
test('[C289340] Cancel editing a site', async ({ myLibrariesPage }) => { test('[XAT-5549] Cancel editing a site', async ({ myLibrariesPage }) => {
await expectSiteToBeDefined(site.name, queriesApi); await expectSiteToBeDefined(site.name, queriesApi);
const newName = `new-name-${Utils.random}`; const newName = `new-name-${Utils.random}`;
const newDesc = `new desc ${Utils.random}`; const newDesc = `new desc ${Utils.random}`;
@ -172,7 +172,7 @@ test.describe('Library properties', () => {
await expect(myLibrariesPage.libraryDetails.infoDrawerPanel).toBeVisible(); await expect(myLibrariesPage.libraryDetails.infoDrawerPanel).toBeVisible();
}); });
test('[C289341] Warning appears when editing the name of the library by entering an existing name', async ({ myLibrariesPage }) => { test('[XAT-5550] Warning appears when editing the name of the library by entering an existing name', async ({ myLibrariesPage }) => {
await expectSiteToBeDefined(siteDup, queriesApi); await expectSiteToBeDefined(siteDup, queriesApi);
await myLibrariesPage.dataTable.getRowByName(siteDup).click(); await myLibrariesPage.dataTable.getRowByName(siteDup).click();
@ -186,7 +186,7 @@ test.describe('Library properties', () => {
await expect(myLibrariesPage.libraryDetails.hintMessage).toHaveText('Library name already in use'); await expect(myLibrariesPage.libraryDetails.hintMessage).toHaveText('Library name already in use');
}); });
test('[C289342] Site name too long', async ({ myLibrariesPage }) => { test('[XAT-5551] Site name too long', async ({ myLibrariesPage }) => {
await expectSiteToBeDefined(site.name, queriesApi); await expectSiteToBeDefined(site.name, queriesApi);
await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.dataTable.getRowByName(site.name).click();
@ -200,7 +200,7 @@ test.describe('Library properties', () => {
await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled(); await expect(myLibrariesPage.libraryDetails.updateButton).toBeDisabled();
}); });
test('[C289343] Site description too long', async ({ myLibrariesPage }) => { test('[XAT-5552] Site description too long', async ({ myLibrariesPage }) => {
await expectSiteToBeDefined(site.name, queriesApi); await expectSiteToBeDefined(site.name, queriesApi);
await Utils.reloadPageIfRowNotVisible(myLibrariesPage, site.name); await Utils.reloadPageIfRowNotVisible(myLibrariesPage, site.name);
@ -250,7 +250,7 @@ test.describe('Non manager', () => {
await Utils.deleteNodesSitesEmptyTrashcan(undefined, undefined, 'afterAll failed', sitesApi, [site.id]); 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 loginPage.loginUser({ username: user2, password: user2 }, { withNavigation: true, waitForLoading: true });
await myLibrariesPage.navigate(); await myLibrariesPage.navigate();
@ -258,7 +258,7 @@ test.describe('Non manager', () => {
await expect(myLibrariesPage.acaHeader.viewDetails).toBeHidden(); 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 loginPage.loginUser({ username: user3, password: user3 }, { withNavigation: true, waitForLoading: true });
await myLibrariesPage.navigate(); await myLibrariesPage.navigate();

View File

@ -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 expect(libraryTable.getCellByColumnNameAndRowItem(user1Library1, managerRole)).toBeVisible();
await libraryTable.performActionFromExpandableMenu(user1Library1, leaveLibraryButton); await libraryTable.performActionFromExpandableMenu(user1Library1, leaveLibraryButton);
await expect.soft(confirmDialog.getDialogTitle('Leave this library?')).toBeVisible(); await expect.soft(confirmDialog.getDialogTitle('Leave this library?')).toBeVisible();
@ -187,14 +187,14 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getRowByName(user1Library1)).toBeHidden(); 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 expect(libraryTable.getCellByColumnNameAndRowItem(user1Library5, managerRole)).toBeVisible();
await libraryTable.performActionFromExpandableMenu(user1Library5, leaveLibraryButton); await libraryTable.performActionFromExpandableMenu(user1Library5, leaveLibraryButton);
await confirmDialog.cancelButton.click(); await confirmDialog.cancelButton.click();
await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library5, managerRole)).toBeVisible(); 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 expect(libraryTable.getCellByColumnNameAndRowItem(user2Library1, managerRole)).toBeVisible();
await libraryTable.performActionFromExpandableMenu(user2Library1, leaveLibraryButton); await libraryTable.performActionFromExpandableMenu(user2Library1, leaveLibraryButton);
await confirmDialog.okButton.click(); await confirmDialog.okButton.click();
@ -202,7 +202,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getCellByColumnNameAndRowItem(user2Library1, managerRole)).toBeVisible(); 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 expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary3, contributorRole)).toBeVisible();
await libraryTable.getCellByColumnNameAndRowItem(adminLibrary3, contributorRole).click(); await libraryTable.getCellByColumnNameAndRowItem(adminLibrary3, contributorRole).click();
await myLibrariesHeader.clickMoreActions(); await myLibrariesHeader.clickMoreActions();
@ -211,7 +211,7 @@ test.describe('Library actions ', () => {
expect(await libraryMenu.isMenuItemVisible(removeFavoriteButton)).toBe(true); 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 expect(libraryTable.getRowByName(user2Library2)).toBeVisible();
await libraryTable.getRowByName(user2Library2).click(); await libraryTable.getRowByName(user2Library2).click();
await myLibrariesPage.page.waitForTimeout(1000); await myLibrariesPage.page.waitForTimeout(1000);
@ -222,7 +222,7 @@ test.describe('Library actions ', () => {
expect(await libraryMenu.isMenuItemVisible(favoriteButton)).toBe(true); 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; const trashTable = trashPage.dataTable;
await expect(libraryTable.getRowByName(user2Library5Delete)).toBeVisible(); await expect(libraryTable.getRowByName(user2Library5Delete)).toBeVisible();
await libraryTable.getRowByName(user2Library5Delete).click(); 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 favoritesApi.addFavoriteById(siteString, adminLibrary1);
await favoriteLibrariesPage.navigate(); await favoriteLibrariesPage.navigate();
await libraryTable.performActionFromExpandableMenu(adminLibrary1, joinButton); await libraryTable.performActionFromExpandableMenu(adminLibrary1, joinButton);
@ -258,7 +258,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary1, consumerRole)).toBeVisible(); 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 favoritesApi.addFavoriteById(siteString, adminModerateLibrary1);
await favoriteLibrariesPage.navigate(); await favoriteLibrariesPage.navigate();
await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary1, notMemberString)).toBeVisible(); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary1, notMemberString)).toBeVisible();
@ -270,7 +270,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary1, consumerRole)).toBeVisible(); 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; const confirmDialog = favoriteLibrariesPage.confirmDialogComponent;
await favoritesApi.addFavoriteById(siteString, user1Library2); await favoritesApi.addFavoriteById(siteString, user1Library2);
await favoriteLibrariesPage.navigate(); await favoriteLibrariesPage.navigate();
@ -281,7 +281,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library2, notMemberString)).toBeVisible(); 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 user2SitesApi.createSiteMembershipRequestForPerson(username2, adminModerateLibrary3);
await favoritesApi.addFavoriteById(siteString, adminModerateLibrary3); await favoritesApi.addFavoriteById(siteString, adminModerateLibrary3);
await favoriteLibrariesPage.navigate(); await favoriteLibrariesPage.navigate();
@ -293,7 +293,7 @@ test.describe('Library actions ', () => {
expect(hasJoinRequest).toBe(false); 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 myLibrariesHeader = favoriteLibrariesPage.acaHeader;
const libraryMenu = favoriteLibrariesPage.matMenu; const libraryMenu = favoriteLibrariesPage.matMenu;
@ -305,7 +305,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getRowByName(user2Library3)).toBeHidden(); 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 myLibrariesHeader = favoriteLibrariesPage.acaHeader;
const libraryMenu = favoriteLibrariesPage.matMenu; const libraryMenu = favoriteLibrariesPage.matMenu;
const trashTable = trashPage.dataTable; 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.searchWithin(adminLibrary2, 'libraries');
await searchPage.reload({ waitUntil: loadString }); await searchPage.reload({ waitUntil: loadString });
await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary2, notMemberString)).toBeVisible(); await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary2, notMemberString)).toBeVisible();
@ -344,7 +344,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary2, consumerRole)).toBeVisible(); 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 searchPage.searchWithin(adminModerateLibrary2, 'libraries');
await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary2, notMemberString)).toBeVisible(); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary2, notMemberString)).toBeVisible();
await libraryTable.performActionFromExpandableMenu(adminModerateLibrary2, joinButton); await libraryTable.performActionFromExpandableMenu(adminModerateLibrary2, joinButton);
@ -355,7 +355,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary2, consumerRole)).toBeVisible(); 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; const confirmDialog = searchPage.confirmDialogComponent;
await searchPage.searchWithin(user1Library3, 'libraries'); await searchPage.searchWithin(user1Library3, 'libraries');
@ -366,7 +366,7 @@ test.describe('Library actions ', () => {
await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library3, notMemberString)).toBeVisible(); 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 user2SitesApi.createSiteMembershipRequestForPerson(username2, adminModerateLibrary4);
await searchPage.searchWithin(adminModerateLibrary4, 'libraries'); await searchPage.searchWithin(adminModerateLibrary4, 'libraries');
await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary4, notMemberString)).toBeVisible(); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary4, notMemberString)).toBeVisible();
@ -376,7 +376,7 @@ test.describe('Library actions ', () => {
expect(hasJoinRequest).toBe(false); 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 myLibrariesHeader = myLibrariesPage.acaHeader;
const libraryMenu = myLibrariesPage.matMenu; const libraryMenu = myLibrariesPage.matMenu;
@ -393,7 +393,7 @@ test.describe('Library actions ', () => {
expect(await libraryMenu.isMenuItemVisible(removeFavoriteButton)).toBe(true); 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 searchHeader = searchPage.acaHeader;
const libraryMenu = searchPage.matMenu; const libraryMenu = searchPage.matMenu;
@ -411,7 +411,7 @@ test.describe('Library actions ', () => {
expect(await libraryMenu.isMenuItemVisible(favoriteButton)).toBe(true); 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 searchHeader = searchPage.acaHeader;
const libraryMenu = searchPage.matMenu; const libraryMenu = searchPage.matMenu;
const trashTable = trashPage.dataTable; const trashTable = trashPage.dataTable;

View File

@ -1,4 +1,4 @@
{ {
"C261153": "https://alfresco.atlassian.net/browse/AAE-7517", "XAT-4525": "https://alfresco.atlassian.net/browse/AAE-7517",
"C589205": "https://hyland.atlassian.net/browse/ACS-9294" "XAT-4526": "https://hyland.atlassian.net/browse/ACS-9294"
} }

View File

@ -38,46 +38,6 @@ test.describe('Empty list views', () => {
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); 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) { async function openEmptyTab(searchPage: SearchPage, tab: string, emptyStateTitle: string, emptyStateSubtitle: string) {
await searchPage.sidenav.openPanel(tab); await searchPage.sidenav.openPanel(tab);
await searchPage.dataTable.spinnerWaitForReload(); await searchPage.dataTable.spinnerWaitForReload();
@ -99,7 +59,14 @@ test.describe('Empty list views', () => {
expect(await personalFiles.pagination.isNextButtonPresent()).toBeFalsy(); 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( await openEmptyTab(
searchPage, searchPage,
SIDEBAR_LABELS.FAVORITE_LIBRARIES, 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( await openEmptyTab(
searchPage, searchPage,
SIDEBAR_LABELS.RECENT_FILES, SIDEBAR_LABELS.RECENT_FILES,
@ -117,31 +84,51 @@ 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.'); 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); 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); 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); 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); 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); await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.RECENT_FILES, personalFiles);
}); });
test(`[C280120] ${SIDEBAR_LABELS.TRASH} - pagination controls not displayed`, async ({ searchPage, personalFiles }) => {
await checkPaginationForTabs(searchPage, SIDEBAR_LABELS.TRASH, personalFiles);
});
}); });

View File

@ -90,21 +90,21 @@ test.describe('Favorites Files', () => {
await favoritePage.navigate(); 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 expectedColumns = ['Name', 'Location', 'Size', 'Modified', 'Modified by', 'Tags'];
const actualColumns = Utils.trimArrayElements(await favoritePage.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await favoritePage.dataTable.getColumnHeaders());
expect(actualColumns).toEqual(expectedColumns); 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); 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); 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(fileName2)).toEqual(parentFolder);
expect(await favoritePage.dataTable.getItemLocationText(favFolderName)).toEqual('Personal Files'); expect(await favoritePage.dataTable.getItemLocationText(favFolderName)).toEqual('Personal Files');
expect(await favoritePage.dataTable.getItemLocationTooltip(fileName2)).toEqual(`Personal Files/${parentFolder}`); 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}`); 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.clickItemLocation(favFolderName);
await favoritePage.dataTable.spinnerWaitForReload(); await favoritePage.dataTable.spinnerWaitForReload();
expect(await favoritePage.breadcrumb.getAllItems()).toEqual(['Personal Files']); 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.clickItemLocation(fileName2);
await favoritePage.dataTable.spinnerWaitForReload(); await favoritePage.dataTable.spinnerWaitForReload();
expect(await favoritePage.breadcrumb.getAllItems()).toEqual(['Personal Files', parentFolder]); 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.clickItemLocation(fileName1);
await favoritePage.dataTable.spinnerWaitForReload(); await favoritePage.dataTable.spinnerWaitForReload();
expect(await favoritePage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]); 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.performClickFolderOrFileToOpen(favFolderName);
await favoritePage.dataTable.spinnerWaitForReload(); await favoritePage.dataTable.spinnerWaitForReload();
await expect(favoritePage.breadcrumb.currentItem).toHaveText(favFolderName); await expect(favoritePage.breadcrumb.currentItem).toHaveText(favFolderName);

View File

@ -93,13 +93,13 @@ test.describe('File Libraries', () => {
await myLibrariesPage.navigate(); 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 expectedColumns = ['Name', 'Description', 'My Role', 'Visibility'];
const actualColumns = Utils.trimArrayElements(await myLibrariesPage.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await myLibrariesPage.dataTable.getColumnHeaders());
expect(actualColumns).toEqual(expectedColumns); 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 = { const expectedSitesVisibility = {
[userSitePrivate]: Site.VisibilityEnum.PRIVATE, [userSitePrivate]: Site.VisibilityEnum.PRIVATE,
[userSiteModerated]: Site.VisibilityEnum.MODERATED, [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 = { const expectedSitesRoles = {
[adminSite1]: Site.RoleEnum.SiteConsumer, [adminSite1]: Site.RoleEnum.SiteConsumer,
[adminSite2]: Site.RoleEnum.SiteContributor, [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 expectedSites = [`${siteName} (${siteId1})`, `${siteName} (${siteId2})`];
const actualSite1 = await myLibrariesPage.dataTable.getRowAllInnerTexts(siteId1); const actualSite1 = await myLibrariesPage.dataTable.getRowAllInnerTexts(siteId1);
expect(actualSite1).toContain(expectedSites[0]); expect(actualSite1).toContain(expectedSites[0]);
@ -140,14 +140,14 @@ test.describe('File Libraries', () => {
await favoritesLibrariesPage.navigate(); 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 expectedColumns = ['Name', 'Description', 'My Role', 'Visibility'];
const actualColumns = Utils.trimArrayElements(await favoritesLibrariesPage.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await favoritesLibrariesPage.dataTable.getColumnHeaders());
expect(actualColumns).toEqual(expectedColumns); 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); expect(await favoritesLibrariesPage.dataTable.isItemPresent(adminSite5), `${adminSite5} should not appear`).toBe(false);
}); });
}); });

View File

@ -63,7 +63,7 @@ test.describe('Generic errors', () => {
await trashcanApi.emptyTrashcan(); 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 actionUser.deleteNodeById(file1Id, false);
await personalFiles.navigate({ remoteUrl: `#/personal-files/${file1Id}` }); 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.logoutUser();
await loginPage.loginUser( await loginPage.loginUser(
{ username: username2, password: username2 }, { username: username2, password: username2 },

View File

@ -93,7 +93,9 @@ test.describe('Special permissions', () => {
await siteApiAdmin.deleteSites([sitePrivate]); 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(); await recentFilesPage.navigate();
expect(await recentFilesPage.dataTable.getRowsCount(), 'Incorrect number of items').toBeGreaterThanOrEqual(1); expect(await recentFilesPage.dataTable.getRowsCount(), 'Incorrect number of items').toBeGreaterThanOrEqual(1);
await siteApiAdmin.deleteSiteMember(sitePrivate, username); 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); 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(); await favoritePage.navigate();
expect(await favoritePage.dataTable.getRowsCount(), 'Incorrect number of items').toBe(1); expect(await favoritePage.dataTable.getRowsCount(), 'Incorrect number of items').toBe(1);
await siteApiAdmin.deleteSiteMember(sitePrivate, username); await siteApiAdmin.deleteSiteMember(sitePrivate, username);
@ -109,7 +111,7 @@ test.describe('Special permissions', () => {
expect(await favoritePage.dataTable.isEmpty(), 'Items are still displayed').toBe(true); 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 sharedPage.navigate();
await expect(sharedPage.dataTable.getRowByName(sitePrivate)).toBeVisible(); await expect(sharedPage.dataTable.getRowByName(sitePrivate)).toBeVisible();
await siteApiAdmin.deleteSiteMember(sitePrivate, username); await siteApiAdmin.deleteSiteMember(sitePrivate, username);
@ -173,24 +175,33 @@ test.describe('Special permissions', () => {
await adminSiteApiActions.deleteSites([sitePrivate]); 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(); await recentFilesPage.navigate();
expect(await recentFilesPage.dataTable.isItemPresent(fileName)).toBe(true); expect(await recentFilesPage.dataTable.isItemPresent(fileName)).toBe(true);
expect(await recentFilesPage.dataTable.getItemLocationText(fileName)).toEqual('Unknown'); 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(); await favoritePage.navigate();
expect(await favoritePage.dataTable.getRowsCount(), 'Incorrect number of items').toBe(1); expect(await favoritePage.dataTable.getRowsCount(), 'Incorrect number of items').toBe(1);
expect(await favoritePage.dataTable.getItemLocationText(fileName)).toEqual('Unknown'); 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(); await sharedPage.navigate();
expect(await sharedPage.dataTable.getItemLocationText(fileName)).toEqual('Unknown'); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();

View File

@ -53,18 +53,18 @@ test.describe('Personal Files', () => {
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); 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 expectedColumns = ['Name', 'Size', 'Modified', 'Modified by', 'Tags'];
const actualColumns = Utils.trimArrayElements(await personalFiles.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await personalFiles.dataTable.getColumnHeaders());
expect(actualColumns).toEqual(expectedColumns); 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); await Utils.reloadPageIfDatatableEmpty(personalFiles);
expect(await personalFiles.dataTable.getSortedColumnHeaderText()).toBe('Name'); 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 <Personal Files> from any folder location', async ({ personalFiles }) => {
await personalFiles.dataTable.performClickFolderOrFileToOpen(userFolder); await personalFiles.dataTable.performClickFolderOrFileToOpen(userFolder);
await personalFiles.sidenav.openPanel(SIDEBAR_LABELS.PERSONAL_FILES); await personalFiles.sidenav.openPanel(SIDEBAR_LABELS.PERSONAL_FILES);
await personalFiles.dataTable.spinnerWaitForReload(); 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); 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(); await personalFiles.reload();
expect(personalFiles.page.url()).toContain(APP_ROUTES.PERSONAL_FILES); expect(personalFiles.page.url()).toContain(APP_ROUTES.PERSONAL_FILES);
}); });

View File

@ -82,35 +82,35 @@ test.describe('Recent Files', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodeActionsUser, trashcanApi, 'afterAll failed', siteActionsUser, [siteName]); 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 expectedColumns = ['Name', 'Location', 'Size', 'Modified', 'Tags'];
const actualColumns = Utils.trimArrayElements(await recentFilesPage.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await recentFilesPage.dataTable.getColumnHeaders());
expect(actualColumns).toEqual(expectedColumns); 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.getSortedColumnHeaderText()).toBe('Modified');
expect(await recentFilesPage.dataTable.getSortingOrder()).toBe('desc'); 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); 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.clickItemLocation(fileName2);
await recentFilesPage.dataTable.spinnerWaitForReload(); await recentFilesPage.dataTable.spinnerWaitForReload();
expect(await recentFilesPage.breadcrumb.getAllItems()).toEqual(['Personal Files']); 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.clickItemLocation(fileName1);
await recentFilesPage.dataTable.spinnerWaitForReload(); await recentFilesPage.dataTable.spinnerWaitForReload();
expect(await recentFilesPage.breadcrumb.getAllItems()).toEqual(['Personal Files', folderName]); 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.clickItemLocation(fileSite);
await recentFilesPage.dataTable.spinnerWaitForReload(); await recentFilesPage.dataTable.spinnerWaitForReload();
expect(await recentFilesPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName, folderSite]); expect(await recentFilesPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName, folderSite]);

View File

@ -92,38 +92,38 @@ test.describe('Shared Files', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActionsAdmin, [siteName]); 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 expectedColumns = ['Name', 'Location', 'Size', 'Modified', 'Modified by', 'Shared by', 'Tags'];
const actualColumns = Utils.trimArrayElements(await sharedPage.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await sharedPage.dataTable.getColumnHeaders());
expect(actualColumns).toEqual(expectedColumns); 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.getSortedColumnHeaderText()).toBe('Modified');
expect(await sharedPage.dataTable.getSortingOrder()).toBe('desc'); 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); 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); 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.clickItemLocation(file4User);
await sharedPage.dataTable.spinnerWaitForReload(); await sharedPage.dataTable.spinnerWaitForReload();
expect(await sharedPage.breadcrumb.getAllItems()).toEqual(['Personal Files']); 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.clickItemLocation(file1User);
await sharedPage.dataTable.spinnerWaitForReload(); await sharedPage.dataTable.spinnerWaitForReload();
expect(await sharedPage.breadcrumb.getAllItems()).toEqual(['Personal Files', folderUser]); 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.clickItemLocation(fileAdmin);
await sharedPage.dataTable.spinnerWaitForReload(); await sharedPage.dataTable.spinnerWaitForReload();
expect(await sharedPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]); expect(await sharedPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]);

View File

@ -122,7 +122,7 @@ test.describe('Remember sorting', () => {
await nodeActionUser2.deleteCurrentUserNodes(); 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.sortBy('Name', 'desc');
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
@ -136,7 +136,7 @@ test.describe('Remember sorting', () => {
expect(actualSortData).toEqual(expectedSortData); 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.sortBy('Size', 'desc');
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
const expectedSortData = await getSortState(personalFiles); const expectedSortData = await getSortState(personalFiles);
@ -149,7 +149,7 @@ test.describe('Remember sorting', () => {
expect(actualSortData).toEqual(expectedSortData); 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.sortBy('Size', 'desc');
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
const personalFilesSortData = await getSortState(personalFiles); const personalFilesSortData = await getSortState(personalFiles);
@ -166,7 +166,7 @@ test.describe('Remember sorting', () => {
expect(personalFilesSortDataAfterFavSort).toEqual(personalFilesSortData); 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 lastFileInArray = testData.user1.files.jpg.slice(-2).pop();
const firstFileInArray = testData.user1.files.pdf[0]; const firstFileInArray = testData.user1.files.pdf[0];
@ -201,7 +201,7 @@ test.describe('Remember sorting', () => {
folderIds[folderToMove] = (await nodeActionUser1.createFolder(folderToMove)).entry.id; 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.sortBy('Name', 'desc');
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
@ -219,7 +219,7 @@ test.describe('Remember sorting', () => {
expect(actualSortData).toEqual(expectedSortData); 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 = { const expectedSortData = {
sortingColumn: await personalFiles.dataTable.getSortedColumnHeaderText(), sortingColumn: await personalFiles.dataTable.getSortedColumnHeaderText(),
sortingOrder: await personalFiles.dataTable.getSortingOrder(), sortingOrder: await personalFiles.dataTable.getSortingOrder(),
@ -234,7 +234,7 @@ test.describe('Remember sorting', () => {
test.describe('User Tests', () => { test.describe('User Tests', () => {
test.describe.configure({ mode: 'serial' }); 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.sortBy('Name', 'desc');
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
const expectedSortData = await getSortState(personalFiles); const expectedSortData = await getSortState(personalFiles);
@ -249,7 +249,7 @@ test.describe('Remember sorting', () => {
expect(actualSortData).toEqual(expectedSortData); 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.sortBy('Size', 'asc');
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
const expectedSortData = await getSortState(personalFiles); const expectedSortData = await getSortState(personalFiles);

View File

@ -51,7 +51,7 @@ test.describe('Trash admin', () => {
}); });
test.describe('as 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(); await trashPage.navigate();
const expectedColumns = ['Name', 'Location', 'Size', 'Deleted', 'Deleted by']; const expectedColumns = ['Name', 'Location', 'Size', 'Deleted', 'Deleted by'];
const actualColumns = Utils.trimArrayElements(await trashPage.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await trashPage.dataTable.getColumnHeaders());

View File

@ -77,35 +77,35 @@ test.describe('Trash', () => {
await trashPage.navigate(); 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 expectedColumns = ['Name', 'Location', 'Size', 'Deleted'];
const actualColumns = Utils.trimArrayElements(await trashPage.dataTable.getColumnHeaders()); const actualColumns = Utils.trimArrayElements(await trashPage.dataTable.getColumnHeaders());
expect(actualColumns).toEqual(expectedColumns); 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.getSortedColumnHeaderText()).toBe('Deleted');
expect(await trashPage.dataTable.getSortingOrder()).toBe('desc'); 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(''); 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.clickItemLocation(fileUser);
await trashPage.dataTable.spinnerWaitForReload(); await trashPage.dataTable.spinnerWaitForReload();
expect(await trashPage.breadcrumb.getAllItems()).toEqual(['Personal Files']); 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.clickItemLocation(fileInFolder);
await trashPage.dataTable.spinnerWaitForReload(); await trashPage.dataTable.spinnerWaitForReload();
expect(await trashPage.breadcrumb.getAllItems()).toEqual(['Personal Files', folderNotDeleted]); 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.clickItemLocation(fileSite);
await trashPage.dataTable.spinnerWaitForReload(); await trashPage.dataTable.spinnerWaitForReload();
expect(await trashPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]); expect(await trashPage.breadcrumb.getAllItems()).toEqual(['My Libraries', siteName]);

View File

@ -48,7 +48,7 @@ test.describe('as admin', () => {
await nodesApi.deleteNodes([userFolderId], true); 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.navigate({ remoteUrl: `#/personal-files/${userFolderId}` });
await personalFiles.breadcrumb.getItemByTitle(userFolder).waitFor({ state: 'attached' }); await personalFiles.breadcrumb.getItemByTitle(userFolder).waitFor({ state: 'attached' });
expect(await personalFiles.breadcrumb.getAllItems()).toEqual(['Personal Files', userFolder]); expect(await personalFiles.breadcrumb.getAllItems()).toEqual(['Personal Files', userFolder]);

View File

@ -88,25 +88,25 @@ test.describe('viewer action file', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActions, [docLibId]); 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/` }); await personalFiles.navigate({ remoteUrl: `#/personal-files/` });
expect(await personalFiles.breadcrumb.items.count(), 'Breadcrumb has incorrect number of items').toEqual(1); expect(await personalFiles.breadcrumb.items.count(), 'Breadcrumb has incorrect number of items').toEqual(1);
await expect(personalFiles.breadcrumb.currentItem).toHaveText('Personal Files'); 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}` }); await personalFiles.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` });
const expectedBreadcrumb = ['Personal Files', parent, subFolder1, subFolder2]; const expectedBreadcrumb = ['Personal Files', parent, subFolder1, subFolder2];
expect(await personalFiles.breadcrumb.getAllItems()).toEqual(expectedBreadcrumb); 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}` }); await myLibrariesPage.navigate({ remoteUrl: `#/libraries/${subFolder2FromSiteId}` });
const expectedItems = ['My Libraries', siteName, parentFromSite, subFolder1FromSite, subFolder2FromSite]; const expectedItems = ['My Libraries', siteName, parentFromSite, subFolder1FromSite, subFolder2FromSite];
expect(await myLibrariesPage.breadcrumb.getAllItems()).toEqual(expectedItems); 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.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` });
await personalFiles.breadcrumb.clickItem(subFolder1); await personalFiles.breadcrumb.clickItem(subFolder1);
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
@ -114,13 +114,13 @@ test.describe('viewer action file', () => {
expect(await personalFiles.breadcrumb.getAllItems()).toEqual(expectedBreadcrumb); 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}` }); await personalFiles.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` });
const item = personalFiles.breadcrumb.items.nth(2); const item = personalFiles.breadcrumb.items.nth(2);
await expect(item).toHaveAttribute('title', subFolder1); 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 nodesApiAction.renameNode(folder1Id, folder1Renamed);
await personalFiles.navigate({ remoteUrl: `#/personal-files/${folder1Id}` }); await personalFiles.navigate({ remoteUrl: `#/personal-files/${folder1Id}` });
await personalFiles.page.reload(); await personalFiles.page.reload();
@ -128,7 +128,7 @@ test.describe('viewer action file', () => {
await expect(personalFiles.breadcrumb.currentItem).toHaveText(folder1Renamed); 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 personalFiles.navigate({ remoteUrl: `#/personal-files/${subFolder2Id}` });
await trashPage.navigate(); await trashPage.navigate();
await personalFiles.page.goBack(); await personalFiles.page.goBack();

View File

@ -38,7 +38,7 @@ test.describe('Sidebar', () => {
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); 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.navigate();
await personalFiles.sidenav.openPanel(SIDEBAR_LABELS.MY_LIBRARIES); await personalFiles.sidenav.openPanel(SIDEBAR_LABELS.MY_LIBRARIES);
await personalFiles.dataTable.spinnerWaitForReload(); 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); 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` }); await personalFiles.navigate({ remoteUrl: `#/search;q=test` });
expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar expanded').toBe(false); expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar expanded').toBe(false);
await personalFiles.sidenav.expandSideNav(); await personalFiles.sidenav.expandSideNav();
expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar not expanded').toBe(true); 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(); await personalFiles.navigate();
expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar not expanded').toBe(true); expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar not expanded').toBe(true);
await personalFiles.reload(); await personalFiles.reload();
@ -66,7 +66,7 @@ test.describe('Sidebar', () => {
expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar expanded').toBe(false); 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.navigate();
await personalFiles.sidenav.collapseSideNav(); await personalFiles.sidenav.collapseSideNav();
expect(await personalFiles.sidenav.isSidenavExpanded(), 'Sidebar expanded').toBe(false); 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); 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 personalFiles.navigate({ remoteUrl: `#/search;q=test` });
await searchPage.searchInput.searchCloseButton.click(); await searchPage.searchInput.searchCloseButton.click();
await searchPage.sidenav.expandedSidenav.waitFor({ state: 'attached' }); await searchPage.sidenav.expandedSidenav.waitFor({ state: 'attached' });

View File

@ -63,13 +63,13 @@ test.describe('Single click on item name', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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 trashPage.navigate();
await expect(trashPage.dataTable.getCellLinkByName(deletedFile1), 'Link on name is present').toBeHidden(); await expect(trashPage.dataTable.getCellLinkByName(deletedFile1), 'Link on name is present').toBeHidden();
await expect(trashPage.dataTable.getCellLinkByName(deletedFolder1), '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.navigate();
await personalFiles.dataTable.setPaginationTo50(); await personalFiles.dataTable.setPaginationTo50();
await personalFiles.dataTable.getCellLinkByName(folder1).click(); await personalFiles.dataTable.getCellLinkByName(folder1).click();
@ -80,7 +80,7 @@ test.describe('Single click on item name', () => {
await expect(personalFiles.breadcrumb.currentItem).toHaveText(folder1); 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.navigate();
await myLibrariesPage.dataTable.goThroughPagesLookingForRowWithName(siteName); await myLibrariesPage.dataTable.goThroughPagesLookingForRowWithName(siteName);
await myLibrariesPage.dataTable.getCellLinkByName(siteName).click(); await myLibrariesPage.dataTable.getCellLinkByName(siteName).click();

View File

@ -35,7 +35,7 @@ export function favoritesTests(username: string) {
await favoritePage.waitForPageLoad(); 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.getRange()).toContain('1-25 of 51');
expect(await favoritePage.pagination.getMaxItems()).toContain('25'); expect(await favoritePage.pagination.getMaxItems()).toContain('25');
expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 1'); expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 1');
@ -44,7 +44,7 @@ export function favoritesTests(username: string) {
expect(await favoritePage.pagination.isNextEnabled()).toBe(true); 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(); await favoritePage.pagination.openMaxItemsMenu();
expect(await favoritePage.pagination.getItemsCount()).toBe(3); expect(await favoritePage.pagination.getItemsCount()).toBe(3);
await favoritePage.pagination.clickMenuItem('25'); await favoritePage.pagination.clickMenuItem('25');
@ -67,7 +67,7 @@ export function favoritesTests(username: string) {
await favoritePage.pagination.resetToDefaultPageSize(); 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(); await favoritePage.pagination.clickOnNextPage();
expect(await favoritePage.pagination.getRange()).toContain('Showing 26-50 of 51'); expect(await favoritePage.pagination.getRange()).toContain('Showing 26-50 of 51');
expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 2'); expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 2');
@ -76,7 +76,7 @@ export function favoritesTests(username: string) {
await favoritePage.pagination.resetToDefaultPageSize(); 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.openMaxItemsMenu();
await favoritePage.pagination.clickMenuItem('25'); await favoritePage.pagination.clickMenuItem('25');
expect(await favoritePage.pagination.getMaxItems()).toContain('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'); 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.openMaxItemsMenu();
await favoritePage.pagination.clickNthItem(3); await favoritePage.pagination.clickNthItem(3);
expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 1'); expect(await favoritePage.pagination.getCurrentPage()).toContain('Page 1');

View File

@ -35,7 +35,7 @@ export function personalFilesTests(userName: string, parentName: string) {
await page.waitForTimeout(timeouts.tiny); 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.getRange()).toContain('Showing 1-25 of 51');
expect(await personalFiles.pagination.getMaxItems()).toContain('25'); expect(await personalFiles.pagination.getMaxItems()).toContain('25');
expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 1'); 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); 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(); await personalFiles.pagination.openMaxItemsMenu();
expect(await personalFiles.pagination.getItemsCount()).toBe(3); expect(await personalFiles.pagination.getItemsCount()).toBe(3);
await personalFiles.pagination.clickMenuItem('25'); await personalFiles.pagination.clickMenuItem('25');
@ -65,7 +65,7 @@ export function personalFilesTests(userName: string, parentName: string) {
await personalFiles.pagination.resetToDefaultPageSize(); 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(); await personalFiles.pagination.clickOnNextPage();
expect(await personalFiles.pagination.getRange()).toContain('Showing 26-50 of 51'); expect(await personalFiles.pagination.getRange()).toContain('Showing 26-50 of 51');
expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 2'); expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 2');
@ -74,7 +74,7 @@ export function personalFilesTests(userName: string, parentName: string) {
await personalFiles.pagination.resetToDefaultPageSize(); 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.openMaxItemsMenu();
await personalFiles.pagination.clickMenuItem('25'); await personalFiles.pagination.clickMenuItem('25');
expect(await personalFiles.pagination.getMaxItems()).toContain('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'); 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.getCurrentPage()).toContain('Page 1');
expect(await personalFiles.pagination.isPreviousEnabled()).toBe(false); 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.openMaxItemsMenu();
await personalFiles.pagination.clickNthItem(3); await personalFiles.pagination.clickNthItem(3);
expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 1'); expect(await personalFiles.pagination.getCurrentPage()).toContain('Page 1');

View File

@ -1,7 +1,7 @@
{ {
"C290019": "https://hyland.atlassian.net/browse/ACS-6928", "XAT-5601": "https://hyland.atlassian.net/browse/ACS-6928",
"C290018": "https://hyland.atlassian.net/browse/ACS-6928", "XAT-5600": "https://hyland.atlassian.net/browse/ACS-6928",
"C699046-3": "https://hyland.atlassian.net/browse/ACS-7464", "XAT-17697": "https://hyland.atlassian.net/browse/ACS-7464",
"C699498": "https://hyland.atlassian.net/browse/ACS-7682", "XAT-5580": "https://hyland.atlassian.net/browse/ACS-7682",
"C277736": "https://hyland.atlassian.net/browse/ACS-9192" "XAT-5571": "https://hyland.atlassian.net/browse/ACS-9192"
} }

View File

@ -71,7 +71,7 @@ test.describe('Search - Filters - Categories', () => {
await categoriesApi.deleteCategory(categoryId); 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.searchWithin(randomId, 'files');
await searchPage.searchFilters.categoriesFilter.click(); await searchPage.searchFilters.categoriesFilter.click();
await searchPage.searchFiltersCategories.addOptionInput.fill(newSubcategories[0].name); await searchPage.searchFiltersCategories.addOptionInput.fill(newSubcategories[0].name);

View File

@ -58,7 +58,7 @@ test.describe('Search - Filters - Date', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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.acaHeader.searchButton.click();
await searchPage.searchFilters.dateFilter.click(); await searchPage.searchFilters.dateFilter.click();
await searchPage.searchFiltersDate.betweenButton.click(); await searchPage.searchFiltersDate.betweenButton.click();
@ -74,7 +74,7 @@ test.describe('Search - Filters - Date', () => {
expect(await searchPage.searchFiltersDate.isSearchTabSelected()).toBe('true'); 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({ await searchPage.searchFiltersDate.filterFilesByDate({
searchPage, searchPage,
filterType: 'anytime', 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({ await searchPage.searchFiltersDate.filterFilesByDate({
searchPage, searchPage,
filterType: 'anytime', 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({ await searchPage.searchFiltersDate.filterFilesByDate({
searchPage, searchPage,
filterType: 'inTheLast', 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({ await searchPage.searchFiltersDate.filterFilesByDate({
searchPage, searchPage,
filterType: 'inTheLast', 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({ await searchPage.searchFiltersDate.filterFilesByDate({
searchPage, searchPage,
filterType: 'between', 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({ await searchPage.searchFiltersDate.filterFilesByDate({
searchPage, searchPage,
filterType: 'between', filterType: 'between',

View File

@ -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<void> { async function checkMenuCardTitle(page: SearchPage, filterLocator: Locator, expectText: string): Promise<void> {
await filterLocator.click(); await filterLocator.click();
await expect(page.searchFilters.menuCardTitle).toContainText(expectText); 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(); const filterTextBefore = await searchPage.searchFilters.propertiesFilter.textContent();
await searchPage.searchFilters.propertiesFilter.click(); await searchPage.searchFilters.propertiesFilter.click();
await searchPage.searchFiltersProperties.fileSizeInput.fill('1000'); await searchPage.searchFiltersProperties.fileSizeInput.fill('1000');
@ -101,7 +101,7 @@ test.describe('Search - Filters - General', () => {
expect(filterTextAfter).not.toEqual(filterTextCleared); 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(); const propertiesFilterTextBefore = await searchPage.searchFilters.propertiesFilter.textContent();
await searchPage.searchFilters.propertiesFilter.click(); await searchPage.searchFilters.propertiesFilter.click();
await searchPage.searchFiltersProperties.fileSizeInput.fill('1000'); await searchPage.searchFiltersProperties.fileSizeInput.fill('1000');

View File

@ -67,7 +67,7 @@ test.describe('Search - Filters - Location', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteAdminApi, [siteId]); 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 searchPage.searchWithin(random, 'files');
await expect(searchPage.dataTable.getRowByName(fileJpg)).toBeVisible(); await expect(searchPage.dataTable.getRowByName(fileJpg)).toBeVisible();
@ -79,7 +79,7 @@ test.describe('Search - Filters - Location', () => {
await expect(searchPage.dataTable.getRowByName(filePdf)).toBeHidden(); 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 searchPage.searchWithin(random, 'folders');
await expect(searchPage.dataTable.getRowByName(userFolder)).toBeVisible(); await expect(searchPage.dataTable.getRowByName(userFolder)).toBeVisible();

View File

@ -75,7 +75,7 @@ test.describe('Search - Filters - Logic', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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.searchFilters.logicFilter.click();
await searchPage.searchFiltersLogic.matchAllInput.fill( await searchPage.searchFiltersLogic.matchAllInput.fill(
`${logicFile1NameSplit[0]} ${logicFile1NameSplit[1]} ${logicFile1TitleSplit[1]} ${logicFile1DescriptionSplit[1]}` `${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(); 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.searchFilters.logicFilter.click();
await searchPage.searchFiltersLogic.matchAnyInput.fill( await searchPage.searchFiltersLogic.matchAnyInput.fill(
`${logicFile1NameSplit[2]}-${logicFile1NameSplit[3]} ${logicFile1TitleSplit[0]} ${logicFile1DescriptionSplit[0]}` `${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(); 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.searchFilters.logicFilter.click();
await searchPage.searchFiltersLogic.matchAnyInput.fill( await searchPage.searchFiltersLogic.matchAnyInput.fill(
`${logicFile1NameSplit[0]}-${logicFile1NameSplit[1]} ${logicFile1TitleSplit[0]} ${logicFile1DescriptionSplit[0]}` `${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(); 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.searchFilters.logicFilter.click();
await searchPage.searchFiltersLogic.matchExactInput.fill(logicFile1.name); await searchPage.searchFiltersLogic.matchExactInput.fill(logicFile1.name);
await searchPage.searchFilters.menuCardApply.click(); await searchPage.searchFilters.menuCardApply.click();
@ -143,7 +143,7 @@ test.describe('Search - Filters - Logic', () => {
await expect(searchPage.dataTable.getRowByName(logicFile1.name)).toBeVisible(); 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('-'); const logicFile2NameSplit = logicFile2.name.split('-');
await searchPage.searchFilters.logicFilter.click(); await searchPage.searchFilters.logicFilter.click();

View File

@ -57,7 +57,7 @@ test.describe('Search - Filters - Properties', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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.searchWithin(randomId, 'files');
await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, undefined, undefined, '1000'); await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, undefined, undefined, '1000');
@ -66,7 +66,7 @@ test.describe('Search - Filters - Properties', () => {
await expect(searchPage.dataTable.getRowByName(fileNameJpgMb)).toBeVisible(); 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.searchWithin(randomId, 'files');
await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, 'At Most', 'MB', '1'); 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(); 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.searchWithin(randomId, 'files');
await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, 'Exactly', undefined, '2.96'); 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(); 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.searchWithin(randomId, 'files');
await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, undefined, undefined, undefined, 'pdf'); await searchPage.searchFiltersProperties.setPropertiesParameters(searchPage, undefined, undefined, undefined, 'pdf');

View File

@ -74,7 +74,7 @@ test.describe('Search - Filters - Tags', () => {
await tagsApiAdmin.deleteTags([`${(tagEntries as TagPaging).list.entries[1].entry.id}`]); 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.searchWithin(random, 'files');
await searchPage.searchFiltersTags.filterByTag(searchPage, `${(tagEntries as TagPaging).list.entries[0].entry.tag}`); await searchPage.searchFiltersTags.filterByTag(searchPage, `${(tagEntries as TagPaging).list.entries[0].entry.tag}`);

View File

@ -42,14 +42,14 @@ test.describe('Search - Input', () => {
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); 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.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await expect(searchPage.searchOverlay.searchInputControl).toBeVisible(); 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.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
@ -62,7 +62,7 @@ test.describe('Search - Input', () => {
await expect(searchPage.searchOverlay.searchLibrariesOption).not.toBeChecked(); 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.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();

View File

@ -54,7 +54,7 @@ test.describe('Search results - files and folders', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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}`; const fileRussian = `любимый-сайт-${random}`;
await nodesApi.createFile(fileRussian); await nodesApi.createFile(fileRussian);
@ -62,7 +62,7 @@ test.describe('Search results - files and folders', () => {
await expect(searchPage.dataTable.getRowByName(fileRussian)).toBeVisible(); 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 file = `test-file-${random}.txt`;
const fileTitle = 'file title'; const fileTitle = 'file title';
const fileDescription = 'file description'; const fileDescription = 'file description';

View File

@ -60,7 +60,7 @@ test.describe('Search Results - General', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, [site]); 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'); await searchPage.searchWithin(`*${random}`, 'files');
expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy();
@ -68,7 +68,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); 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'); await searchPage.searchWithin(`*${random}`, 'folders');
expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy(); expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy();
@ -76,7 +76,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); 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-5605] Files and folders are returned when both Files and Folders options are checked', async ({ searchPage }) => {
await searchPage.searchWithin(`*${random}`, 'filesAndFolders'); await searchPage.searchWithin(`*${random}`, 'filesAndFolders');
expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy();
@ -84,7 +84,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); 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'); await searchPage.searchWithin(`*${random}`, 'libraries');
expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy(); expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy();
@ -92,7 +92,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); 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'); await searchPage.searchWithin(file, 'filesAndFolders');
expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy();
@ -106,7 +106,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(folder)).toBeTruthy(); 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'); await searchPage.searchWithin(site, 'libraries');
expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy();

View File

@ -32,7 +32,8 @@ import {
SitesApi, SitesApi,
FileActionsApi, FileActionsApi,
SITE_VISIBILITY, SITE_VISIBILITY,
SITE_ROLES SITE_ROLES,
SIDEBAR_LABELS
} from '@alfresco/aca-playwright-shared'; } from '@alfresco/aca-playwright-shared';
test.describe('Search Results - General', () => { test.describe('Search Results - General', () => {
@ -139,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'); await searchPage.searchWithin(site1.name, 'libraries');
expect(await searchPage.dataTable.isItemPresent(site1.name)).toBeTruthy(); expect(await searchPage.dataTable.isItemPresent(site1.name)).toBeTruthy();
@ -148,7 +149,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(site4.name)).toBeFalsy(); 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 fileActionsApi.waitForNodes(site3.id, { expect: 1 });
await searchPage.searchWithin(`lib-${random}`, 'libraries'); await searchPage.searchWithin(`lib-${random}`, 'libraries');
@ -158,7 +159,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(site4.name)).toBeFalsy(); 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'); await searchPage.searchWithin(site4.description, 'libraries');
expect(await searchPage.dataTable.isItemPresent(site1.name)).toBeFalsy(); expect(await searchPage.dataTable.isItemPresent(site1.name)).toBeFalsy();
@ -167,7 +168,7 @@ test.describe('Search Results - General', () => {
expect(await searchPage.dataTable.isItemPresent(site4.name)).toBeTruthy(); 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'); await searchPage.searchWithin(site1.name, 'libraries');
const expectedColumns = ['Name', 'Description', 'My Role', 'Visibility']; const expectedColumns = ['Name', 'Description', 'My Role', 'Visibility'];
@ -176,7 +177,7 @@ test.describe('Search Results - General', () => {
expect(actualColumns).toEqual(expectedColumns); 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'); await searchPage.searchWithin(`user-site-${random}`, 'libraries');
const expectedSitesVisibility = { const expectedSitesVisibility = {
@ -190,7 +191,7 @@ test.describe('Search Results - General', () => {
expect(expectedSitesVisibility).toEqual(actualSitesVisibility); 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'); await searchPage.searchWithin(`admin-${random}-site`, 'libraries');
const expectedSitesRoles = { const expectedSitesRoles = {
@ -205,15 +206,24 @@ test.describe('Search Results - General', () => {
expect(expectedSitesRoles).toEqual(actualSitesRole); 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'); await searchPage.searchWithin(`admin-${random}-site`, 'libraries');
expect(await searchPage.dataTable.isItemPresent(adminPrivate)).toBeFalsy(); 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'); await searchPage.searchWithin(siteRussian.name, 'libraries');
expect(await searchPage.dataTable.isItemPresent(siteRussian.name)).toBeTruthy(); expect(await searchPage.dataTable.isItemPresent(siteRussian.name)).toBeTruthy();
}); });
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');
expect(await searchPage.dataTable.isEmpty()).toBeTruthy();
expect(await searchPage.dataTable.emptySearchText.textContent()).toContain('Your search returned 0 results');
});
}); });

View File

@ -113,35 +113,35 @@ test.describe('Search sorting', () => {
expect(await searchPage.dataTable.getNthRow(1).textContent()).toContain(expectedSecondFile); 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); 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); 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); 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); 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); 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); 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); 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.searchWithin(`search-sort *${random}`, 'files');
await searchPage.searchSortingPicker.actionMenu.click(); await searchPage.searchSortingPicker.actionMenu.click();

View File

@ -75,7 +75,7 @@ test.describe('Share a file', () => {
await apiClientFactory.nodes.deleteNodes([file6Id]); 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 page.goto(file6SharedLink);
await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.viewer.waitForViewerToOpen();
@ -131,7 +131,7 @@ test.describe('Share a file', () => {
await nodesApi.deleteNodes([file3Id, file4Id, file5Id, file6Id, file7Id, file8Id, file9Id]); 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'); await personalFiles.dataTable.performActionFromExpandableMenu(file3, 'Share');
const labels = await personalFiles.shareDialog.getLabels(); const labels = await personalFiles.shareDialog.getLabels();
expect(await personalFiles.shareDialog.getDialogTitle()).toEqual(`Share ${file3}`); expect(await personalFiles.shareDialog.getDialogTitle()).toEqual(`Share ${file3}`);
@ -145,7 +145,7 @@ test.describe('Share a file', () => {
expect(await personalFiles.shareDialog.isCloseEnabled()).toBe(true); 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'); await personalFiles.dataTable.performActionFromExpandableMenu(file3, 'Share');
const url = await personalFiles.shareDialog.getLinkUrl(); const url = await personalFiles.shareDialog.getLinkUrl();
@ -155,7 +155,7 @@ test.describe('Share a file', () => {
expect(url).toContain(sharedId); 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'); await personalFiles.dataTable.performActionFromExpandableMenu(file4, 'Share');
const url = await personalFiles.shareDialog.getLinkUrl(); const url = await personalFiles.shareDialog.getLinkUrl();
@ -176,7 +176,7 @@ test.describe('Share a file', () => {
expect(download.suggestedFilename()).toBe(file4); 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.dataTable.performActionFromExpandableMenu(file5, 'Share');
await personalFiles.shareDialog.expireToggle.click(); await personalFiles.shareDialog.expireToggle.click();
@ -194,7 +194,7 @@ test.describe('Share a file', () => {
expect(Utils.formatDate(expireDateProperty)).toEqual(Utils.formatDate(inputDate)); 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'); await personalFiles.dataTable.performActionFromExpandableMenu(file6, 'Share');
const expireProperty = await nodesApiAction.getNodeProperty(file6Id, 'qshare:expiryDate'); 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)); 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'); await personalFiles.dataTable.performActionFromExpandableMenu(file7, 'Share');
expect(await personalFiles.shareDialog.isExpireToggleEnabled()).toBe(true); expect(await personalFiles.shareDialog.isExpireToggleEnabled()).toBe(true);
@ -217,7 +217,7 @@ test.describe('Share a file', () => {
expect(await nodesApiAction.getNodeProperty(file7Id, 'qshare:expiryDate')).toBe(''); 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'); await personalFiles.dataTable.performActionFromExpandableMenu(file8, 'Share');
const url1 = await personalFiles.shareDialog.getLinkUrl(); const url1 = await personalFiles.shareDialog.getLinkUrl();
@ -230,7 +230,7 @@ test.describe('Share a file', () => {
expect(url1).toEqual(url2); 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'); await personalFiles.dataTable.performActionFromExpandableMenu(file9, 'Share');
const url = await personalFiles.shareDialog.getLinkUrl(); const url = await personalFiles.shareDialog.getLinkUrl();

View File

@ -113,7 +113,7 @@ test.describe('Unshare a file from Search Results', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, [docLibId]); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();
@ -134,7 +134,7 @@ test.describe('Unshare a file from Search Results', () => {
await expect(personalFiles.confirmDialog.cancelButton).toBeEnabled(); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();
@ -153,7 +153,7 @@ test.describe('Unshare a file from Search Results', () => {
expect(await nodesApiAction.isFileShared(file2Id)).toBe(false); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();
@ -171,7 +171,7 @@ test.describe('Unshare a file from Search Results', () => {
expect(urlBefore).toEqual(urlAfter); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();
@ -190,7 +190,7 @@ test.describe('Unshare a file from Search Results', () => {
expect(await nodesApiAction.isFileShared(file4Id)).toBe(false); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();
@ -205,7 +205,12 @@ test.describe('Unshare a file from Search Results', () => {
expect(await nodesApiAction.isFileShared(fileSite2Id)).toBe(true); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();

View File

@ -81,13 +81,13 @@ test.describe('Folders - available actions : ', () => {
await personalFiles.navigate({ remoteUrl: `#/personal-files/${parentId}` }); 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.dataTable.getRowByName(testData.folderFile.name).click({ button: 'right' });
await personalFiles.matMenu.verifyActualMoreActions(testData.folderFile.contextMenu); await personalFiles.matMenu.verifyActualMoreActions(testData.folderFile.contextMenu);
await checkActionsAvailable(personalFiles, testData.folderFile.name, testData.folderFile.toolbarPrimary, testData.folderFile.toolbarMore); 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.dataTable.getRowByName(testData.folderFavFile.name).click({ button: 'right' });
await personalFiles.matMenu.verifyActualMoreActions(testData.folderFavFile.contextMenu); await personalFiles.matMenu.verifyActualMoreActions(testData.folderFavFile.contextMenu);
await checkActionsAvailable( 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.selectItems(testData.folderFavFile.name, testData.folderFile.name);
await personalFiles.dataTable.getRowByName(testData.folderFavFile.name).click({ button: 'right' }); await personalFiles.dataTable.getRowByName(testData.folderFavFile.name).click({ button: 'right' });
await personalFiles.page.reload({ waitUntil: 'load' }); await personalFiles.page.reload({ waitUntil: 'load' });
@ -106,7 +106,7 @@ test.describe('Folders - available actions : ', () => {
await checkMultipleSelActionsAvailable(personalFiles, testData.multipleSelFile.toolbarPrimary, testData.multipleSelFile.toolbarMore); 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.selectItems(testData.file.name, testData.folderFile.name);
await personalFiles.dataTable.getRowByName(testData.folderFile.name).click({ button: 'right' }); await personalFiles.dataTable.getRowByName(testData.folderFile.name).click({ button: 'right' });
await personalFiles.matMenu.verifyActualMoreActions(testData.multipleSelFile.contextMenu); await personalFiles.matMenu.verifyActualMoreActions(testData.multipleSelFile.contextMenu);

View File

@ -57,7 +57,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) {
await Utils.tryLoginUser(loginPage, userCollaborator, userCollaborator, 'beforeEach failed'); 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.navigate();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName);
await checkActionsAvailable( 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 sharedPage.navigate();
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, 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 favoritePage.navigate();
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, 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 searchPage.searchWithin(testData.fileSharedFav.name, 'filesAndFolders');
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, myLibrariesPage,
@ -99,7 +99,7 @@ export function collaboratorTests(userCollaborator: string, siteName: string) {
}); });
test.describe('available actions in the viewer : ', () => { 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.navigate();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName);
await checkActionsViewerAvailable( 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 sharedPage.navigate();
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, 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 favoritePage.navigate();
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, 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 searchPage.searchWithin(testData.fileDocxSharedFav.name, 'filesAndFolders');
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, myLibrariesPage,
@ -151,7 +151,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string)
}); });
test.describe('available actions in the file select : ', () => { 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.navigate();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName);
await checkActionsAvailable( 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 sharedPage.navigate();
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, 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 favoritePage.navigate();
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, 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 searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders');
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, myLibrariesPage,
@ -194,7 +194,7 @@ export function filesLockedByCurrentUser(userDemoted: string, siteName?: string)
}); });
test.describe('available actions in the viewer : ', () => { 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.navigate();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName);
await checkActionsViewerAvailable( 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 sharedPage.navigate();
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, 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 favoritePage.navigate();
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, 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 searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders');
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, myLibrariesPage,
@ -244,7 +244,7 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) {
await Utils.tryLoginUser(loginPage, userManager, userManager, 'beforeEach failed'); 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.navigate();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName);
await checkActionsAvailable( 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 = [ const expectedToolbarMore = [
'Cancel Editing', 'Cancel Editing',
'Upload New Version', 'Upload New Version',
@ -270,7 +273,10 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) {
await checkActionsAvailable(myLibrariesPage, testData.fileLockedByUser, testData.collaboratorToolbarPrimary, expectedToolbarMore); 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 favoritePage.navigate();
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, 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 searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders');
await checkActionsAvailable( await checkActionsAvailable(
myLibrariesPage, myLibrariesPage,
@ -291,7 +300,7 @@ export function filesLockedByOtherUser(userManager: string, siteName?: string) {
}); });
test.describe('available actions in the viewer : ', () => { 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.navigate();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteName);
await checkActionsViewerAvailable( 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 sharedPage.navigate();
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, 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 favoritePage.navigate();
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, myLibrariesPage,
@ -322,8 +331,7 @@ 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 }) => {
test('file opened from Search Results - [C306994]', async ({ searchPage, myLibrariesPage }) => {
await searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders'); await searchPage.searchWithin(testData.fileLockedByUser, 'filesAndFolders');
await checkActionsViewerAvailable( await checkActionsViewerAvailable(
myLibrariesPage, myLibrariesPage,

View File

@ -47,7 +47,7 @@ export function viewerTests(userConsumer: string, siteName: string) {
await myLibrariesPage.matMenu.verifyActualMoreActions(expectedToolbarMore); 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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); 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, 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( await checkViewerActions(
loginPage, loginPage,
myLibrariesPage, myLibrariesPage,
@ -180,7 +180,7 @@ export function viewerTests(userConsumer: string, siteName: string) {
await favoritePage.matMenu.verifyActualMoreActions(expectedToolbarMore); await favoritePage.matMenu.verifyActualMoreActions(expectedToolbarMore);
} }
test('File Office, favorite - [C326652]', async ({ loginPage, favoritePage }) => { test('[XAT-4820] File Office, favorite - ', async ({ loginPage, favoritePage }) => {
await checkViewerActions( await checkViewerActions(
loginPage, loginPage,
favoritePage, 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( await checkViewerActions(
loginPage, loginPage,
favoritePage, 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( await checkViewerActions(
loginPage, loginPage,
favoritePage, 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( await checkViewerActions(
loginPage, loginPage,
favoritePage, 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( await checkViewerActions(
loginPage, loginPage,
favoritePage, 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( await checkViewerActions(
loginPage, loginPage,
favoritePage, favoritePage,
@ -259,7 +259,7 @@ export function viewerTests(userConsumer: string, siteName: string) {
await sharedPage.matMenu.verifyActualMoreActions(expectedToolbarMore); 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( await checkViewerActions(
loginPage, loginPage,
sharedPage, 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( await checkViewerActions(
loginPage, loginPage,
sharedPage, 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( await checkViewerActions(
loginPage, loginPage,
sharedPage, 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( await checkViewerActions(
loginPage, loginPage,
sharedPage, 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( await checkViewerActions(
loginPage, loginPage,
sharedPage, 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( await checkViewerActions(
loginPage, loginPage,
sharedPage, sharedPage,
@ -338,7 +338,7 @@ export function viewerTests(userConsumer: string, siteName: string) {
await searchPage.matMenu.verifyActualMoreActions(expectedToolbarMore); 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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); 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, 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( await checkViewerActions(
loginPage, loginPage,
searchPage, searchPage,

View File

@ -60,14 +60,14 @@ test.describe('Download from Personal Files', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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.performClickFolderOrFileToOpen(parent);
await personalFiles.dataTable.selectItems(childFile); await personalFiles.dataTable.selectItems(childFile);
const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]); const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]);
expect(download.suggestedFilename()).toBe(childFile); 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.performClickFolderOrFileToOpen(parent);
await personalFiles.dataTable.selectItems(childFolder); await personalFiles.dataTable.selectItems(childFolder);
const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]); 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); 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.performClickFolderOrFileToOpen(parent);
await personalFiles.dataTable.selectItems(childFile, childFolder); await personalFiles.dataTable.selectItems(childFile, childFolder);
const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]); const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), personalFiles.acaHeader.downloadButton.click()]);

View File

@ -110,7 +110,7 @@ test.describe('Upload new version', () => {
await Utils.tryLoginUser(loginPage, username, username, 'beforeEach failed'); 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 searchPage.searchWithin(fileSearch2, 'files');
await uploadNewVersion(searchPage, fileSearch2, fileToUpload2.path); 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'); 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 searchPage.searchWithin(fileSearch3, 'files');
await uploadNewVersion(searchPage, fileSearch3, TEST_FILES.DOCX2.path); await uploadNewVersion(searchPage, fileSearch3, TEST_FILES.DOCX2.path);
@ -150,7 +150,7 @@ test.describe('Upload new version', () => {
await personalFiles.dataTable.performClickFolderOrFileToOpen(parentPF); 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 uploadNewVersion(personalFiles, file1, TEST_FILES.PDF.path);
await expect(personalFiles.uploadNewVersionDialog.title).toHaveText('Upload New Version'); 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'); 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 uploadNewVersion(personalFiles, fileToUpload1, TEST_FILES.DOCX2.path);
await personalFiles.uploadNewVersionDialog.description.fill('new version description'); 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'); 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 uploadNewVersion(personalFiles, fileLocked2, TEST_FILES.DOCX2.path);
await personalFiles.uploadNewVersionDialog.cancelButton.click(); await personalFiles.uploadNewVersionDialog.cancelButton.click();

View File

@ -58,7 +58,7 @@ test.describe('Upload files', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed'); 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); const uploadedFiles = await personalFiles.dataTable.isItemPresent(TEST_FILES.JPG_FILE.name);
expect(uploadedFiles, 'Uploaded file was not present in data table').toBe(true); expect(uploadedFiles, 'Uploaded file was not present in data table').toBe(true);
}); });
@ -76,7 +76,7 @@ test.describe('Upload files', () => {
await expect(personalFiles.uploadDialog.uploadDialog, 'Upload Dialog was not maximized').toBeVisible(); await expect(personalFiles.uploadDialog.uploadDialog, 'Upload Dialog was not maximized').toBeVisible();
}); });
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.logoutUser();
await expect(loginPage.username, 'User name was not visible').toBeVisible(); await expect(loginPage.username, 'User name was not visible').toBeVisible();
await loginPage.loginUser({ username, password: username }); await loginPage.loginUser({ username, password: username });

View File

@ -81,7 +81,7 @@ test.describe('viewer action file', () => {
await apiClientFactory.nodes.deleteNode(destinationId, { permanent: true }); 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.dataTable.performClickFolderOrFileToOpen(randomDocxName);
await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.viewer.waitForViewerToOpen();
const downloadPromise = personalFiles.page.waitForEvent('download'); const downloadPromise = personalFiles.page.waitForEvent('download');
@ -90,7 +90,7 @@ test.describe('viewer action file', () => {
expect(download.suggestedFilename()).toBe(randomDocxName); 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.dataTable.performClickFolderOrFileToOpen(randomDocxDelete);
await personalFiles.viewer.waitForViewerToOpen(); 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); 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.dataTable.performClickFolderOrFileToOpen(fileForEditOffline);
await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.viewer.waitForViewerToOpen();
await personalFiles.acaHeader.clickViewerMoreActions(); 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); 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.dataTable.performClickFolderOrFileToOpen(fileForCancelEditing);
await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.viewer.waitForViewerToOpen();
await personalFiles.acaHeader.clickViewerMoreActions(); 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); 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.dataTable.performClickFolderOrFileToOpen(randomDocxName);
await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.viewer.waitForViewerToOpen();
await personalFiles.acaHeader.fullScreenButton.click(); await personalFiles.acaHeader.fullScreenButton.click();
expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is closed after pressing Full screen').toBe(true); 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.dataTable.performClickFolderOrFileToOpen(randomDocxName);
await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.viewer.waitForViewerToOpen();
await personalFiles.acaHeader.clickViewerMoreActions(); await personalFiles.acaHeader.clickViewerMoreActions();
@ -147,7 +147,7 @@ test.describe('viewer action file', () => {
expect(await personalFiles.viewer.isViewerOpened(), 'Viewer should be opened').toBe(true); 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.navigate({ waitUntil: 'domcontentloaded' });
await sharedPage.dataTable.performClickFolderOrFileToOpen(randomDocxNameShare); await sharedPage.dataTable.performClickFolderOrFileToOpen(randomDocxNameShare);
expect(await sharedPage.viewer.isViewerOpened(), 'Viewer should be opened').toBe(true); 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); 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.navigate({ waitUntil: 'domcontentloaded' });
await favoritePage.dataTable.performClickFolderOrFileToOpen(randomDocxNameFavorite); await favoritePage.dataTable.performClickFolderOrFileToOpen(randomDocxNameFavorite);
expect(await favoritePage.viewer.isViewerOpened(), 'Viewer should be opened').toBe(true); 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(); 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.dataTable.performClickFolderOrFileToOpen(filePersonalFiles);
await personalFiles.viewer.waitForViewerToOpen('wait for viewer content'); 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(); 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.navigate();
await recentFilesPage.dataTable.performClickFolderOrFileToOpen(docxRecentFiles); await recentFilesPage.dataTable.performClickFolderOrFileToOpen(docxRecentFiles);
expect(await recentFilesPage.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); expect(await recentFilesPage.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true);

View File

@ -52,7 +52,7 @@ test.describe('viewer file', () => {
await apiClientFactory.nodes.deleteNode(folderId, { permanent: true }); 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.isDialogOpen(), 'Password dialog not open').toBe(true);
expect(await personalFiles.passwordDialog.isPasswordInputDisplayed(), 'Password input not displayed').toBe(true); expect(await personalFiles.passwordDialog.isPasswordInputDisplayed(), 'Password input not displayed').toBe(true);
await expect(personalFiles.passwordDialog.submitButton, 'Submit button not disabled').toBeVisible(); 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(); 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 personalFiles.passwordDialog.enterPassword(TEST_FILES.PDF_PROTECTED.password);
await expect(personalFiles.passwordDialog.submitButton, 'Submit button not enabled').toBeVisible(); 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); 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 personalFiles.passwordDialog.enterPassword('incorrect');
await expect(personalFiles.passwordDialog.submitButton, 'Submit button not enabled').toBeVisible(); await expect(personalFiles.passwordDialog.submitButton, 'Submit button not enabled').toBeVisible();
await personalFiles.passwordDialog.submitButton.click(); await personalFiles.passwordDialog.submitButton.click();
@ -79,7 +79,7 @@ test.describe('viewer file', () => {
expect(await personalFiles.viewer.isPdfViewerContentDisplayed(), 'file content is displayed').toBe(false); 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.passwordDialog.enterPassword(TEST_FILES.PDF_PROTECTED.password);
await personalFiles.reload({ waitUntil: 'domcontentloaded' }); await personalFiles.reload({ waitUntil: 'domcontentloaded' });
await personalFiles.viewer.waitForViewerToOpen(); await personalFiles.viewer.waitForViewerToOpen();

View File

@ -62,7 +62,7 @@ test.describe('from File Libraries', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', sitesApi, [siteName]); 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.navigate();
await myLibrariesPage.dataTable.getCellLinkByName(siteName).click(); await myLibrariesPage.dataTable.getCellLinkByName(siteName).click();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(xlsxLibraries); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(xlsxLibraries);

View File

@ -101,16 +101,18 @@ test.describe('Version actions', () => {
await viewFirstFileVersion(personalFiles); 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'); 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'); await personalFiles.viewer.waitForViewerToOpen('wait for viewer content');
expect(await personalFiles.viewer.getFileTitle()).toContain(filenameBeforeUpdate); 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()]); const [download] = await Promise.all([personalFiles.page.waitForEvent('download'), await personalFiles.viewer.downloadButton.click()]);
expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate);
}); });
@ -123,16 +125,18 @@ test.describe('Version actions', () => {
await viewFirstFileVersion(recentFilesPage); 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'); 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'); await recentFilesPage.viewer.waitForViewerToOpen('wait for viewer content');
expect(await recentFilesPage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); 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()]); const [download] = await Promise.all([recentFilesPage.page.waitForEvent('download'), await recentFilesPage.viewer.downloadButton.click()]);
expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate);
}); });
@ -145,16 +149,18 @@ test.describe('Version actions', () => {
await viewFirstFileVersion(favoritePage); 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'); 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'); await favoritePage.viewer.waitForViewerToOpen('wait for viewer content');
expect(await favoritePage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); 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()]); const [download] = await Promise.all([favoritePage.page.waitForEvent('download'), await favoritePage.viewer.downloadButton.click()]);
expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate);
}); });
@ -167,16 +173,18 @@ test.describe('Version actions', () => {
await viewFirstFileVersion(sharedPage); 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'); 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'); await sharedPage.viewer.waitForViewerToOpen('wait for viewer content');
expect(await sharedPage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); 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()]); const [download] = await Promise.all([sharedPage.page.waitForEvent('download'), await sharedPage.viewer.downloadButton.click()]);
expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate);
}); });
@ -191,16 +199,18 @@ test.describe('Version actions', () => {
await viewFirstFileVersion(searchPage); 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'); 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'); await searchPage.viewer.waitForViewerToOpen('wait for viewer content');
expect(await searchPage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); 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()]); const [download] = await Promise.all([searchPage.page.waitForEvent('download'), await searchPage.viewer.downloadButton.click()]);
expect(download.suggestedFilename()).toBe(filenameBeforeUpdate); expect(download.suggestedFilename()).toBe(filenameBeforeUpdate);
}); });

View File

@ -137,19 +137,19 @@ test.describe('viewer file', () => {
await Utils.deleteNodesSitesEmptyTrashcan(nodesApi, trashcanApi, 'afterAll failed', siteActionsAdmin, [docLibId]); 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); await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName);
expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); 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.dataTable.getRowByName(randomDocxName).click();
await personalFiles.acaHeader.viewButton.click(); await personalFiles.acaHeader.viewButton.click();
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); 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); await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName);
expect(await personalFiles.viewer.isViewerOpened()).toBe(true); expect(await personalFiles.viewer.isViewerOpened()).toBe(true);
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
@ -157,7 +157,7 @@ test.describe('viewer file', () => {
expect(await personalFiles.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); 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); await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName);
expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); expect(await personalFiles.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true);
expect(await personalFiles.viewer.getCloseButtonTooltip()).toEqual('Close'); 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(); 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); await personalFiles.dataTable.performClickFolderOrFileToOpen(randomDocxName);
expect(await personalFiles.viewer.getCloseButtonTooltip()).toEqual('Close'); expect(await personalFiles.viewer.getCloseButtonTooltip()).toEqual('Close');
await recentFilesPage.navigate(); await recentFilesPage.navigate();
@ -176,7 +176,7 @@ test.describe('viewer file', () => {
expect(await recentFilesPage.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); 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 personalFiles.acaHeader.searchButton.click();
await searchPage.clickSearchButton(); await searchPage.clickSearchButton();
await searchPage.searchOverlay.checkFilesAndFolders(); await searchPage.searchOverlay.checkFilesAndFolders();
@ -188,7 +188,7 @@ test.describe('viewer file', () => {
expect(await searchPage.viewer.isFileTitleDisplayed(), 'File title is not displayed').toBe(true); 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})`; const previewURL = `#/personal-files/${folderId}/(viewer:view/${fileDocxId})`;
await personalFiles.navigate({ remoteUrl: previewURL }); await personalFiles.navigate({ remoteUrl: previewURL });
await personalFiles.dataTable.spinnerWaitForReload(); await personalFiles.dataTable.spinnerWaitForReload();
@ -196,7 +196,7 @@ test.describe('viewer file', () => {
await expect(personalFiles.viewer.fileTitleButtonLocator).toHaveText(randomDocxName); 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.navigate();
await sharedPage.reload({ waitUntil: 'domcontentloaded' }); await sharedPage.reload({ waitUntil: 'domcontentloaded' });
await sharedPage.dataTable.goThroughPagesLookingForRowWithName(randomDocxName); 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); 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.navigate({ waitUntil: 'domcontentloaded' });
await favoritePage.dataTable.goThroughPagesLookingForRowWithName(randomDocxName); await favoritePage.dataTable.goThroughPagesLookingForRowWithName(randomDocxName);
await favoritePage.dataTable.performClickFolderOrFileToOpen(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); 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})`; const previewURL = `#/libraries/${docLibId}/(viewer:view/${fileAdminId})`;
await personalFiles.navigate({ remoteUrl: `${previewURL}` }); await personalFiles.navigate({ remoteUrl: `${previewURL}` });
await expect(personalFiles.viewer.viewerLocator, 'Viewer should not be opened!').toBeHidden(); 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.navigate();
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteUser); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(siteUser);
await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(fileInSite); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(fileInSite);