From 18a3cbcf82d1de3ff4c42cbae99e87c15970651f Mon Sep 17 00:00:00 2001 From: Akash Rathod <41251473+akashrathod28@users.noreply.github.com> Date: Wed, 22 Jul 2026 15:52:19 +0200 Subject: [PATCH] [ACS-11868] check pdf viewer e2e file (#5279) * [ACS-11868] fix for excluded test add document check * [ACS-11868] fix test check pdf and image viewer-e2e-test * [ACS-11868] fix test check pdf and image viewer-e2e-test * resolve pr review changes * text fix * review fix --- e2e/playwright/viewer/exclude.tests.json | 6 ++-- .../src/tests/viewer-version-actions.e2e.ts | 5 ++- .../src/api/file-actions.ts | 33 ++++++++++++++++--- .../components/viewer.component.ts | 9 ++--- 4 files changed, 36 insertions(+), 17 deletions(-) diff --git a/e2e/playwright/viewer/exclude.tests.json b/e2e/playwright/viewer/exclude.tests.json index 964ee9388..41f7c27e8 100644 --- a/e2e/playwright/viewer/exclude.tests.json +++ b/e2e/playwright/viewer/exclude.tests.json @@ -1,5 +1,3 @@ { - "all": { - "XAT-19377": "https://hyland.atlassian.net/browse/ACS-11868" - } -} + "all": {} +} \ No newline at end of file diff --git a/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts index 8e09db233..6496f98ab 100644 --- a/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts @@ -89,8 +89,9 @@ test.describe('Version actions', () => { fileId = (await fileActionsApi.uploadFile(filesToUpload[0].path, filenameBeforeUpdate, '-my-')).entry.id; fileAfterUpdateId = ( - await fileActionsApi.updateNodeContentFromFile(fileId, filesToUpload[1].path, true, 'new major version description', filenameAfterUpdate) + await fileActionsApi.uploadNewVersionFile(fileId, filesToUpload[1].path, filenameAfterUpdate, true, 'new major version description') ).entry.id; + await fileActionsApi.waitForNodes(filenameAfterUpdate, { expect: 1 }); await favoritesApi.addFavoritesByIds('file', [fileId]); await favoritesApi.waitForApi(username, { expect: 1 }); @@ -132,6 +133,8 @@ test.describe('Version actions', () => { test('[XAT-19377] Can view previous version of a document after a viewer is opened from Manage Versions dialog', async ({ personalFiles }) => { await personalFiles.viewer.waitForViewerToOpen(); + await personalFiles.viewer.waitForViewerContentToRender('document'); + await personalFiles.viewer.toolbar.clickViewerMoreActions(); await personalFiles.matMenu.clickMenuItem('Manage Versions'); await personalFiles.manageVersionsDialog.clickListActionButtonForVersion('2.0'); diff --git a/projects/aca-playwright-shared/src/api/file-actions.ts b/projects/aca-playwright-shared/src/api/file-actions.ts index 6675bbae8..5680412a7 100644 --- a/projects/aca-playwright-shared/src/api/file-actions.ts +++ b/projects/aca-playwright-shared/src/api/file-actions.ts @@ -69,6 +69,34 @@ export class FileActionsApi { } } + async uploadNewVersionFile(nodeId: string, fileLocation: string, newFileName: string, majorVersion = true, comment = ''): Promise { + try { + const existingNode = await this.apiService.nodes.getNode(nodeId); + const parentId = existingNode.entry.parentId; + + if (newFileName !== existingNode.entry.name) { + await this.apiService.nodes.updateNode(nodeId, { name: newFileName }); + } + + const file = await toUploadFile(fileLocation); + await this.apiService.upload.uploadFile(file, '', parentId, undefined, { + name: newFileName, + nodeType: 'cm:content', + renditions: 'doclib', + overwrite: true, + majorVersion, + comment + }); + + logger.info(`New version uploaded successfully for node ${nodeId}: ${newFileName}`); + return await this.apiService.nodes.getNode(nodeId); + } catch (error) { + const errorMessage = error instanceof Error ? (error.stack ?? error.message) : JSON.stringify(error); + logger.error(`Failed to upload new version for node ${nodeId}: ${errorMessage}`); + return Promise.reject(error); + } + } + async uploadFileWithRename( fileLocation: string, newName: string, @@ -262,9 +290,4 @@ export class FileActionsApi { return Promise.reject(error); } } - - async updateNodeContentFromFile(nodeId: string, fileLocation: string, majorVersion = true, comment?: string, newName?: string): Promise { - const fileContent = await fs.promises.readFile(fileLocation); - return this.updateNodeContent(nodeId, fileContent, majorVersion, comment, newName); - } } diff --git a/projects/aca-playwright-shared/src/page-objects/components/viewer.component.ts b/projects/aca-playwright-shared/src/page-objects/components/viewer.component.ts index 7ad148e9e..a5f494533 100644 --- a/projects/aca-playwright-shared/src/page-objects/components/viewer.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/viewer.component.ts @@ -154,13 +154,8 @@ export class ViewerComponent extends BaseComponent { const toRemove = ['Close', 'Previous File', 'Next File', 'View details']; const removeClosePreviousNextOldInfo = (actions: string[]): string[] => actions.filter((elem) => !toRemove.includes(elem)); - const buttons = await this.page.$$('adf-viewer button'); - let actualPrimaryActions: string[] = await Promise.all( - buttons.map(async (button) => { - const title = await button.getAttribute('title'); - return title || ''; - }) - ); + const buttons = await this.page.locator('adf-viewer button').all(); + let actualPrimaryActions: string[] = await Promise.all(buttons.map(async (button) => (await button.getAttribute('title')) ?? '')); actualPrimaryActions = removeClosePreviousNextOldInfo(actualPrimaryActions);