From 1db18bba0ba441dfbae7b022602c13baf5abe915 Mon Sep 17 00:00:00 2001 From: datguychen Date: Wed, 28 Feb 2024 10:37:57 +0100 Subject: [PATCH 1/4] ACS-6797 search general migrated v1 --- e2e/playwright/search/.eslintrc.json | 26 +++ e2e/playwright/search/exclude.tests.json | 1 + e2e/playwright/search/playwright.config.ts | 44 +++++ e2e/playwright/search/project.json | 22 +++ .../src/tests/search-results-general.spec.ts | 150 ++++++++++++++++++ e2e/playwright/search/tsconfig.e2e.adf.json | 15 ++ e2e/playwright/search/tsconfig.e2e.json | 15 ++ .../dataTable/data-table.component.ts | 1 + .../search/search-input.component.ts | 72 +++++++++ 9 files changed, 346 insertions(+) create mode 100644 e2e/playwright/search/.eslintrc.json create mode 100644 e2e/playwright/search/exclude.tests.json create mode 100644 e2e/playwright/search/playwright.config.ts create mode 100644 e2e/playwright/search/project.json create mode 100644 e2e/playwright/search/src/tests/search-results-general.spec.ts create mode 100644 e2e/playwright/search/tsconfig.e2e.adf.json create mode 100755 e2e/playwright/search/tsconfig.e2e.json diff --git a/e2e/playwright/search/.eslintrc.json b/e2e/playwright/search/.eslintrc.json new file mode 100644 index 0000000000..44c4872a8d --- /dev/null +++ b/e2e/playwright/search/.eslintrc.json @@ -0,0 +1,26 @@ +{ + "extends": "../../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "e2e/playwright/search/tsconfig.e2e.json" + ], + "createDefaultProgram": true + }, + "plugins": [ + "rxjs", + "unicorn" + ], + "rules": { + "@typescript-eslint/no-floating-promises": "off" + } + } + ] +} diff --git a/e2e/playwright/search/exclude.tests.json b/e2e/playwright/search/exclude.tests.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/e2e/playwright/search/exclude.tests.json @@ -0,0 +1 @@ +{} diff --git a/e2e/playwright/search/playwright.config.ts b/e2e/playwright/search/playwright.config.ts new file mode 100644 index 0000000000..e5612fef90 --- /dev/null +++ b/e2e/playwright/search/playwright.config.ts @@ -0,0 +1,44 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { PlaywrightTestConfig } from '@playwright/test'; +import { CustomConfig, getGlobalConfig, getExcludedTestsRegExpArray } from '@alfresco/playwright-shared'; +import EXCLUDED_JSON from './exclude.tests.json'; + +const config: PlaywrightTestConfig = { + ...getGlobalConfig, + + grepInvert: getExcludedTestsRegExpArray(EXCLUDED_JSON, 'Search'), + projects: [ + { + name: 'Search', + testDir: './src/tests', + use: { + users: [] + } + } + ] +}; + +export default config; diff --git a/e2e/playwright/search/project.json b/e2e/playwright/search/project.json new file mode 100644 index 0000000000..d53fd8db6e --- /dev/null +++ b/e2e/playwright/search/project.json @@ -0,0 +1,22 @@ +{ + "name": "search-e2e", + "$schema": "../../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "e2e/playwright/search", + "projectType": "application", + "targets": { + "e2e": { + "executor": "nx:run-commands", + "options": { + "commands": ["npx playwright test --config=e2e/playwright/search/playwright.config.ts"] + }, + "configurations": { + "production": { + "devServerTarget": "content-ce:serve:production" + } + } + }, + "lint": { + "executor": "@angular-eslint/builder:lint" + } + } +} diff --git a/e2e/playwright/search/src/tests/search-results-general.spec.ts b/e2e/playwright/search/src/tests/search-results-general.spec.ts new file mode 100644 index 0000000000..32a39dbbe9 --- /dev/null +++ b/e2e/playwright/search/src/tests/search-results-general.spec.ts @@ -0,0 +1,150 @@ +/*! + * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved. + * + * Alfresco Example Content Application + * + * This file is part of the Alfresco Example Content Application. + * If the software was purchased under a paid Alfresco license, the terms of + * the paid license agreement will prevail. Otherwise, the software is + * provided under the following open source license terms: + * + * The Alfresco Example Content Application is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Alfresco Example Content Application is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * from Hyland Software. If not, see . + */ + +import { expect } from '@playwright/test'; +import { ApiClientFactory, Utils, test, TrashcanApi, NodesApi } from '@alfresco/playwright-shared'; + +test.describe('Info Drawer - General', () => { + let trashcanApi: TrashcanApi; + let nodesApi: NodesApi; + + const username = `user1-${Utils.random()}`; + const random = Utils.random(); + + const file = `test-file-${random}.txt`; + const folder = `test-folder-${random}`; + const site = `test-site-${random}`; + + test.beforeEach(async ({ loginPage }) => { + try { + await loginPage.loginUser({ username, password: username }, { withNavigation: true, waitForLoading: true }); + } catch (error) { + console.error(`beforeEach failed: ${error}`); + } + }); + + test.beforeAll(async () => { + try { + const apiClientFactory = new ApiClientFactory(); + await apiClientFactory.setUpAcaBackend('admin'); + await apiClientFactory.createUser({ username }); + trashcanApi = await TrashcanApi.initialize(username, username); + nodesApi = await NodesApi.initialize(username, username); + } catch (error) { + console.error(`beforeAll failed: ${error}`); + } + }); + + test.afterAll(async () => { + try { + await trashcanApi.emptyTrashcan(); + await nodesApi.deleteCurrentUserNodes(); + } catch (error) { + console.error(`afterAll failed: ${error}`); + } + }); + + test('[C290005] Only files are returned when Files option is the only one checked', async ({ searchPage }) => { + await searchPage.acaHeader.searchButton.click(); + await searchPage.searchInput.searchButton.click(); + await searchPage.searchInput.checkOnlyFiles(); + await searchPage.searchInput.searchFor(`*${random}`); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); + expect(await searchPage.dataTable.isItemPresent(folder)).toBeFalsy(); + expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); + }); + + test('[C290006] Only folders are returned when Folders option is the only one checked', async ({ searchPage }) => { + await searchPage.acaHeader.searchButton.click(); + await searchPage.searchInput.searchButton.click(); + await searchPage.searchInput.checkOnlyFolders(); + await searchPage.searchInput.searchFor(`*${random}`); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy(); + expect(await searchPage.dataTable.isItemPresent(folder)).toBeTruthy(); + expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); + }); + + test('[C290007] Files and folders are returned when both Files and Folders options are checked', async ({ searchPage }) => { + await searchPage.acaHeader.searchButton.click(); + await searchPage.searchInput.searchButton.click(); + await searchPage.searchInput.checkFilesAndFolders(); + await searchPage.searchInput.searchFor(`*${random}`); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); + expect(await searchPage.dataTable.isItemPresent(folder)).toBeTruthy(); + expect(await searchPage.dataTable.isItemPresent(site)).toBeFalsy(); + }); + + test('[C290008] Only libraries are returned when Libraries option is checked', async ({ searchPage }) => { + await searchPage.acaHeader.searchButton.click(); + await searchPage.searchInput.searchButton.click(); + await searchPage.searchInput.checkLibraries(); + await searchPage.searchInput.searchFor(`*${random}`); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy(); + expect(await searchPage.dataTable.isItemPresent(folder)).toBeFalsy(); + expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); + }); + + test('[C279162] Results are updated automatically when changing the search term', async ({ searchPage }) => { + await searchPage.acaHeader.searchButton.click(); + await searchPage.searchInput.searchButton.click(); + await searchPage.searchInput.searchFor(file); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(file)).toBeTruthy(); + expect(await searchPage.dataTable.isItemPresent(folder)).toBeFalsy(); + + await searchPage.searchInput.searchButton.click(); + await searchPage.searchInput.searchFor(folder); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(file)).toBeFalsy(); + expect(await searchPage.dataTable.isItemPresent(folder)).toBeTruthy(); + }); + + test('[C279178] Results are returned when accessing an URL containing a search query', async ({ searchPage, personalFiles }) => { + await searchPage.acaHeader.searchButton.click(); + await searchPage.searchInput.searchButton.click(); + await searchPage.searchInput.checkLibraries(); + await searchPage.searchInput.searchFor(site); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); + + const url = await searchPage.page.url(); + + await personalFiles.navigate(); + await personalFiles.page.goto(url); + await searchPage.dataTable.body.waitFor(); + + expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); + }); +}); diff --git a/e2e/playwright/search/tsconfig.e2e.adf.json b/e2e/playwright/search/tsconfig.e2e.adf.json new file mode 100644 index 0000000000..87cbcf775a --- /dev/null +++ b/e2e/playwright/search/tsconfig.e2e.adf.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.adf.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node"], + "skipLibCheck": true, + "paths": { + "@alfresco/playwright-shared": ["../../../projects/aca-playwright-shared/src/index.ts"] + } + }, + "exclude": ["node_modules"] +} diff --git a/e2e/playwright/search/tsconfig.e2e.json b/e2e/playwright/search/tsconfig.e2e.json new file mode 100755 index 0000000000..c317985239 --- /dev/null +++ b/e2e/playwright/search/tsconfig.e2e.json @@ -0,0 +1,15 @@ +{ + "extends": "../../../tsconfig.json", + "compilerOptions": { + "outDir": "../../out-tsc/e2e", + "baseUrl": "./", + "module": "commonjs", + "target": "es2017", + "types": ["jasmine", "jasminewd2", "node", "@playwright/test"], + "skipLibCheck": true, + "paths": { + "@alfresco/playwright-shared": ["../../../projects/aca-playwright-shared/src/index.ts"] + } + }, + "exclude": ["node_modules"] +} 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 1110404b0b..62addb8c29 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 @@ -37,6 +37,7 @@ export class DataTableComponent extends BaseComponent { } public pagination = new PaginationComponent(this.page); + body = this.getChild('.adf-datatable-body') getEmptyFolderLocator = this.getChild('.adf-empty-folder'); getEmptyContentTitleLocator = this.getChild('adf-empty-content .adf-empty-content__title'); getEmptyContentSubTitleLocator = this.getChild('adf-empty-content .adf-empty-content__subtitle'); 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 6adf0d7388..ed218361ad 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 @@ -29,6 +29,13 @@ import { timeouts } from '../../../utils'; export class SearchInputComponent extends BaseComponent { private static rootElement = 'aca-page-layout'; public searchButton = this.getChild('aca-search-input .app-search-button'); + public searchField = this.getChild('aca-search-input .mat-form-field'); + public searchOptionsArea = this.getChild('#search-options'); + public searchCheckboxes = this.searchOptionsArea.locator('.mat-checkbox'); + public searchFilesOption = this.searchCheckboxes.getByText('Files'); + public searchFoldersOption = this.searchCheckboxes.getByText('Folders'); + public searchLibrariesOption = this.searchCheckboxes.getByText('Libraries'); + getIconByName = (name: string): Locator => this.getChild('.mat-icon', { hasText: name }); /** @@ -48,4 +55,69 @@ export class SearchInputComponent extends BaseComponent { await this.getCellLinkByName(name).dblclick(); await this.spinnerWaitForReload(); } + + async clickLibrariesOption() { + await this.searchLibrariesOption.click(); + } + + async clickFoldersOption() { + await this.searchFoldersOption.click(); + } + + async clickFilesOption() { + await this.searchFilesOption.click(); + } + + async isFilesOptionChecked() { + const optClass = await this.searchFilesOption.getAttribute('class'); + return optClass.includes('mat-checkbox-checked'); + } + + async isFoldersOptionChecked() { + const optClass = await this.searchFoldersOption.getAttribute('class'); + return optClass.includes('mat-checkbox-checked'); + } + + async isLibrariesOptionChecked() { + const optClass = await this.searchLibrariesOption.getAttribute('class'); + return optClass.includes('mat-checkbox-checked'); + } + + async clearOptions() { + if (await this.isFilesOptionChecked()) { + await this.clickFilesOption(); + } + if (await this.isFoldersOptionChecked()) { + await this.clickFoldersOption(); + } + if (await this.isLibrariesOptionChecked()) { + await this.clickLibrariesOption(); + } + } + async checkOnlyFiles() { + await this.clearOptions(); + await this.clickFilesOption(); + } + + async checkOnlyFolders() { + await this.clearOptions(); + await this.clickFoldersOption(); + } + + async checkFilesAndFolders() { + await this.clearOptions(); + await this.clickFilesOption(); + await this.clickFoldersOption(); + } + + async checkLibraries() { + await this.clearOptions(); + await this.clickLibrariesOption(); + } + + async searchFor(text: string) { + await this.searchButton.click(); + await this.searchField.type(text); + await this.searchButton.click(); + } } From c2cd0f8d037dcc178b8c04939ab8a40df61b4602 Mon Sep 17 00:00:00 2001 From: datguychen Date: Wed, 28 Feb 2024 12:25:15 +0100 Subject: [PATCH 2/4] [ACS-6797] SonarCloud fix + test name update --- .../src/tests/search-results-general.spec.ts | 2 +- .../search/search-input.component.ts | 34 ++++++++++--------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/e2e/playwright/search/src/tests/search-results-general.spec.ts b/e2e/playwright/search/src/tests/search-results-general.spec.ts index 32a39dbbe9..e35a14e473 100644 --- a/e2e/playwright/search/src/tests/search-results-general.spec.ts +++ b/e2e/playwright/search/src/tests/search-results-general.spec.ts @@ -25,7 +25,7 @@ import { expect } from '@playwright/test'; import { ApiClientFactory, Utils, test, TrashcanApi, NodesApi } from '@alfresco/playwright-shared'; -test.describe('Info Drawer - General', () => { +test.describe('Search Results - General', () => { let trashcanApi: TrashcanApi; let nodesApi: NodesApi; 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 ed218361ad..38d105e989 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 @@ -28,13 +28,14 @@ import { timeouts } from '../../../utils'; export class SearchInputComponent extends BaseComponent { private static rootElement = 'aca-page-layout'; - public searchButton = this.getChild('aca-search-input .app-search-button'); - public searchField = this.getChild('aca-search-input .mat-form-field'); public searchOptionsArea = this.getChild('#search-options'); + public searchButton = this.getChild('aca-search-input .app-search-button'); public searchCheckboxes = this.searchOptionsArea.locator('.mat-checkbox'); + public searchField = this.getChild('aca-search-input .mat-form-field'); public searchFilesOption = this.searchCheckboxes.getByText('Files'); - public searchFoldersOption = this.searchCheckboxes.getByText('Folders'); public searchLibrariesOption = this.searchCheckboxes.getByText('Libraries'); + public searchFoldersOption = this.searchCheckboxes.getByText('Folders'); + getIconByName = (name: string): Locator => this.getChild('.mat-icon', { hasText: name }); @@ -60,17 +61,12 @@ export class SearchInputComponent extends BaseComponent { await this.searchLibrariesOption.click(); } - async clickFoldersOption() { - await this.searchFoldersOption.click(); - } - async clickFilesOption() { await this.searchFilesOption.click(); } - async isFilesOptionChecked() { - const optClass = await this.searchFilesOption.getAttribute('class'); - return optClass.includes('mat-checkbox-checked'); + async clickFoldersOption() { + await this.searchFoldersOption.click(); } async isFoldersOptionChecked() { @@ -78,6 +74,11 @@ export class SearchInputComponent extends BaseComponent { return optClass.includes('mat-checkbox-checked'); } + async isFilesOptionChecked() { + const optClass = await this.searchFilesOption.getAttribute('class'); + return optClass.includes('mat-checkbox-checked'); + } + async isLibrariesOptionChecked() { const optClass = await this.searchLibrariesOption.getAttribute('class'); return optClass.includes('mat-checkbox-checked'); @@ -94,20 +95,15 @@ export class SearchInputComponent extends BaseComponent { await this.clickLibrariesOption(); } } - async checkOnlyFiles() { - await this.clearOptions(); - await this.clickFilesOption(); - } async checkOnlyFolders() { await this.clearOptions(); await this.clickFoldersOption(); } - async checkFilesAndFolders() { + async checkOnlyFiles() { await this.clearOptions(); await this.clickFilesOption(); - await this.clickFoldersOption(); } async checkLibraries() { @@ -115,6 +111,12 @@ export class SearchInputComponent extends BaseComponent { await this.clickLibrariesOption(); } + async checkFilesAndFolders() { + await this.clearOptions(); + await this.clickFilesOption(); + await this.clickFoldersOption(); + } + async searchFor(text: string) { await this.searchButton.click(); await this.searchField.type(text); From af5bdfa3f5d9bb5f10934085d71bdb70db5908d0 Mon Sep 17 00:00:00 2001 From: datguychen Date: Thu, 29 Feb 2024 12:24:08 +0100 Subject: [PATCH 3/4] [ACS-6797] Tests fixed and passing --- .../src/tests/search-results-general.spec.ts | 9 +++++-- .../search/search-input.component.ts | 24 +++++++++++-------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/e2e/playwright/search/src/tests/search-results-general.spec.ts b/e2e/playwright/search/src/tests/search-results-general.spec.ts index e35a14e473..eadced1968 100644 --- a/e2e/playwright/search/src/tests/search-results-general.spec.ts +++ b/e2e/playwright/search/src/tests/search-results-general.spec.ts @@ -23,11 +23,12 @@ */ import { expect } from '@playwright/test'; -import { ApiClientFactory, Utils, test, TrashcanApi, NodesApi } from '@alfresco/playwright-shared'; +import { ApiClientFactory, Utils, test, TrashcanApi, NodesApi, SitesApi } from '@alfresco/playwright-shared'; test.describe('Search Results - General', () => { let trashcanApi: TrashcanApi; let nodesApi: NodesApi; + let sitesApi: SitesApi; const username = `user1-${Utils.random()}`; const random = Utils.random(); @@ -51,6 +52,10 @@ test.describe('Search Results - General', () => { await apiClientFactory.createUser({ username }); trashcanApi = await TrashcanApi.initialize(username, username); nodesApi = await NodesApi.initialize(username, username); + sitesApi = await SitesApi.initialize(username, username); + await nodesApi.createFolder(folder); + await nodesApi.createFile(file, '-my-'); + await sitesApi.createSite(site); } catch (error) { console.error(`beforeAll failed: ${error}`); } @@ -139,7 +144,7 @@ test.describe('Search Results - General', () => { expect(await searchPage.dataTable.isItemPresent(site)).toBeTruthy(); - const url = await searchPage.page.url(); + const url = searchPage.page.url(); await personalFiles.navigate(); await personalFiles.page.goto(url); 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 38d105e989..df71aa1db4 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 @@ -28,13 +28,16 @@ import { timeouts } from '../../../utils'; export class SearchInputComponent extends BaseComponent { private static rootElement = 'aca-page-layout'; - public searchOptionsArea = this.getChild('#search-options'); - public searchButton = this.getChild('aca-search-input .app-search-button'); - public searchCheckboxes = this.searchOptionsArea.locator('.mat-checkbox'); - public searchField = this.getChild('aca-search-input .mat-form-field'); - public searchFilesOption = this.searchCheckboxes.getByText('Files'); - public searchLibrariesOption = this.searchCheckboxes.getByText('Libraries'); - public searchFoldersOption = this.searchCheckboxes.getByText('Folders'); + public searchOptionsArea = this.page.locator('mat-checkbox'); + public searchInput = this.getChild('input[id="app-control-input"]'); + public searchButton = this.getChild('.app-search-button'); + public searchButtonWindow = this.page.locator('#app-search-button'); + public searchInputWindow = this.page.locator('.app-search-control'); + public searchInputWindowInput = this.page.locator('.app-search-control input'); + public searchOptions = this.page.locator('#search-options'); + public searchFilesOption = this.searchOptionsArea.getByText(' Files '); + public searchLibrariesOption = this.searchOptionsArea.getByText(' Libraries '); + public searchFoldersOption = this.searchOptionsArea.getByText(' Folders '); getIconByName = (name: string): Locator => this.getChild('.mat-icon', { hasText: name }); @@ -118,8 +121,9 @@ export class SearchInputComponent extends BaseComponent { } async searchFor(text: string) { - await this.searchButton.click(); - await this.searchField.type(text); - await this.searchButton.click(); + await this.searchInputWindow.click(); + await this.searchInputWindowInput.clear(); + await this.searchInputWindow.type(text); + await this.searchButtonWindow.click(); } } From 3e5ab12fe6e5410d5a1b1a0717cf8ec5eb0af608 Mon Sep 17 00:00:00 2001 From: datguychen Date: Thu, 29 Feb 2024 13:24:41 +0100 Subject: [PATCH 4/4] [ACS-6797] Old protractor tests deleted from yml file --- .github/workflows/pull-request.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 2ec6033e73..65a487ee4e 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -103,10 +103,6 @@ jobs: id: 1 - name: "search" id: 2 - - name: "viewer,infoDrawer" - id: 3 - - name: "copyMoveActions" - id: 6 - name: "deleteActions" id: 7 - name: "editActions,favoriteActions"