From ca7eff0fb62441a7f2cd99a8127f0ab9387e737e Mon Sep 17 00:00:00 2001 From: Aleksandr Shmaraiev Date: Sun, 3 Mar 2024 15:36:54 +0200 Subject: [PATCH 1/4] Update files related to factory test flow --- .../pageobjects/ide/CheCodeLocatorLoader.ts | 2 +- tests/e2e/specs/factory/Factory.spec.ts | 21 ++++++++++--------- .../specs/factory/NoSetupRepoFactory.spec.ts | 10 ++++----- .../specs/factory/RefusedOAuthFactory.spec.ts | 8 +++---- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/tests/e2e/pageobjects/ide/CheCodeLocatorLoader.ts b/tests/e2e/pageobjects/ide/CheCodeLocatorLoader.ts index d044ee2f701..176055bf45e 100644 --- a/tests/e2e/pageobjects/ide/CheCodeLocatorLoader.ts +++ b/tests/e2e/pageobjects/ide/CheCodeLocatorLoader.ts @@ -42,7 +42,7 @@ export class CheCodeLocatorLoader extends LocatorLoader { button: By.xpath('//div[@class="monaco-dialog-box"]//a[@class="monaco-button monaco-text-button"]') }, ScmView: { - actionConstructor: (title: string): By => By.xpath(`.//a[@title='${title}']`) + actionConstructor: (title: string): By => By.xpath(`.//a[@aria-label='${title}']`) } }, extras: { diff --git a/tests/e2e/specs/factory/Factory.spec.ts b/tests/e2e/specs/factory/Factory.spec.ts index 37ebddbb0e9..fedb0d6008e 100644 --- a/tests/e2e/specs/factory/Factory.spec.ts +++ b/tests/e2e/specs/factory/Factory.spec.ts @@ -63,7 +63,7 @@ suite( const timeToRefresh: number = 1500; const changesToCommit: string = new Date().getTime().toString(); const fileToChange: string = 'Date.txt'; - const commitChangesButtonLabel: string = `Commit Changes on "${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_BRANCH}"`; + /*const commitChangesButtonLabel: string = `Commit Changes on "${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_BRANCH}"`;*/ const refreshButtonLabel: string = 'Refresh'; const pushItemLabel: string = 'Push'; let testRepoProjectName: string; @@ -141,8 +141,8 @@ suite( test('Check if the changes are displayed in the source control manager', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); const changes: number = await scmProvider.getChangeCount(); @@ -164,8 +164,8 @@ suite( await scmProvider.commitChanges('Commit ' + changesToCommit); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); const changes: number = await scmProvider.getChangeCount(); @@ -174,11 +174,12 @@ suite( }); test('Push the changes', async function (): Promise { - await driverHelper.waitVisibility( + /* await driverHelper.waitVisibility( webCheCodeLocators.ScmView.actionConstructor( `Push 1 commits to origin/${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_BRANCH}` ) - ); + );*/ + await driverHelper.waitVisibility(webCheCodeLocators.Notification.action); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); Logger.debug('scmProvider.openMoreActions'); scmContextMenu = await scmProvider.openMoreActions(); @@ -190,10 +191,10 @@ suite( test('Check if the changes were pushed', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); const isCommitButtonDisabled: string = await driverHelper.waitAndGetElementAttribute( - webCheCodeLocators.ScmView.actionConstructor(commitChangesButtonLabel), + webCheCodeLocators.Notification.action, 'aria-disabled' ); expect(isCommitButtonDisabled).to.equal('true'); diff --git a/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts b/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts index 2c2576bff85..75dac79045b 100644 --- a/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts +++ b/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts @@ -158,8 +158,8 @@ suite( test('Check if the changes are displayed in the source control manager', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); const changes: number = await scmProvider.getChangeCount(); @@ -181,8 +181,8 @@ suite( await scmProvider.commitChanges('Commit ' + changesToCommit); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); const changes: number = await scmProvider.getChangeCount(); @@ -232,7 +232,7 @@ suite( test('Check if the changes were pushed', async function (): Promise { try { Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); } catch (e) { Logger.info( 'Check you use correct credentials.' + diff --git a/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts b/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts index 8fecc558472..b85487130d2 100644 --- a/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts +++ b/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts @@ -159,8 +159,8 @@ suite( test('Check if the changes are displayed in the source control manager', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); const changes: number = await scmProvider.getChangeCount(); @@ -182,8 +182,8 @@ suite( await scmProvider.commitChanges('Commit ' + changesToCommit); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`); - await scmProvider.takeAction(refreshButtonLabel); + /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); const changes: number = await scmProvider.getChangeCount(); From 063acb87838a10472a1874253ca50dfd632657ae Mon Sep 17 00:00:00 2001 From: Aleksandr Shmaraiev Date: Sun, 3 Mar 2024 15:47:22 +0200 Subject: [PATCH 2/4] Update files according to formatting --- tests/e2e/configs/mocharc.ts | 18 +++++++++--------- tests/e2e/constants/BASE_TEST_CONSTANTS.ts | 4 ++-- tests/e2e/specs/MochaHooks.ts | 2 +- .../utils/DevWorkspaceConfigurationHelper.ts | 8 ++++---- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/e2e/configs/mocharc.ts b/tests/e2e/configs/mocharc.ts index 7cc86c71074..bb9ef2ce867 100644 --- a/tests/e2e/configs/mocharc.ts +++ b/tests/e2e/configs/mocharc.ts @@ -31,15 +31,15 @@ module.exports = { BASE_TEST_CONSTANTS.TEST_ENVIRONMENT !== '' ? `dist/suites/${MOCHA_CONSTANTS.MOCHA_DIRECTORY}/${MOCHA_CONSTANTS.MOCHA_SUITE}.suite.js` : // variable MOCHA_DIRECTORY uses in command "test-all-devfiles" and sets up automatically. - // you can set it up to run files from specific directory with export environmental variable. - MOCHA_CONSTANTS.MOCHA_DIRECTORY - ? // to run one file (name without extension). uses in "test", "test-all-devfiles". - MOCHA_CONSTANTS.MOCHA_USERSTORY - ? `dist/specs/${MOCHA_CONSTANTS.MOCHA_DIRECTORY}/${MOCHA_CONSTANTS.MOCHA_USERSTORY}.spec.js` - : `dist/specs/${MOCHA_CONSTANTS.MOCHA_DIRECTORY}/**.spec.js` - : MOCHA_CONSTANTS.MOCHA_USERSTORY - ? [`dist/specs/**/${MOCHA_CONSTANTS.MOCHA_USERSTORY}.spec.js`, `dist/specs/${MOCHA_CONSTANTS.MOCHA_USERSTORY}.spec.js`] - : ['dist/specs/**/**.spec.js', 'dist/specs/**.spec.js'], + // you can set it up to run files from specific directory with export environmental variable. + MOCHA_CONSTANTS.MOCHA_DIRECTORY + ? // to run one file (name without extension). uses in "test", "test-all-devfiles". + MOCHA_CONSTANTS.MOCHA_USERSTORY + ? `dist/specs/${MOCHA_CONSTANTS.MOCHA_DIRECTORY}/${MOCHA_CONSTANTS.MOCHA_USERSTORY}.spec.js` + : `dist/specs/${MOCHA_CONSTANTS.MOCHA_DIRECTORY}/**.spec.js` + : MOCHA_CONSTANTS.MOCHA_USERSTORY + ? [`dist/specs/**/${MOCHA_CONSTANTS.MOCHA_USERSTORY}.spec.js`, `dist/specs/${MOCHA_CONSTANTS.MOCHA_USERSTORY}.spec.js`] + : ['dist/specs/**/**.spec.js', 'dist/specs/**.spec.js'], retries: MOCHA_CONSTANTS.MOCHA_RETRIES, grep: MOCHA_CONSTANTS.MOCHA_GREP }; diff --git a/tests/e2e/constants/BASE_TEST_CONSTANTS.ts b/tests/e2e/constants/BASE_TEST_CONSTANTS.ts index 86b38cd0cdb..5f9b320d124 100644 --- a/tests/e2e/constants/BASE_TEST_CONSTANTS.ts +++ b/tests/e2e/constants/BASE_TEST_CONSTANTS.ts @@ -66,8 +66,8 @@ export const BASE_TEST_CONSTANTS: { return BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.includes('devspaces') ? 'devspaces' : BASE_TEST_CONSTANTS.TS_SELENIUM_BASE_URL.includes('che') - ? 'che' - : 'default'; + ? 'che' + : 'default'; }, /** * testing application version diff --git a/tests/e2e/specs/MochaHooks.ts b/tests/e2e/specs/MochaHooks.ts index 0eb7caca40a..2477a518f87 100644 --- a/tests/e2e/specs/MochaHooks.ts +++ b/tests/e2e/specs/MochaHooks.ts @@ -38,7 +38,7 @@ export function registerRunningWorkspace(workspaceName: string): void { : ((): void => { Logger.debug('delete workspace name'); WorkspaceHandlingTests.clearWorkspaceName(); - })(); + })(); latestWorkspace = workspaceName; } diff --git a/tests/e2e/utils/DevWorkspaceConfigurationHelper.ts b/tests/e2e/utils/DevWorkspaceConfigurationHelper.ts index c2289ebd5ba..54d131eded4 100644 --- a/tests/e2e/utils/DevWorkspaceConfigurationHelper.ts +++ b/tests/e2e/utils/DevWorkspaceConfigurationHelper.ts @@ -90,10 +90,10 @@ export class DevWorkspaceConfigurationHelper { e.kind === 'DevWorkspace' ? (content.DevWorkspace = e) : e.kind === 'DevWorkspaceTemplate' - ? (content.DevWorkspaceTemplate = e) - : Logger.error( - 'Problems with configuration parsing, string should be in format "DevWorkspace\\n---\\nDevWorkspaceTemplate"' - ); + ? (content.DevWorkspaceTemplate = e) + : Logger.error( + 'Problems with configuration parsing, string should be in format "DevWorkspace\\n---\\nDevWorkspaceTemplate"' + ); }); return content; From da79ec0d59d62ec9deeff4ee37a98693a850d3b1 Mon Sep 17 00:00:00 2001 From: Aleksandr Shmaraiev Date: Mon, 4 Mar 2024 18:57:48 +0200 Subject: [PATCH 3/4] Fix up and clear --- tests/e2e/specs/factory/Factory.spec.ts | 12 +++--------- tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts | 4 ++-- tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/tests/e2e/specs/factory/Factory.spec.ts b/tests/e2e/specs/factory/Factory.spec.ts index fedb0d6008e..48e78be18db 100644 --- a/tests/e2e/specs/factory/Factory.spec.ts +++ b/tests/e2e/specs/factory/Factory.spec.ts @@ -63,7 +63,6 @@ suite( const timeToRefresh: number = 1500; const changesToCommit: string = new Date().getTime().toString(); const fileToChange: string = 'Date.txt'; - /*const commitChangesButtonLabel: string = `Commit Changes on "${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_BRANCH}"`;*/ const refreshButtonLabel: string = 'Refresh'; const pushItemLabel: string = 'Push'; let testRepoProjectName: string; @@ -141,7 +140,7 @@ suite( test('Check if the changes are displayed in the source control manager', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + Logger.debug(`wait and click on: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); @@ -164,7 +163,7 @@ suite( await scmProvider.commitChanges('Commit ' + changesToCommit); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + Logger.debug(`wait and click on: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); @@ -174,11 +173,6 @@ suite( }); test('Push the changes', async function (): Promise { - /* await driverHelper.waitVisibility( - webCheCodeLocators.ScmView.actionConstructor( - `Push 1 commits to origin/${FACTORY_TEST_CONSTANTS.TS_SELENIUM_FACTORY_GIT_REPO_BRANCH}` - ) - );*/ await driverHelper.waitVisibility(webCheCodeLocators.Notification.action); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); Logger.debug('scmProvider.openMoreActions'); @@ -191,7 +185,7 @@ suite( test('Check if the changes were pushed', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + Logger.debug(`wait and click on: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); const isCommitButtonDisabled: string = await driverHelper.waitAndGetElementAttribute( webCheCodeLocators.Notification.action, diff --git a/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts b/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts index 75dac79045b..9baf6e0f2f8 100644 --- a/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts +++ b/tests/e2e/specs/factory/NoSetupRepoFactory.spec.ts @@ -158,7 +158,7 @@ suite( test('Check if the changes are displayed in the source control manager', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + Logger.debug(`wait and click on: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); @@ -181,7 +181,7 @@ suite( await scmProvider.commitChanges('Commit ' + changesToCommit); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + Logger.debug(`wait and click on: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); diff --git a/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts b/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts index b85487130d2..aaa92e4345f 100644 --- a/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts +++ b/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts @@ -182,7 +182,7 @@ suite( await scmProvider.commitChanges('Commit ' + changesToCommit); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + Logger.debug(`wait and click: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); From cbe4b2df27a58c05bb0f31a5d7719820a27b37b4 Mon Sep 17 00:00:00 2001 From: Aleksandr Shmaraiev Date: Mon, 4 Mar 2024 19:04:34 +0200 Subject: [PATCH 4/4] Fix up --- tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts b/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts index aaa92e4345f..bf36f71cc87 100644 --- a/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts +++ b/tests/e2e/specs/factory/RefusedOAuthFactory.spec.ts @@ -159,7 +159,7 @@ suite( test('Check if the changes are displayed in the source control manager', async function (): Promise { await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - /* logger.debug(`scmProvider.takeAction: "${refreshButtonLabel}"`);*/ + Logger.debug(`wait and click on: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh); @@ -182,7 +182,7 @@ suite( await scmProvider.commitChanges('Commit ' + changesToCommit); await driverHelper.waitVisibility(webCheCodeLocators.ScmView.more); await driverHelper.wait(timeToRefresh); - Logger.debug(`wait and click: "${refreshButtonLabel}"`); + Logger.debug(`wait and click on: "${refreshButtonLabel}"`); await driverHelper.waitAndClick(webCheCodeLocators.ScmView.actionConstructor(refreshButtonLabel)); // wait while changes counter will be refreshed await driverHelper.wait(timeToRefresh);