From f01d6e161bf766bb7753df33d02bfd560ae7fcfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=9Awiderski?= Date: Tue, 4 Feb 2025 11:35:17 +0100 Subject: [PATCH] [ACS-9154] Fix unstable tests in ACA after migration to local ACS (#4341) * [ACS-9154] enable flaky tests for debugging * [ACS-9154] added artifacts * [ACS-9154] Added wait for viewer spinner to load + excluded one test * [ACS-9154] Final tests stabilization (for this pr) * [ACS-9154] Excluded XAT-5304 * [ACS-9154] exclude C277736 updated --- .../edit-actions/exclude.tests.json | 2 +- .../src/tests/file-folder-properties.e2e.ts | 6 +++++ .../src/tests/library-properties.e2e.ts | 25 +++++++++++++++++-- e2e/playwright/list-views/exclude.tests.json | 3 +-- e2e/playwright/search/exclude.tests.json | 2 +- e2e/playwright/viewer/exclude.tests.json | 3 +-- .../viewer/src/tests/viewer-action.e2e.ts | 2 +- .../dialogs/content-node-selector-dialog.ts | 2 +- .../dialogs/link-rules.component.ts | 2 +- .../manageRules/manage-rules.component.ts | 2 +- 10 files changed, 37 insertions(+), 12 deletions(-) diff --git a/e2e/playwright/edit-actions/exclude.tests.json b/e2e/playwright/edit-actions/exclude.tests.json index daf8ad8cf..851e01bfa 100644 --- a/e2e/playwright/edit-actions/exclude.tests.json +++ b/e2e/playwright/edit-actions/exclude.tests.json @@ -1,3 +1,3 @@ { - "XAT-5304": "https://hyland.atlassian.net/browse/ACS-9154" + "XAT-5304": "https://hyland.atlassian.net/browse/ACS-9187" } diff --git a/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts b/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts index 8ccd08df8..47b4ab5c1 100755 --- a/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts +++ b/e2e/playwright/info-drawer/src/tests/file-folder-properties.e2e.ts @@ -179,6 +179,12 @@ test.describe('Info Drawer - File Folder Properties', () => { test('[XAT-17240] Remove a tag from a node', async ({ personalFiles }) => { await fileActionsApi.waitForNodes(Folder17240, { expect: 1 }); await tagsApi.assignTagToNode(Folder17240Id, tagBody); + await expect(async () => { + expect((await tagsApi.listTagsForNode(Folder17240Id)).list.entries.length).toEqual(1); + }).toPass({ + intervals: [1_000], + timeout: 10_000 + }); await personalFiles.navigate(); await Utils.reloadPageIfRowNotVisible(personalFiles, Folder17240); await expect(personalFiles.dataTable.getRowByName(Folder17240)).toBeVisible(); diff --git a/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts b/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts index 54dfbf56a..4100add6c 100644 --- a/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts +++ b/e2e/playwright/info-drawer/src/tests/library-properties.e2e.ts @@ -25,22 +25,35 @@ import { expect } from '@playwright/test'; import { ApiClientFactory, Utils, test, SitesApi, QueriesApi, SITE_VISIBILITY, SITE_ROLES } from '@alfresco/aca-playwright-shared'; +async function expectSiteToBeDefined(siteName: string, queriesApi: QueriesApi) { + await expect(async () => { + expect(await queriesApi.waitForSites(siteName, { expect: 1 })).toEqual(1); + }).toPass({ + intervals: [1_000], + timeout: 10_000 + }); +} + test.describe('Library properties', () => { let sitesApi: SitesApi; + let queriesApi: QueriesApi; const username = `user1-${Utils.random()}`; + const site = { name: `site1-${Utils.random()}`, id: `site-id-${Utils.random()}`, visibility: SITE_VISIBILITY.MODERATED, description: 'my site description' }; + const siteForUpdate = { name: `site2-${Utils.random()}`, id: `site-id-${Utils.random()}`, visibility: SITE_VISIBILITY.MODERATED, description: 'my initial description' }; + const siteDup = `site3-${Utils.random()}`; test.beforeAll(async () => { @@ -50,6 +63,7 @@ test.describe('Library properties', () => { await apiClientFactory.createUser({ username }); sitesApi = await SitesApi.initialize(username, username); + queriesApi = await QueriesApi.initialize(username, username); await sitesApi.createSite(site.name, site.visibility, site.description, site.id); await sitesApi.createSite(siteForUpdate.name, siteForUpdate.visibility, siteForUpdate.description, siteForUpdate.id); await sitesApi.createSite(siteDup); @@ -68,6 +82,7 @@ test.describe('Library properties', () => { }); test('[C289336] Info drawer opens for a library', async ({ myLibrariesPage }) => { + await expectSiteToBeDefined(site.name, queriesApi); await expect(myLibrariesPage.dataTable.getRowByName(site.name)).toBeVisible(); await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.acaHeader.viewDetails.click(); @@ -88,6 +103,7 @@ test.describe('Library properties', () => { }); test('[C289338] Editable properties', async ({ myLibrariesPage }) => { + await expectSiteToBeDefined(site.name, queriesApi); await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.acaHeader.viewDetails.click(); await expect(myLibrariesPage.libraryDetails.infoDrawerPanel).toBeVisible(); @@ -110,6 +126,7 @@ test.describe('Library properties', () => { visibility: SITE_VISIBILITY.PRIVATE, description: 'new description' }; + await expectSiteToBeDefined(siteForUpdate.name, queriesApi); await myLibrariesPage.dataTable.getRowByName(siteForUpdate.name).click(); await myLibrariesPage.acaHeader.viewDetails.click(); @@ -133,6 +150,7 @@ test.describe('Library properties', () => { }); test('[C289340] Cancel editing a site', async ({ myLibrariesPage }) => { + await expectSiteToBeDefined(site.name, queriesApi); const newName = `new-name-${Utils.random}`; const newDesc = `new desc ${Utils.random}`; @@ -155,9 +173,8 @@ test.describe('Library properties', () => { }); test('[C289341] Warning appears when editing the name of the library by entering an existing name', async ({ myLibrariesPage }) => { - const queriesApi = await QueriesApi.initialize(username, username); + await expectSiteToBeDefined(siteDup, queriesApi); - await queriesApi.waitForSites(site.name, { expect: 1 }); await myLibrariesPage.dataTable.getRowByName(siteDup).click(); await myLibrariesPage.acaHeader.viewDetails.click(); await expect(myLibrariesPage.libraryDetails.infoDrawerPanel).toBeVisible(); @@ -170,6 +187,8 @@ test.describe('Library properties', () => { }); test('[C289342] Site name too long', async ({ myLibrariesPage }) => { + await expectSiteToBeDefined(site.name, queriesApi); + await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.acaHeader.viewDetails.click(); await expect(myLibrariesPage.libraryDetails.infoDrawerPanel).toBeVisible(); @@ -182,6 +201,8 @@ test.describe('Library properties', () => { }); test('[C289343] Site description too long', async ({ myLibrariesPage }) => { + await expectSiteToBeDefined(site.name, queriesApi); + await Utils.reloadPageIfRowNotVisible(myLibrariesPage, site.name); await myLibrariesPage.dataTable.getRowByName(site.name).click(); await myLibrariesPage.acaHeader.viewDetails.click(); diff --git a/e2e/playwright/list-views/exclude.tests.json b/e2e/playwright/list-views/exclude.tests.json index 1904f02da..337469aaa 100644 --- a/e2e/playwright/list-views/exclude.tests.json +++ b/e2e/playwright/list-views/exclude.tests.json @@ -1,4 +1,3 @@ { - "C261153": "https://alfresco.atlassian.net/browse/AAE-7517", - "C589205": "https://hyland.atlassian.net/browse/ACS-9154" + "C261153": "https://alfresco.atlassian.net/browse/AAE-7517" } diff --git a/e2e/playwright/search/exclude.tests.json b/e2e/playwright/search/exclude.tests.json index 7f72bcb98..ab7740633 100644 --- a/e2e/playwright/search/exclude.tests.json +++ b/e2e/playwright/search/exclude.tests.json @@ -3,5 +3,5 @@ "C290018": "https://hyland.atlassian.net/browse/ACS-6928", "C699046-3": "https://hyland.atlassian.net/browse/ACS-7464", "C699498": "https://hyland.atlassian.net/browse/ACS-7682", - "C277736": "https://hyland.atlassian.net/browse/ACS-9154" + "C277736": "https://hyland.atlassian.net/browse/ACS-9192" } diff --git a/e2e/playwright/viewer/exclude.tests.json b/e2e/playwright/viewer/exclude.tests.json index d87b45de1..9147f5c5b 100644 --- a/e2e/playwright/viewer/exclude.tests.json +++ b/e2e/playwright/viewer/exclude.tests.json @@ -2,6 +2,5 @@ "XAT-17181": "https://hyland.atlassian.net/browse/ACS-8865", "XAT-17182": "https://hyland.atlassian.net/browse/ACS-8865", "XAT-17184": "https://hyland.atlassian.net/browse/ACS-8865", - "XAT-17185": "https://hyland.atlassian.net/browse/ACS-8865", - "MNT-21058": "https://hyland.atlassian.net/browse/ACS-9154" + "XAT-17185": "https://hyland.atlassian.net/browse/ACS-8865" } diff --git a/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts index de1103aa9..b910b10d8 100644 --- a/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-action.e2e.ts @@ -200,7 +200,7 @@ test.describe('viewer action file', () => { test('[MNT-21058] Upload new version action when node is locked', async ({ personalFiles }) => { await personalFiles.dataTable.performClickFolderOrFileToOpen(fileForUploadNewVersion2); - await personalFiles.viewer.waitForViewerToOpen(); + await personalFiles.viewer.waitForViewerToOpen('wait for viewer content'); await Utils.uploadFileNewVersion(personalFiles, docxFile); diff --git a/projects/aca-playwright-shared/src/page-objects/components/dialogs/content-node-selector-dialog.ts b/projects/aca-playwright-shared/src/page-objects/components/dialogs/content-node-selector-dialog.ts index bee8eea39..878df366e 100755 --- a/projects/aca-playwright-shared/src/page-objects/components/dialogs/content-node-selector-dialog.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/dialogs/content-node-selector-dialog.ts @@ -69,7 +69,7 @@ export class ContentNodeSelectorDialog extends BaseComponent { await row.click(); await expect(this.selectedRow).toBeVisible(); }).toPass({ - intervals: [2_000, 2_000, 2_000, 2_000, 2_000, 2_000, 2_000], + intervals: [2_000], timeout: 20_000 }); } diff --git a/projects/aca-playwright-shared/src/page-objects/components/dialogs/link-rules.component.ts b/projects/aca-playwright-shared/src/page-objects/components/dialogs/link-rules.component.ts index 89f878fd3..e91d07fc6 100755 --- a/projects/aca-playwright-shared/src/page-objects/components/dialogs/link-rules.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/dialogs/link-rules.component.ts @@ -54,7 +54,7 @@ export class LinkRulesDialog extends BaseComponent { await row.click(); await expect(this.selectFolderButton).toBeEnabled(); }).toPass({ - intervals: [2_000, 2_000, 2_000, 2_000, 2_000, 2_000, 2_000], + intervals: [2_000], timeout: 20_000 }); } diff --git a/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules.component.ts b/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules.component.ts index 8e862fae3..80d60ecbd 100644 --- a/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/manageRules/manage-rules.component.ts @@ -70,7 +70,7 @@ export class ManageRules extends BaseComponent { await this.ruleToggle.click(); await expect(this.ruleToggleFalse).toBeVisible(); }).toPass({ - intervals: [2_000, 2_000, 2_000, 2_000, 2_000, 2_000, 2_000], + intervals: [2_000], timeout: 20_000 }); }