diff --git a/e2e/playwright/create-actions/exclude.tests.json b/e2e/playwright/create-actions/exclude.tests.json index 9e185a1ed..7507194dc 100644 --- a/e2e/playwright/create-actions/exclude.tests.json +++ b/e2e/playwright/create-actions/exclude.tests.json @@ -1,5 +1,3 @@ { - "all": { - "XAT-5127": "https://hyland.atlassian.net/browse/ACS-10952" - } + "all": {} } diff --git a/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts b/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts index 6359c52c2..c9b2f796d 100644 --- a/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts +++ b/e2e/playwright/create-actions/src/tests/create-file-from-template.e2e.ts @@ -317,7 +317,7 @@ test.describe('Create file from template', () => { const snackBar = personalFiles.snackBar; await createFileFromTemplateDialog.createFromTemplateAction(commonFileName); - await expect(snackBar.getByMessageLocator(errorStrings.nameAlreadyUsedError)).toBeVisible(); + expect(await snackBar.getSnackBarMessage()).toContain(errorStrings.nameAlreadyUsedError); await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); }); @@ -414,7 +414,7 @@ test.describe('Create file from template', () => { const snackBar = myLibrariesPage.snackBar; await createFileFromTemplateDialog.createFromTemplateAction(commonFileName); - await expect(snackBar.getByMessageLocator(errorStrings.nameAlreadyUsedError)).toBeVisible(); + expect(await snackBar.getSnackBarMessage()).toContain(errorStrings.nameAlreadyUsedError); await expect(createFileFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); }); }); diff --git a/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts b/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts index cbe8d2d0d..67632d1d5 100644 --- a/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts +++ b/e2e/playwright/create-actions/src/tests/create-folder-from-template.e2e.ts @@ -344,7 +344,7 @@ test.describe('Create folder from template', () => { const snackBar = personalFiles.snackBar; await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName); - await expect(snackBar.getByMessageLocator(errorStrings.nameAlreadyUsedError)).toBeVisible(); + expect(await snackBar.getSnackBarMessage()).toContain(errorStrings.nameAlreadyUsedError); await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); }); @@ -460,7 +460,7 @@ test.describe('Create folder from template', () => { const snackBar = myLibrariesPage.snackBar; await createFolderFromTemplateDialog.createFromTemplateAction(commonFolderName); - await expect(snackBar.getByMessageLocator(errorStrings.nameAlreadyUsedError)).toBeVisible(); + expect(await snackBar.getSnackBarMessage()).toContain(errorStrings.nameAlreadyUsedError); await expect(createFolderFromTemplateDialog.getDialogTitle(createDialogTitle)).toBeVisible(); }); }); diff --git a/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts b/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts index a38a880a1..1bd7f7f2c 100644 --- a/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts +++ b/e2e/playwright/create-actions/src/tests/create-folder.e2e.ts @@ -138,7 +138,7 @@ test.describe('Create folders', () => { await folderDialog.createNewFolderDialog(commonFolderName); - await expect(folderSnackBar.getByMessageLocator(errorStrings.thereIsAlreadyAFolderWithThisName)).toBeVisible(); + expect(await folderSnackBar.getSnackBarMessage()).toContain(errorStrings.thereIsAlreadyAFolderWithThisName); }); test.describe('On Personal Files dataTable', () => { @@ -167,7 +167,7 @@ test.describe('Create folders', () => { test('[XAT-17591] Duplicate folder name - can create folder with a new name', async ({ personalFiles }) => { const folderSnackBar = personalFiles.snackBar; await folderDialog.createNewFolderDialog(commonFolderName); - await expect(folderSnackBar.getByMessageLocator(errorStrings.thereIsAlreadyAFolderWithThisName)).toBeVisible(); + expect(await folderSnackBar.getSnackBarMessage()).toContain(errorStrings.thereIsAlreadyAFolderWithThisName); await folderDialog.createNewFolderDialog(newFolderName); await expect(folderTable.getRowByName(newFolderName)).toBeVisible(); }); diff --git a/e2e/playwright/delete-actions/src/tests/restore.e2e.ts b/e2e/playwright/delete-actions/src/tests/restore.e2e.ts index 3d2a49220..a1f3550fd 100755 --- a/e2e/playwright/delete-actions/src/tests/restore.e2e.ts +++ b/e2e/playwright/delete-actions/src/tests/restore.e2e.ts @@ -113,8 +113,7 @@ test.describe('Restore from Trash', () => { await trashPage.dataTable.selectItems(file2, folder2); await trashPage.acaHeader.restoreButton.click(); await trashPage.snackBar.verifySnackBarActionText(`Restore successful`); - const action = await trashPage.snackBar.getSnackBarActionText(); - expect(action).not.toContain('View'); + await trashPage.navigate(); expect(await trashPage.dataTable.isItemPresent(file2)).toBe(false); expect(await trashPage.dataTable.isItemPresent(folder2)).toBe(false); await personalFiles.navigate(); diff --git a/e2e/playwright/folder-rules/exclude.tests.json b/e2e/playwright/folder-rules/exclude.tests.json index dce1031ad..ff5bb6889 100644 --- a/e2e/playwright/folder-rules/exclude.tests.json +++ b/e2e/playwright/folder-rules/exclude.tests.json @@ -1,8 +1,5 @@ { - "all": { - "XAT-897": "https://hyland.atlassian.net/browse/ACS-5503", - "XAT-907": "https://hyland.atlassian.net/browse/ACS-10486" - }, + "all": {}, "webkit": { "XAT-888": "https://hyland.atlassian.net/browse/ACS-10917" } diff --git a/e2e/playwright/folder-rules/src/tests/update-rules.e2e.ts b/e2e/playwright/folder-rules/src/tests/update-rules.e2e.ts index 4245c7310..c7d5fd374 100644 --- a/e2e/playwright/folder-rules/src/tests/update-rules.e2e.ts +++ b/e2e/playwright/folder-rules/src/tests/update-rules.e2e.ts @@ -35,6 +35,7 @@ test.describe('Rules - Manage Rules', () => { const username = `user-e2e-${Utils.random()}`; const folderName897_1 = `folder-XAT-897-1-${Utils.random()}`; const folderName897_2 = `folder-XAT-897-2-${Utils.random()}`; + const folderName897_3 = `folder-XAT-897-3-${Utils.random()}`; const folderName898 = `folder-XAT-898-${Utils.random()}`; const folderName899 = `folder-XAT-899-${Utils.random()}`; const folderName900 = `folder-XAT-900-${Utils.random()}`; @@ -72,6 +73,7 @@ test.describe('Rules - Manage Rules', () => { await apiClientFactory.setUpAcaBackend(username, username); folderName897Id1 = (await nodesApi.createFolder(folderName897_1)).entry.id; folderName897Id2 = (await nodesApi.createFolder(folderName897_2)).entry.id; + await nodesApi.createFolder(folderName897_3, folderName897Id1); folderId898 = (await nodesApi.createFolder(folderName898)).entry.id; folderId899 = (await nodesApi.createFolder(folderName899)).entry.id; folderId900 = (await nodesApi.createFolder(folderName900)).entry.id; @@ -101,9 +103,16 @@ test.describe('Rules - Manage Rules', () => { test('[XAT-897] Update a rule which has an error in its action', async ({ personalFiles, nodesPage }) => { await personalFiles.dataTable.performActionFromExpandableMenu(folderName897_1, 'Manage rules'); - await nodesPage.manageRules.turnOffRuleToggle(); + await nodesPage.manageRules.turnOffRuleToggle('skip expect'); + expect(await personalFiles.snackBar.getSnackBarMessage()).toContain('no longer exists'); await nodesPage.manageRules.ruleDetailsEditButton.click(); - await expect(nodesPage.manageRulesDialog.ruleDisableCheckbox).toBeChecked(); + await nodesPage.manageRulesDialog.destinationFolderButton.click(); + await nodesPage.contentNodeSelectorDialog.selectDestination(folderName897_3); + await nodesPage.contentNodeSelectorDialog.actionButton.click(); + const waitForRuleSets = Utils.waitForApiResponse(personalFiles, 'rule-sets', 200); + await nodesPage.manageRulesDialog.createRuleButton.click(); + await Promise.all([waitForRuleSets, nodesPage.manageRules.turnOffRuleToggle()]); + await expect(nodesPage.manageRules.ruleToggleFalse).toBeVisible(); }); test('[XAT-898] Cancel updating rule dialog', async ({ personalFiles, nodesPage }) => { diff --git a/e2e/playwright/info-drawer/exclude.tests.json b/e2e/playwright/info-drawer/exclude.tests.json index 5d8e8b41d..b9f378aba 100644 --- a/e2e/playwright/info-drawer/exclude.tests.json +++ b/e2e/playwright/info-drawer/exclude.tests.json @@ -1,6 +1,3 @@ { - "all": { - "XAT-5523": "https://hyland.atlassian.net/browse/ACA-4697", - "XAT-5516": "https://hyland.atlassian.net/browse/ACS-9889" - } + "all": {} } diff --git a/e2e/playwright/info-drawer/src/tests/comments.e2e.ts b/e2e/playwright/info-drawer/src/tests/comments.e2e.ts index 0dc7d6fdd..e8735a109 100755 --- a/e2e/playwright/info-drawer/src/tests/comments.e2e.ts +++ b/e2e/playwright/info-drawer/src/tests/comments.e2e.ts @@ -32,8 +32,7 @@ import { NodesApi, FileActionsApi, SitesApi, - MyLibrariesPage, - timeouts + MyLibrariesPage } from '@alfresco/aca-playwright-shared'; import { Site } from '@alfresco/js-api'; @@ -95,6 +94,7 @@ test.describe('Info Drawer - Comments', () => { await expect(favoritePage.infoDrawer.commentInputField).toBeVisible(); await favoritePage.infoDrawer.addCommentToNode(commentText); await expect(favoritePage.infoDrawer.addCommentButton).toBeDisabled(); + await favoritePage.infoDrawer.waitForComments(); expect(await favoritePage.infoDrawer.getCommentsCountFromList()).toEqual(1); }); @@ -131,6 +131,7 @@ test.describe('Info Drawer - Comments', () => { await expect(recentFilesPage.infoDrawer.commentInputField).toBeVisible(); await recentFilesPage.infoDrawer.addCommentToNode(commentText); await expect(recentFilesPage.infoDrawer.addCommentButton).toBeDisabled(); + await recentFilesPage.infoDrawer.waitForComments(); expect(await recentFilesPage.infoDrawer.getCommentsCountFromList()).toEqual(1); }); @@ -160,11 +161,8 @@ test.describe('Info Drawer - Comments - Sites Privileges', () => { let fileActionsApi1: FileActionsApi; let sitesApi1: SitesApi; let siteEntry5522: Site; - let siteEntry5523: Site; const siteName5522 = `site-e2e-${Utils.random()}`; - const siteName5523 = `site-e2e-${Utils.random()}`; const folderName5522 = `folder-e2e-${Utils.random()}`; - const folderName5523 = `folder-e2e-${Utils.random()}`; const username1 = `user-e2e-${Utils.random()}`; const username2 = `user-e2e-${Utils.random()}`; @@ -189,16 +187,9 @@ test.describe('Info Drawer - Comments - Sites Privileges', () => { siteEntry5522 = (await sitesApi1.createSite(siteName5522, Site.VisibilityEnum.PRIVATE)).entry; await sitesApi1.addSiteMember(siteEntry5522.id, username2, 'SiteConsumer'); - siteEntry5523 = (await sitesApi1.createSite(siteName5523, Site.VisibilityEnum.PRIVATE)).entry; - await sitesApi1.addSiteMember(siteEntry5523.id, username2, 'SiteContributor'); - const documentLibraryId1 = await nodesApi1.getNodeIdFromParent('documentLibrary', siteEntry5522.guid); await nodesApi1.createFolder(folderName5522, documentLibraryId1); await fileActionsApi1.waitForNodes(folderName5522, { expect: 1 }); - - const documentLibraryId2 = await nodesApi1.getNodeIdFromParent('documentLibrary', siteEntry5523.guid); - await nodesApi1.createFolder(folderName5523, documentLibraryId2); - await fileActionsApi1.waitForNodes(folderName5523, { expect: 1 }); } catch (error) { console.error(`beforeAll failed : ${error}`); } @@ -218,15 +209,4 @@ test.describe('Info Drawer - Comments - Sites Privileges', () => { await expect(myLibrariesPage.infoDrawer.commentInputField).toBeHidden(); await expect(myLibrariesPage.infoDrawer.addCommentButton).toBeHidden(); }); - - test('[XAT-5523] Contributor can add comments', async ({ myLibrariesPage }) => { - await navigateToFolderAndOpenCommentsTab(myLibrariesPage, siteEntry5523.guid, folderName5523); - await expect(myLibrariesPage.infoDrawer.commentsHeader).toBeVisible(); - await expect(myLibrariesPage.infoDrawer.commentInputField).toBeVisible(); - await expect(myLibrariesPage.infoDrawer.addCommentButton).toBeVisible(); - await myLibrariesPage.infoDrawer.commentInputField.fill(`e2e-comment-${Utils.random()}`); - await myLibrariesPage.infoDrawer.addCommentButton.click(); - await myLibrariesPage.infoDrawer.commentsList.first().waitFor({ timeout: timeouts.medium }); - await expect(myLibrariesPage.infoDrawer.commentsList).toHaveCount(1); - }); }); diff --git a/e2e/playwright/library-actions/exclude.tests.json b/e2e/playwright/library-actions/exclude.tests.json index 9c69aa24b..7507194dc 100644 --- a/e2e/playwright/library-actions/exclude.tests.json +++ b/e2e/playwright/library-actions/exclude.tests.json @@ -1,6 +1,3 @@ { - "all": { - "XAT-5139": "https://hyland.atlassian.net/browse/ACS-11573", - "XAT-5138": "https://hyland.atlassian.net/browse/ACS-11573" - } + "all": {} } diff --git a/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts b/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts index 2fcf410ae..36fa6522e 100644 --- a/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts +++ b/e2e/playwright/library-actions/src/tests/library-actions.e2e.ts @@ -48,7 +48,7 @@ test.describe('Library actions ', () => { const libraryJoinedMessage = 'Library joined'; const requestToJoinMessage = 'Request sent to join this library'; const cancelJoinRequestButton = 'Cancel Join Request'; - const cancelJoinRequestMessage = 'Canceled the request to join the library'; + const cancelJoinRequestMessage = 'Cancelled the request to join the library'; const leaveLibraryButton = 'Leave Library'; const leftMessage = 'You have left the library'; const favoriteButton = 'Favorite'; @@ -183,7 +183,7 @@ test.describe('Library actions ', () => { await expect.soft(confirmDialog.okButton).toBeVisible(); await expect.soft(confirmDialog.cancelButton).toBeVisible(); await confirmDialog.okButton.click(); - await expect.soft(snackBar.getByMessageLocator(leftMessage)).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain(leftMessage); await expect(libraryTable.getRowByName(user1Library1)).toBeHidden(); }); @@ -198,7 +198,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user2Library1, managerRole)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(user2Library1, leaveLibraryButton); await confirmDialog.okButton.click(); - await expect.soft(snackBar.getByMessageLocator('Cannot leave this library')).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain('Cannot leave this library'); await expect(libraryTable.getCellByColumnNameAndRowItem(user2Library1, managerRole)).toBeVisible(); }); @@ -228,7 +228,7 @@ test.describe('Library actions ', () => { await libraryTable.getRowByName(user2Library5Delete).click(); await myLibrariesHeader.clickMoreActions(); await libraryMenu.clickMenuItem(deleteButton); - await expect.soft(snackBar.getByMessageLocator(libraryDeletedMessage)).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain(libraryDeletedMessage); await expect(libraryTable.getRowByName(user2Library5Delete)).toBeHidden(); await trashPage.navigate({ waitUntil: loadString }); await expect(trashTable.getRowByName(user2Library5Delete)).toBeVisible(); @@ -254,7 +254,7 @@ test.describe('Library actions ', () => { await favoritesApi.addFavoriteById(siteString, adminLibrary1); await favoriteLibrariesPage.navigate(); await libraryTable.performActionFromExpandableMenu(adminLibrary1, joinButton); - await expect.soft(snackBar.getByMessageLocator(libraryJoinedMessage)).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain(libraryJoinedMessage); await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary1, consumerRole)).toBeVisible(); }); @@ -263,7 +263,7 @@ test.describe('Library actions ', () => { await favoriteLibrariesPage.navigate(); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary1, notMemberString)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(adminModerateLibrary1, joinButton); - await expect.soft(snackBar.getByMessageLocator(requestToJoinMessage)).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain(requestToJoinMessage); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary1, notMemberString)).toBeVisible(); await adminSitesApi.approveSiteMembershipRequest(adminModerateLibrary1, username2); await favoriteLibrariesPage.page.reload({ waitUntil: 'load' }); @@ -277,7 +277,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library2, contributorRole)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(user1Library2, leaveLibraryButton); await confirmDialog.okButton.click(); - await expect.soft(snackBar.getByMessageLocator(leftMessage)).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain(leftMessage); await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library2, notMemberString)).toBeVisible(); }); @@ -288,7 +288,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary3, notMemberString)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(adminModerateLibrary3, cancelJoinRequestButton); - await expect.soft(snackBar.getByMessageLocator(cancelJoinRequestMessage)).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain(cancelJoinRequestMessage); const hasJoinRequest = await user2SitesApi.hasMembershipRequest(username2, adminModerateLibrary3); expect(hasJoinRequest).toBe(false); }); @@ -315,7 +315,7 @@ test.describe('Library actions ', () => { await libraryTable.getRowByName(user2Library6Delete).click(); await myLibrariesHeader.clickMoreActions(); await libraryMenu.clickMenuItem(deleteButton); - await expect.soft(snackBar.getByMessageLocator(libraryDeletedMessage)).toBeVisible(); + expect.soft(await snackBar.getSnackBarMessage()).toContain(libraryDeletedMessage); await expect(libraryTable.getRowByName(user2Library6Delete)).toBeHidden(); await trashPage.navigate({ waitUntil: loadString }); await expect(trashTable.getRowByName(user2Library6Delete)).toBeVisible(); @@ -324,12 +324,10 @@ test.describe('Library actions ', () => { test.describe('Search Page', () => { let libraryTable: DataTableComponent; - let snackBar: SnackBarComponent; test.beforeEach(async ({ searchPage }) => { try { libraryTable = searchPage.dataTable; - snackBar = searchPage.snackBar; } catch (error) { console.error(`Search Page, beforeEach failed : ${error}`); } @@ -340,7 +338,7 @@ test.describe('Library actions ', () => { await searchPage.reload({ waitUntil: loadString }); await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary2, notMemberString)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(adminLibrary2, joinButton); - await expect.soft(snackBar.getByMessageLocator(libraryJoinedMessage)).toBeVisible(); + expect.soft(await searchPage.snackBar.getSnackBarMessage()).toContain(libraryJoinedMessage); await expect(libraryTable.getCellByColumnNameAndRowItem(adminLibrary2, consumerRole)).toBeVisible(); }); @@ -348,7 +346,7 @@ test.describe('Library actions ', () => { await searchPage.searchWithin(adminModerateLibrary2, 'libraries'); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary2, notMemberString)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(adminModerateLibrary2, joinButton); - await expect.soft(snackBar.getByMessageLocator(requestToJoinMessage)).toBeVisible(); + expect.soft(await searchPage.snackBar.getSnackBarMessage()).toContain(requestToJoinMessage); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary2, notMemberString)).toBeVisible(); await adminSitesApi.approveSiteMembershipRequest(adminModerateLibrary2, username2); await myLibrariesPage.navigate(); @@ -362,7 +360,7 @@ test.describe('Library actions ', () => { await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library3, 'Collaborator')).toBeVisible(); await libraryTable.performActionFromExpandableMenu(user1Library3, leaveLibraryButton); await confirmDialog.okButton.click(); - await expect.soft(snackBar.getByMessageLocator(leftMessage)).toBeVisible(); + expect.soft(await searchPage.snackBar.getSnackBarMessage()).toContain(leftMessage); await expect(libraryTable.getCellByColumnNameAndRowItem(user1Library3, notMemberString)).toBeVisible(); }); @@ -371,9 +369,8 @@ test.describe('Library actions ', () => { await searchPage.searchWithin(adminModerateLibrary4, 'libraries'); await expect(libraryTable.getCellByColumnNameAndRowItem(adminModerateLibrary4, notMemberString)).toBeVisible(); await libraryTable.performActionFromExpandableMenu(adminModerateLibrary4, cancelJoinRequestButton); - await expect.soft(snackBar.getByMessageLocator(cancelJoinRequestMessage)).toBeVisible(); - const hasJoinRequest = await user2SitesApi.hasMembershipRequest(username2, adminModerateLibrary4); - expect(hasJoinRequest).toBe(false); + expect.soft(await searchPage.snackBar.getSnackBarMessage()).toContain(cancelJoinRequestMessage); + expect(await user2SitesApi.hasMembershipRequest(username2, adminModerateLibrary4)).toBe(false); }); test('[XAT-5141] Mark a library as favorite - from Search Results', async ({ myLibrariesPage, searchPage }) => { @@ -415,7 +412,7 @@ test.describe('Library actions ', () => { await libraryTable.getRowByName(user2Library7Delete).click(); await searchHeader.clickMoreActions(); await libraryMenu.clickMenuItem(deleteButton); - await expect.soft(snackBar.getByMessageLocator(libraryDeletedMessage)).toBeVisible(); + expect.soft(await searchPage.snackBar.getSnackBarMessage()).toContain(libraryDeletedMessage); await expect(libraryTable.getRowByName(user2Library7Delete)).toBeHidden(); await trashPage.navigate({ waitUntil: loadString }); await expect(trashTable.getRowByName(user2Library7Delete)).toBeVisible(); diff --git a/e2e/playwright/list-views/exclude.tests.json b/e2e/playwright/list-views/exclude.tests.json index 62075801b..6aa938745 100644 --- a/e2e/playwright/list-views/exclude.tests.json +++ b/e2e/playwright/list-views/exclude.tests.json @@ -1,7 +1,6 @@ { "all": { - "XAT-4525": "https://hyland.atlassian.net/browse/ACS-9741", - "XAT-4420": "https://hyland.atlassian.net/browse/ACS-10952" + "XAT-4525": "https://hyland.atlassian.net/browse/ACS-9741" }, "firefox": { "XAT-4455": "https://hyland.atlassian.net/browse/ACS-10917" diff --git a/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts b/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts index c1f69d8e0..4886d1457 100755 --- a/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts +++ b/e2e/playwright/list-views/src/tests/file-libraries.e2e.ts @@ -57,7 +57,7 @@ test.describe('File Libraries', () => { const siteDescription = 'my site description'; await siteActionsUser.createSite(userSitePublic, Site.VisibilityEnum.PUBLIC); await siteActionsUser.createSite(userSiteModerated, Site.VisibilityEnum.MODERATED, siteDescription); - await siteActionsUser.createSite(userSitePrivate, Site.VisibilityEnum.PRIVATE, null); + await siteActionsUser.createSite(userSitePrivate, Site.VisibilityEnum.PRIVATE); await siteActionsAdmin.createSite(adminSite1, Site.VisibilityEnum.PUBLIC); await siteActionsAdmin.createSite(adminSite2, Site.VisibilityEnum.PUBLIC); @@ -75,8 +75,8 @@ test.describe('File Libraries', () => { await favoritesActions.addFavoriteById('site', adminSite3); await favoritesActions.addFavoriteById('site', adminSite4); - await siteActionsUser.createSite(siteName, Site.VisibilityEnum.PUBLIC, null, siteId1); - await siteActionsUser.createSite(siteName, Site.VisibilityEnum.PUBLIC, null, siteId2); + await siteActionsUser.createSite(siteName, Site.VisibilityEnum.PUBLIC, undefined, siteId1); + await siteActionsUser.createSite(siteName, Site.VisibilityEnum.PUBLIC, undefined, siteId2); } catch (error) { console.error(`----- beforeAll failed : ${error}`); } diff --git a/e2e/playwright/search/exclude.tests.json b/e2e/playwright/search/exclude.tests.json index e3856cfb5..a0d0f7145 100644 --- a/e2e/playwright/search/exclude.tests.json +++ b/e2e/playwright/search/exclude.tests.json @@ -1,7 +1,5 @@ { "all": { - "XAT-17697": "https://hyland.atlassian.net/browse/ACS-7464", - "XAT-17121": "https://hyland.atlassian.net/browse/ACS-9889", - "XAT-5602": "https://hyland.atlassian.net/browse/ACS-10384" + "XAT-17697": "https://hyland.atlassian.net/browse/ACS-7464" } } diff --git a/e2e/playwright/search/src/tests/search-highlighting.e2e.ts b/e2e/playwright/search/src/tests/search-highlighting.e2e.ts index f31f4c523..96ce7914d 100644 --- a/e2e/playwright/search/src/tests/search-highlighting.e2e.ts +++ b/e2e/playwright/search/src/tests/search-highlighting.e2e.ts @@ -52,7 +52,7 @@ test.describe('Search Highlighting', () => { trashcanApi = await TrashcanApi.initialize(username, username); fileActionsApi = await FileActionsApi.initialize(username, username); await nodesApi.createFile(fileNameHighlight, '-my-'); - await nodesApi.createFile(fileDescriptionHighlight, '-my-', null, fileDescription); + await nodesApi.createFile(fileDescriptionHighlight, '-my-', undefined, fileDescription); await fileActionsApi.uploadFileWithRename(TEST_FILES.PDF.path, fileContentHighlight); await fileActionsApi.waitForNodesSearchHighlight(fileContentHighlight, { expect: 1 }); @@ -67,13 +67,11 @@ test.describe('Search Highlighting', () => { test('[XAT-17119] Matching phrases should be highlighted in the file name for search results', async ({ searchPage }) => { await searchPage.searchWithin(fileNameHighlight, 'files'); - await searchPage.dataTable.spinnerWaitForReload(); expect(await searchPage.dataTable.hasHighlightedText('name')).toBe(true); }); test('[XAT-17120] Matching phrases should be highlighted in the file description for search results', async ({ searchPage }) => { await searchPage.searchWithin(fileDescription, 'files'); - await searchPage.dataTable.spinnerWaitForReload(); expect(await searchPage.dataTable.hasHighlightedText('description')).toBe(true); expect(await searchPage.dataTable.hasHighlightedText('name')).toBe(false); }); @@ -81,7 +79,6 @@ test.describe('Search Highlighting', () => { test('[XAT-17121] Matching phrases should be highlighted in the file content for search results', async ({ searchPage, personalFiles }) => { await personalFiles.navigate(); await searchPage.searchWithin(fileContent, 'files'); - await searchPage.dataTable.spinnerWaitForReload(); expect(await searchPage.dataTable.hasHighlightedText('content')).toBe(true); expect(await searchPage.dataTable.hasHighlightedText('name')).toBe(false); }); diff --git a/e2e/playwright/search/src/tests/search-results-general.e2e.ts b/e2e/playwright/search/src/tests/search-results-general.e2e.ts index 9389080bb..484dd4f88 100644 --- a/e2e/playwright/search/src/tests/search-results-general.e2e.ts +++ b/e2e/playwright/search/src/tests/search-results-general.e2e.ts @@ -31,10 +31,10 @@ test.describe('Search Results - General', () => { let sitesApi: SitesApi; const random = Utils.random(); - const username = `user1-${random}`; - const file = `test-file-${random}.txt`; - const folder = `test-folder-${random}`; - const site = `test-site-${random}`; + const username = `${random}-user1`; + const file = `${random}-jsbwf-file.txt`; + const site = `${random}-vbcmw-site`; + const folder = `${random}-prnww-folder`; test.beforeAll(async () => { try { @@ -61,7 +61,7 @@ test.describe('Search Results - General', () => { }); 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)).toBe(true); expect(await searchPage.dataTable.isItemPresent(folder)).toBe(true); @@ -69,7 +69,7 @@ test.describe('Search Results - General', () => { }); 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)).toBe(false); expect(await searchPage.dataTable.isItemPresent(folder)).toBe(false); diff --git a/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts b/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts index 06dbce470..c7543d926 100644 --- a/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts +++ b/e2e/playwright/search/src/tests/search-results-libraries.e2e.ts @@ -114,10 +114,10 @@ test.describe('Search Results - General', () => { nodesApi = await NodesApi.initialize(username, username); sitesAdminApi = await SitesApi.initialize('admin'); - await sitesApi.createSite(site1.name, null, null, site1.id); - await sitesApi.createSite(site2.name, null, null, site2.id); - await sitesApi.createSite(site3.name, null, null, site3.id); - await sitesApi.createSite(site4.name, null, site4.description, site4.id); + await sitesApi.createSite(site1.name, undefined, undefined, site1.id); + await sitesApi.createSite(site2.name, undefined, undefined, site2.id); + await sitesApi.createSite(site3.name, undefined, undefined, site3.id); + await sitesApi.createSite(site4.name, undefined, site4.description, site4.id); await sitesApi.createSite(userSitePublic, SITE_VISIBILITY.PUBLIC); await sitesApi.createSite(userSiteModerated, SITE_VISIBILITY.MODERATED); diff --git a/e2e/playwright/search/src/tests/search-sorting.e2e.ts b/e2e/playwright/search/src/tests/search-sorting.e2e.ts index 9d5b99325..064a0c863 100644 --- a/e2e/playwright/search/src/tests/search-sorting.e2e.ts +++ b/e2e/playwright/search/src/tests/search-sorting.e2e.ts @@ -119,7 +119,7 @@ test.describe('Search sorting', () => { if (searchTerm) { await searchPage.searchWithin(searchTerm, 'files'); } else { - await searchPage.searchWithin(`*${random}*`, 'files'); + await searchPage.searchWithin(`TEXT:${random}`, 'files'); } await searchPage.searchSortingPicker.sortBy(sortBy, sortOrder); await searchPage.dataTable.spinnerWaitForReload(); diff --git a/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts b/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts index 176820de5..043ffec22 100644 --- a/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts +++ b/e2e/playwright/share-action/src/tests/share/share-file.e2e.ts @@ -164,7 +164,7 @@ test.describe('Share a file', () => { await personalFiles.shareDialog.urlAction.click(); const shareSnackBar = personalFiles.snackBar; - await expect(shareSnackBar.getByMessageLocator('Link copied to the clipboard')).toBeVisible(); + expect(await shareSnackBar.getSnackBarMessage()).toContain('Link copied to the clipboard'); await page.goto(url); await personalFiles.viewer.waitForViewerToOpen(); diff --git a/e2e/playwright/smoke-test/exclude.tests.json b/e2e/playwright/smoke-test/exclude.tests.json index 2222945db..b9f378aba 100644 --- a/e2e/playwright/smoke-test/exclude.tests.json +++ b/e2e/playwright/smoke-test/exclude.tests.json @@ -1,5 +1,3 @@ { - "all": { - "XAT-17738": "https://hyland.atlassian.net/browse/ACS-9889" - } + "all": {} } diff --git a/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts b/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts index 6bf9055bf..6b2cd8aa8 100644 --- a/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts +++ b/e2e/playwright/upload-download-actions/src/tests/upload.e2e.ts @@ -52,6 +52,7 @@ test.describe('Upload files', () => { await personalFiles.acaHeader.uploadFileButton.click() ]); await fileChooserWindow.setFiles(TEST_FILES.JPG_FILE.path); + await personalFiles.page.waitForTimeout(1500); }); test.afterAll(async () => { diff --git a/e2e/playwright/viewer-actions/src/tests/viewer-action.e2e.ts b/e2e/playwright/viewer-actions/src/tests/viewer-action.e2e.ts index 17d3c2188..3835b72e1 100644 --- a/e2e/playwright/viewer-actions/src/tests/viewer-action.e2e.ts +++ b/e2e/playwright/viewer-actions/src/tests/viewer-action.e2e.ts @@ -181,8 +181,7 @@ test.describe('viewer action file', () => { await openFileInViewer(personalFiles, randomDocxDelete); await personalFiles.acaHeader.clickViewerMoreActions(); await personalFiles.viewerDialog.deleteMenuButton.click(); - await personalFiles.snackBar.getByMessageLocator(randomDocxDelete).waitFor({ state: 'attached' }); - const deleteName = await personalFiles.snackBar.getByMessageLocator(randomDocxDelete).innerText(); + const deleteName = await personalFiles.snackBar.getSnackBarMessage(); expect(deleteName).toContain(`${randomDocxDelete} deleted`); await personalFiles.dataTable.getCellLinkByName(randomDocxName).waitFor({ state: 'attached' }); await expect(personalFiles.dataTable.getCellLinkByName(randomDocxDelete), 'file should not visible').toBeHidden(); diff --git a/e2e/playwright/viewer/exclude.tests.json b/e2e/playwright/viewer/exclude.tests.json index dc10659bc..a60bcab74 100644 --- a/e2e/playwright/viewer/exclude.tests.json +++ b/e2e/playwright/viewer/exclude.tests.json @@ -1,12 +1,5 @@ { - "all": { - "XAT-5501": "https://hyland.atlassian.net/browse/ACS-9889", - "XAT-5499": "https://hyland.atlassian.net/browse/ACS-9889", - "XAT-17181": "https://hyland.atlassian.net/browse/ACS-9889", - "XAT-17640": "https://hyland.atlassian.net/browse/ACS-9889", - "XAT-17644": "https://hyland.atlassian.net/browse/ACS-9889", - "XAT-17182": "https://hyland.atlassian.net/browse/ACS-9889" - }, + "all": {}, "firefox": { "XAT-17177": "https://hyland.atlassian.net/browse/ACS-10917", "XAT-17178": "https://hyland.atlassian.net/browse/ACS-10917", diff --git a/e2e/playwright/viewer/src/tests/viewer-file-types.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-file-types.e2e.ts index b3b42305c..4575504f9 100644 --- a/e2e/playwright/viewer/src/tests/viewer-file-types.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-file-types.e2e.ts @@ -97,8 +97,7 @@ test.describe('viewer file types', () => { async function openFileInViewer(page: PersonalFilesPage, fileName: string) { await page.dataTable.performClickFolderOrFileToOpen(fileName); - expect(await page.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); - await page.viewer.waitForViewerLoaderToFinish(); + await page.viewer.waitForViewerToOpen(); await Utils.delayInSeconds(1); } diff --git a/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts index d67a931aa..dc82b74a7 100644 --- a/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-useraction.e2e.ts @@ -75,7 +75,7 @@ test.describe('from File Libraries', () => { await myLibrariesPage.copyMoveDialog.selectLocation('Personal Files'); await myLibrariesPage.copyMoveDialog.selectDestination(destination); await myLibrariesPage.copyMoveDialog.actionButton.click(); - await expect(myLibrariesPage.snackBar.getByMessageLocator('Moved 1 item')).toBeVisible(); + expect(await myLibrariesPage.snackBar.getSnackBarMessage()).toContain('Moved 1 item'); await myLibrariesPage.viewer.closeButtonLocator.click(); await myLibrariesPage.dataTable.getRowByName(xlsxLibraries).waitFor({ state: 'detached' }); 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 89292457f..25953fbd4 100644 --- a/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-version-actions.e2e.ts @@ -137,6 +137,9 @@ test.describe('Version actions', () => { test('[XAT-5499] Should be possible to view a previous document version - Recent Files', async ({ recentFilesPage }) => { expect(recentFilesPage.page.url()).toContain('1.0'); + await recentFilesPage.viewer.waitForViewerToOpen(); + await expect(recentFilesPage.viewer.unknownFormat).toBeHidden(); + expect(await recentFilesPage.viewer.getFileTitle()).toContain(filenameBeforeUpdate); }); test('[XAT-5500] Previous document version title should be the same in Preview mode as in Version Manager - Recent Files', async ({ diff --git a/e2e/playwright/viewer/src/tests/viewer-zoom-functionality.e2e.ts b/e2e/playwright/viewer/src/tests/viewer-zoom-functionality.e2e.ts index 1c1d6ce79..a00317888 100644 --- a/e2e/playwright/viewer/src/tests/viewer-zoom-functionality.e2e.ts +++ b/e2e/playwright/viewer/src/tests/viewer-zoom-functionality.e2e.ts @@ -224,8 +224,7 @@ test.describe('viewer zoom functionality and reset', () => { await myLibrariesPage.navigate(); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(randomLibraryName); await myLibrariesPage.dataTable.performClickFolderOrFileToOpen(randomDocxName); - await myLibrariesPage.viewer.waitForViewerLoaderToFinish(); - expect(await myLibrariesPage.viewer.isViewerOpened(), 'Viewer is not opened').toBe(true); + await myLibrariesPage.viewer.waitForViewerToOpen(); await myLibrariesPage.viewer.waitForZoomPercentageToDisplay(); await validateFitToPageButtonActivity(myLibrariesPage); }); diff --git a/projects/aca-playwright-shared/src/page-objects/components/conditions.component.ts b/projects/aca-playwright-shared/src/page-objects/components/conditions.component.ts index 56b51013b..0c079246b 100644 --- a/projects/aca-playwright-shared/src/page-objects/components/conditions.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/conditions.component.ts @@ -47,6 +47,7 @@ export class ConditionComponent extends ManageRulesDialogComponent { this.page.locator('[role=listbox] [role=option]', { hasText: optionName }).first(); private async selectField(fields: Partial, index: number): Promise { + await this.fieldDropDown.nth(index).scrollIntoViewIfNeeded(); await this.fieldDropDown.nth(index).click(); const option = this.getOptionLocator(fields); await option.click(); @@ -64,7 +65,11 @@ export class ConditionComponent extends ManageRulesDialogComponent { if (comparators) { await this.selectComparator(comparators, index); } - await this.valueField.nth(index).fill(value); + if ((await this.valueField.count()) === 1) { + await this.valueField.last().fill(value); + } else { + await this.valueField.nth(index).fill(value); + } } async addConditionGroup(fields: Partial, value: string, index: number, comparators?: Partial): Promise { diff --git a/projects/aca-playwright-shared/src/page-objects/components/dataTable/data-table.component.ts b/projects/aca-playwright-shared/src/page-objects/components/dataTable/data-table.component.ts index 44427692a..d464bfc6f 100644 --- a/projects/aca-playwright-shared/src/page-objects/components/dataTable/data-table.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/dataTable/data-table.component.ts @@ -151,7 +151,6 @@ export class DataTableComponent extends BaseComponent { } async goThroughPagesLookingForRowWithName(name: string | number): Promise { - await this.spinnerWaitForReload(); if (await this.getRowByName(name).isVisible()) { return; } 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 980306ce8..b95f3f9fd 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 @@ -62,11 +62,13 @@ export class ManageRules extends BaseComponent { return this.ruleConditionsInGroup.count(); } - async turnOffRuleToggle(): Promise { + async turnOffRuleToggle(skipExpect?: 'skip expect'): Promise { await expect(async () => { await this.ruleToggle.hover({ timeout: 1000 }); await this.ruleToggle.click(); - await expect(this.ruleToggleFalse).toBeVisible(); + if (skipExpect !== 'skip expect') { + await expect(this.ruleToggleFalse).toBeVisible(); + } }).toPass({ intervals: [2_000], timeout: 20_000 diff --git a/projects/aca-playwright-shared/src/page-objects/components/search/search-in-dialog.components.ts b/projects/aca-playwright-shared/src/page-objects/components/search/search-in-dialog.components.ts index 80cde302f..e410b1c4d 100644 --- a/projects/aca-playwright-shared/src/page-objects/components/search/search-in-dialog.components.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/search/search-in-dialog.components.ts @@ -30,8 +30,8 @@ export class SearchInDialogComponent extends BaseComponent { public filesAndFoldersRadioButton = this.getChild('.aca-search-in-panel__radio label').getByText('Files and folders'); public librariesRadioButton = this.getChild('.aca-search-in-panel__radio label').getByText('Libraries'); - public filesCheckbox = this.getChild('.aca-search-in-panel__checkboxes').getByLabel('Files'); - public foldersCheckbox = this.getChild('.aca-search-in-panel__checkboxes').getByLabel('Folders'); + public filesCheckbox = this.getChild('#content [type="checkbox"]'); + public foldersCheckbox = this.getChild('#folder [type="checkbox"]'); public applyButton = this.getChild('button', { hasText: 'Apply' }); readonly resetButton = this.getChild('button', { hasText: 'Reset' }); diff --git a/projects/aca-playwright-shared/src/page-objects/components/search/search-input.component.ts b/projects/aca-playwright-shared/src/page-objects/components/search/search-input.component.ts index acdc9ad44..898226fde 100644 --- a/projects/aca-playwright-shared/src/page-objects/components/search/search-input.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/search/search-input.component.ts @@ -45,6 +45,7 @@ export class SearchInputComponent extends BaseComponent { } async searchFor(searchText: string): Promise { + await this.searchInput.click(); await this.searchInput.fill(searchText); await this.searchButton.click(); } diff --git a/projects/aca-playwright-shared/src/page-objects/components/snackBar/snack-bar.component.ts b/projects/aca-playwright-shared/src/page-objects/components/snackBar/snack-bar.component.ts index 51a5debfc..1cecf91c2 100644 --- a/projects/aca-playwright-shared/src/page-objects/components/snackBar/snack-bar.component.ts +++ b/projects/aca-playwright-shared/src/page-objects/components/snackBar/snack-bar.component.ts @@ -33,8 +33,6 @@ export class SnackBarComponent extends BaseComponent { public actionButton = this.getChild('[data-automation-id="adf-snackbar-message-content-action-button"]'); public closeIcon = this.getChild('.adf-snackbar-message-content-action-icon'); - public getByMessageLocator = (message: string) => - this.getChild(`[data-automation-id='adf-snackbar-message-content']`, { hasText: message }).first(); constructor(page: Page, rootElement = SnackBarComponent.rootElement) { super(page, rootElement); @@ -45,11 +43,7 @@ export class SnackBarComponent extends BaseComponent { } async getSnackBarActionText(): Promise { - if (await this.actionButton.isVisible()) { - return this.actionButton.textContent(); - } else { - return ''; - } + return this.actionButton.innerText(); } async verifySnackBarActionText(text: string): Promise { 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 3b9fc08e0..69ac4eb52 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 @@ -72,7 +72,7 @@ export class ViewerComponent extends BaseComponent { async waitForViewerToOpen(): Promise { await this.waitForViewerLoaderToFinish(); - await this.viewerLocator.waitFor({ state: 'visible', timeout: timeouts.large }); + await this.viewerLocator.waitFor({ state: 'visible', timeout: timeouts.extraLarge }); } async waitForViewerLoaderToFinish(): Promise { diff --git a/projects/aca-playwright-shared/src/page-objects/pages/search.page.ts b/projects/aca-playwright-shared/src/page-objects/pages/search.page.ts index eaacdcac2..11cfdbe75 100644 --- a/projects/aca-playwright-shared/src/page-objects/pages/search.page.ts +++ b/projects/aca-playwright-shared/src/page-objects/pages/search.page.ts @@ -80,6 +80,7 @@ export class SearchPage extends BasePage { if (!(await this.searchInputComponent.searchInput.isVisible())) { await this.acaHeader.searchButton.click(); } + await this.searchInputComponent.searchFor(searchText); await this.searchInputComponent.searchInButton.click(); switch (searchType) { case 'files': @@ -98,12 +99,6 @@ export class SearchPage extends BasePage { break; } await this.searchInDialog.applyButton.click(); - await this.clickSearchButton(); - await this.searchInputComponent.searchFor(searchText); await this.dataTable.spinnerWaitForReload(); } - - async clickSearchButton() { - await this.searchInputComponent.searchButton.click({ force: true }); - } }