From 17fd3dee0cb7faebdef52e4651675018d70e7b9d Mon Sep 17 00:00:00 2001 From: vlad-dargel Date: Tue, 5 Mar 2024 16:58:01 +0100 Subject: [PATCH 1/2] e2e/feature/RI-5462_dedicated_editor_for_sql_rdi --- tests/e2e/common-actions/monaco-editor.ts | 4 +- tests/e2e/pageObjects/base-overview-page.ts | 5 ++- tests/e2e/pageObjects/base-page.ts | 4 +- tests/e2e/pageObjects/browser-page.ts | 19 ++++----- .../pageObjects/components/common/button.ts | 6 +++ .../components/{ => common}/toast.ts | 0 .../e2e/pageObjects/components/explore-tab.ts | 1 - .../navigation/rdi-navigation-panel.ts | 3 +- .../pageObjects/components/overview-panel.ts | 5 ++- .../rdi/pipeline-management-panel.ts | 9 ++-- .../pageObjects/my-redis-databases-page.ts | 1 - tests/e2e/pageObjects/rdi-instance-page.ts | 2 + tests/e2e/pageObjects/settings-page.ts | 5 +-- .../triggers-and-functions-libraries-page.ts | 1 - tests/e2e/pageObjects/workbench-page.ts | 2 - .../web/critical-path/rdi/add-job.e2e.ts | 42 +++++++++++++++---- .../web/regression/database/edit-db.e2e.ts | 2 +- .../triggers-and-functions/libraries.e2e.ts | 4 +- .../web/regression/workbench/cypher.e2e.ts | 4 +- .../web/smoke/browser/edit-key-value.e2e.ts | 10 ++--- .../web/smoke/browser/set-ttl-for-key.e2e.ts | 2 +- 21 files changed, 79 insertions(+), 52 deletions(-) create mode 100644 tests/e2e/pageObjects/components/common/button.ts rename tests/e2e/pageObjects/components/{ => common}/toast.ts (100%) diff --git a/tests/e2e/common-actions/monaco-editor.ts b/tests/e2e/common-actions/monaco-editor.ts index 0b5ad45a4a..b53e13f911 100644 --- a/tests/e2e/common-actions/monaco-editor.ts +++ b/tests/e2e/common-actions/monaco-editor.ts @@ -2,7 +2,7 @@ import { Selector, t } from 'testcafe'; export class MonacoEditor { /** - * Send commands in monacoEditor + * Send commands in monacoEditor * @param input The input locator * @param command command * @param clean if field should be cleaned @@ -19,7 +19,7 @@ export class MonacoEditor { } /** - * Get text from monacoEditor + * Get text from monacoEditor */ static async getTextFromMonaco(): Promise { const textAreaMonaco = Selector('[class^=view-lines ]'); diff --git a/tests/e2e/pageObjects/base-overview-page.ts b/tests/e2e/pageObjects/base-overview-page.ts index c786c126de..99777b6c89 100644 --- a/tests/e2e/pageObjects/base-overview-page.ts +++ b/tests/e2e/pageObjects/base-overview-page.ts @@ -1,11 +1,12 @@ import { Selector, t } from 'testcafe'; import { RedisOverviewPage } from '../helpers/constants'; -import { Toast } from './components/toast'; +import { Toast } from './components/common/toast'; import { ShortcutsPanel } from './components/shortcuts-panel'; +import { Button } from './components/common/button'; export class BaseOverviewPage { - ShortcutsPanel = new ShortcutsPanel(); Toast = new Toast(); + Button = new Button(); notification = Selector('[data-testid^=-notification]'); deleteRowButton = Selector('[data-testid^=delete-instance-]'); diff --git a/tests/e2e/pageObjects/base-page.ts b/tests/e2e/pageObjects/base-page.ts index 44d6678c9c..2df968b2fe 100644 --- a/tests/e2e/pageObjects/base-page.ts +++ b/tests/e2e/pageObjects/base-page.ts @@ -1,7 +1,8 @@ import { Selector, t } from 'testcafe'; import { NavigationPanel } from './components/navigation-panel'; -import { Toast } from './components/toast'; +import { Toast } from './components/common/toast'; import { ShortcutsPanel } from './components/shortcuts-panel'; +import { Button } from './components/common/button'; export class BasePage { notification = Selector('[data-testid^=-notification]'); @@ -9,6 +10,7 @@ export class BasePage { NavigationPanel = new NavigationPanel(); ShortcutsPanel = new ShortcutsPanel(); Toast = new Toast(); + Button = new Button(); /** * Reload page diff --git a/tests/e2e/pageObjects/browser-page.ts b/tests/e2e/pageObjects/browser-page.ts index f91daf34d1..1288365ae8 100644 --- a/tests/e2e/pageObjects/browser-page.ts +++ b/tests/e2e/pageObjects/browser-page.ts @@ -29,13 +29,10 @@ export class BrowserPage extends InstancePage { hashDeleteButton = Selector('[data-testid=hash-delete-btn]'); setDeleteButton = Selector('[data-testid=set-delete-btn]'); streamDeleteButton = Selector('[data-testid=stream-delete-btn]'); - applyButton = Selector('[data-testid=apply-btn]'); deleteKeyButton = Selector('[data-testid=delete-key-btn]'); submitDeleteKeyButton = Selector('[data-testid=submit-delete-key]'); confirmDeleteKeyButton = Selector('[data-testid=delete-key-confirm-btn]'); editKeyTTLButton = Selector('[data-testid=edit-ttl-btn]'); - closeEditTTL = Selector('[data-testid=cancel-btn]'); - saveTTLValue = Selector('[data-testid=apply-btn]'); refreshKeysButton = Selector('[data-testid=refresh-keys-btn]'); refreshKeyButton = Selector('[data-testid=refresh-key-btn]'); editKeyNameButton = Selector('[data-testid=edit-key-btn]'); @@ -593,7 +590,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editKeyNameButton) .typeText(this.keyNameInput, keyName, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } /** @@ -604,7 +601,7 @@ export class BrowserPage extends InstancePage { await t .click(this.stringKeyValueInput) .typeText(this.stringKeyValueInput, value, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } //Get String key value from details @@ -620,7 +617,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editZsetButton) .typeText(this.inlineItemEditor, value, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } //Get Zset key score from details @@ -651,7 +648,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editHashButton) .typeText(this.hashFieldValueEditor, value, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } //Get Hash key value from details @@ -667,7 +664,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editListButton) .typeText(this.listKeyElementEditorInput, value, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } //Get List key value from details @@ -683,7 +680,7 @@ export class BrowserPage extends InstancePage { await t .click(this.jsonScalarValue) .typeText(this.inlineItemEditor, value, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } //Get JSON key value from details @@ -842,7 +839,7 @@ export class BrowserPage extends InstancePage { await t.click(this.addJsonObjectButton); await t.typeText(this.jsonKeyInput, jsonKey, { replace: true, paste: true }); await t.typeText(this.jsonValueInput, jsonKeyValue, { replace: true, paste: true }); - await t.click(this.applyButton); + await t.click(this.Button.applyBtn); } /** @@ -855,7 +852,7 @@ export class BrowserPage extends InstancePage { await t.click(this.addJsonFieldButton); await t.typeText(this.jsonKeyInput, jsonKey, { replace: true, paste: true }); await t.typeText(this.jsonValueInput, jsonKeyValue, { replace: true, paste: true }); - await t.click(this.applyButton); + await t.click(this.Button.applyBtn); } /** diff --git a/tests/e2e/pageObjects/components/common/button.ts b/tests/e2e/pageObjects/components/common/button.ts new file mode 100644 index 0000000000..36515607fa --- /dev/null +++ b/tests/e2e/pageObjects/components/common/button.ts @@ -0,0 +1,6 @@ +import { Selector } from 'testcafe'; + +export class Button { + cancelBtn = Selector('[data-testid=cancel-btn]'); + applyBtn = Selector('[data-testid=apply-btn]'); +} diff --git a/tests/e2e/pageObjects/components/toast.ts b/tests/e2e/pageObjects/components/common/toast.ts similarity index 100% rename from tests/e2e/pageObjects/components/toast.ts rename to tests/e2e/pageObjects/components/common/toast.ts diff --git a/tests/e2e/pageObjects/components/explore-tab.ts b/tests/e2e/pageObjects/components/explore-tab.ts index 6af80bd5dc..5574bcf73f 100644 --- a/tests/e2e/pageObjects/components/explore-tab.ts +++ b/tests/e2e/pageObjects/components/explore-tab.ts @@ -1,7 +1,6 @@ import { Selector, t } from 'testcafe'; export class ExploreTab { - dataStructureAccordionTutorialButton = Selector('[data-testid=accordion-button-ds]'); triggersFunctionsAccordionTutorialButton = Selector('[data-testid=accordion-button-tf]'); internalLinkWorkingWithHashes = Selector('[data-testid=internal-link-ds-hashes]'); diff --git a/tests/e2e/pageObjects/components/navigation/rdi-navigation-panel.ts b/tests/e2e/pageObjects/components/navigation/rdi-navigation-panel.ts index 3231b54b5c..dd7622a5ed 100644 --- a/tests/e2e/pageObjects/components/navigation/rdi-navigation-panel.ts +++ b/tests/e2e/pageObjects/components/navigation/rdi-navigation-panel.ts @@ -1,8 +1,7 @@ -import { Selector, t } from 'testcafe'; +import { Selector } from 'testcafe'; import { BaseNavigationPanel } from './base-navigation-panel'; export class RdiNavigationPanel extends BaseNavigationPanel{ managementPageButton = Selector('[data-testid=pipeline-management-page-btn]'); statusPageButton = Selector('[data-testid=pipeline-status-page-btn]'); - } diff --git a/tests/e2e/pageObjects/components/overview-panel.ts b/tests/e2e/pageObjects/components/overview-panel.ts index d2b24dd8f9..05b6114949 100644 --- a/tests/e2e/pageObjects/components/overview-panel.ts +++ b/tests/e2e/pageObjects/components/overview-panel.ts @@ -1,6 +1,8 @@ import { Selector, t } from 'testcafe'; +import { Button } from './common/button'; export class OverviewPanel { + Button = new Button(); // TEXT ELEMENTS overviewTotalKeys = Selector('[data-test-subj=overview-total-keys]'); overviewTotalMemory = Selector('[data-test-subj=overview-total-memory]'); @@ -15,7 +17,6 @@ export class OverviewPanel { overviewRedisStackLogo = Selector('[data-testid=redis-stack-logo]'); overviewMoreInfo = Selector('[data-testid=overview-more-info-button]'); changeIndexBtn = Selector('[data-testid=change-index-btn]'); - applyButton = Selector('[data-testid=apply-btn]'); databaseInfoIcon = Selector('[data-testid=db-info-icon]'); // PANEL overviewTooltip = Selector('[data-testid=overview-more-info-tooltip]'); @@ -30,7 +31,7 @@ export class OverviewPanel { async changeDbIndex(dbIndex: number): Promise { await t.click(this.changeIndexBtn) .typeText(this.changeIndexInput, dbIndex.toString(), { replace: true, paste: true }) - .click(this.applyButton) + .click(this.Button.applyBtn) .expect(this.changeIndexBtn.textContent).contains(dbIndex.toString()); } diff --git a/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts b/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts index bd1c9a221a..57b9a4104b 100644 --- a/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts +++ b/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts @@ -1,6 +1,8 @@ import { Selector, t } from 'testcafe'; +import { Button } from '../common/button'; export class PipelineManagementPanel { + Button = new Button(); configurationTab = Selector('[data-testid=rdi-nav-btn-config] div'); refreshPipelineIcon = Selector('[data-testid=refresh-pipeline-btn]'); @@ -12,8 +14,6 @@ export class PipelineManagementPanel { //Jobs addJobBtn = Selector('[data-testid=add-new-job]'); jobNameInput = Selector('[data-testid^=job-name-input-]'); - applyJobNameBtn = Selector('[data-testid=apply-btn]'); - cancelJobNameBtn = Selector('[data-testid=cancel-btn]'); jobItem = Selector('[data-testid*=rdi-nav-job-actions]'); confirmBtn = Selector('[data-testid=confirm-btn]'); jobsPipelineTitle = Selector('[class*=rdi__title]'); @@ -35,7 +35,7 @@ export class PipelineManagementPanel { async addJob(name: string): Promise { await t.click(this.addJobBtn); await t.typeText(this.jobNameInput, name); - await t.click(this.applyJobNameBtn); + await t.click(this.Button.applyBtn); } /** * Open Job by name @@ -64,7 +64,6 @@ export class PipelineManagementPanel { const jobBtnSelector = Selector(`[data-testid=edit-job-name-${name}]`); await t.click(jobBtnSelector) .typeText(this.jobNameInput, newName, { replace: true }) - .click(this.applyJobNameBtn); + .click(this.Button.applyBtn); } - } diff --git a/tests/e2e/pageObjects/my-redis-databases-page.ts b/tests/e2e/pageObjects/my-redis-databases-page.ts index 28bee2e9cf..2ac85bccb0 100644 --- a/tests/e2e/pageObjects/my-redis-databases-page.ts +++ b/tests/e2e/pageObjects/my-redis-databases-page.ts @@ -31,7 +31,6 @@ export class MyRedisDatabasePage extends BaseOverviewPage { confirmDeleteAllDbButton = Selector('[data-testid=delete-selected-dbs]'); editDatabaseButton = Selector('[data-testid^=edit-instance]'); editAliasButton = Selector('[data-testid=edit-alias-btn]'); - applyButton = Selector('[data-testid=apply-btn]'); submitChangesButton = Selector('[data-testid=btn-submit]'); promoButton = Selector('[data-testid=promo-btn]'); sortByDatabaseAlias = Selector('span').withAttribute('title', 'Database Alias'); diff --git a/tests/e2e/pageObjects/rdi-instance-page.ts b/tests/e2e/pageObjects/rdi-instance-page.ts index a0236129a0..b4f70af24d 100644 --- a/tests/e2e/pageObjects/rdi-instance-page.ts +++ b/tests/e2e/pageObjects/rdi-instance-page.ts @@ -30,6 +30,8 @@ export class RdiInstancePage extends BaseOverviewPage { configurationLink = Selector('[data-testid=rdi-pipeline-config-link]'); jobsInput = Selector('[data-testid=wrapper-rdi-monaco-jobs]'); + draggableArea = Selector('[data-testid=draggable-area]'); + dedicatedLanguageSelect = Selector('[data-testid=dedicated-editor-language-select]'); successDeployNotification = Selector('[data-testid=success-deploy-pipeline-notification]'); errorDeployNotification = Selector('[data-test-subj=toast-error-deploy]'); diff --git a/tests/e2e/pageObjects/settings-page.ts b/tests/e2e/pageObjects/settings-page.ts index d6b4895386..3edeebe9d8 100644 --- a/tests/e2e/pageObjects/settings-page.ts +++ b/tests/e2e/pageObjects/settings-page.ts @@ -18,7 +18,6 @@ export class SettingsPage extends BasePage { submitConsentsPopupButton = Selector('[data-testid=consents-settings-popup] [data-testid=btn-submit]'); switchNotificationsOption = Selector('[data-testid=switch-option-notifications]'); switchEditorCleanupOption = Selector('[data-testid=switch-workbench-cleanup]'); - applyButton = Selector('[data-testid=apply-btn]'); //TEXT INPUTS (also referred to as 'Text fields') keysToScanValue = Selector('[data-testid=keys-to-scan-value]'); keysToScanInput = Selector('[data-testid=keys-to-scan-input]'); @@ -35,7 +34,7 @@ export class SettingsPage extends BasePage { .hover(this.keysToScanValue) .click(this.keysToScanInput) .typeText(this.keysToScanInput, value, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } /** @@ -46,7 +45,7 @@ export class SettingsPage extends BasePage { await t.hover(this.commandsInPipelineValue) .click(this.commandsInPipelineInput) .typeText(this.commandsInPipelineInput, value, { replace: true, paste: true }) - .click(this.applyButton); + .click(this.Button.applyBtn); } /** diff --git a/tests/e2e/pageObjects/triggers-and-functions-libraries-page.ts b/tests/e2e/pageObjects/triggers-and-functions-libraries-page.ts index bf3102bfaa..9ee2574618 100644 --- a/tests/e2e/pageObjects/triggers-and-functions-libraries-page.ts +++ b/tests/e2e/pageObjects/triggers-and-functions-libraries-page.ts @@ -7,7 +7,6 @@ import { InstancePage } from './instance-page'; export class TriggersAndFunctionsLibrariesPage extends InstancePage { //Buttons editMonacoButton = Selector('[data-testid=edit-monaco-value]'); - acceptButton = Selector('[data-testid=apply-btn]'); addLibraryButton = Selector('[data-testid=btn-add-library]'); uploadFileButton = Selector('[data-testid=upload-file-btn]'); addLibrarySubmitButton = Selector('[data-testid=add-library-btn-submit]'); diff --git a/tests/e2e/pageObjects/workbench-page.ts b/tests/e2e/pageObjects/workbench-page.ts index a628d943ab..5a47e0f5b6 100644 --- a/tests/e2e/pageObjects/workbench-page.ts +++ b/tests/e2e/pageObjects/workbench-page.ts @@ -39,8 +39,6 @@ export class WorkbenchPage extends InstancePage { reRunCommandButton = Selector('[data-testid=re-run-command]'); preselectManual = Selector('[data-testid=preselect-Manual]'); fullScreenButton = Selector('[data-testid=toggle-full-screen]'); - cancelButton = Selector('[data-testid=cancel-btn]'); - applyButton = Selector('[data-testid=apply-btn]'); queryCardNoModuleButton = Selector('[data-testid=query-card-no-module-button] a'); rawModeBtn = Selector('[data-testid="btn-change-mode"]'); closeEnablementPage = Selector('[data-testid=enablement-area__page-close]'); diff --git a/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts b/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts index d1d06f0d68..09f92e355c 100644 --- a/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts +++ b/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts @@ -33,7 +33,6 @@ fixture.skip `Add job` await rdiApiRequests.addNewRdiApi(rdiInstance); await rdiInstancesListPage.reloadPage(); await rdiInstancesListPage.clickRdiByName(rdiInstance.name); - }) .afterEach(async() => { await rdiApiRequests.deleteAllRdiApi(); @@ -49,11 +48,11 @@ test('Verify that user can add, edit and delete job', async() => { await t.expect(placeholder).eql('Enter job name'); await t - .expect(rdiInstancePage.PipelineManagementPanel.applyJobNameBtn.hasAttribute('disabled')).ok('the button is not disabled'); - await t.hover(rdiInstancePage.PipelineManagementPanel.applyJobNameBtn); + .expect(rdiInstancePage.PipelineManagementPanel.Button.applyBtn.hasAttribute('disabled')).ok('the button is not disabled'); + await t.hover(rdiInstancePage.PipelineManagementPanel.Button.applyBtn); await browserActions.verifyTooltipContainsText('Job name is required', true); - await t.click(rdiInstancePage.PipelineManagementPanel.cancelJobNameBtn); + await t.click(rdiInstancePage.Button.cancelBtn); await rdiInstancePage.PipelineManagementPanel.addJob(jobName); const elementItem = await rdiInstancePage.PipelineManagementPanel.jobItem.count; @@ -62,10 +61,10 @@ test('Verify that user can add, edit and delete job', async() => { await t.click(rdiInstancePage.PipelineManagementPanel.addJobBtn); await t.typeText(rdiInstancePage.PipelineManagementPanel.jobNameInput, jobName); await t - .expect(rdiInstancePage.PipelineManagementPanel.applyJobNameBtn.hasAttribute('disabled')).ok('the button is not disabled'); - await t.hover(rdiInstancePage.PipelineManagementPanel.applyJobNameBtn); + .expect(rdiInstancePage.PipelineManagementPanel.Button.applyBtn.hasAttribute('disabled')).ok('the button is not disabled'); + await t.hover(rdiInstancePage.PipelineManagementPanel.Button.applyBtn); await browserActions.verifyTooltipContainsText('Job name is already in use', true); - await t.click(rdiInstancePage.PipelineManagementPanel.cancelJobNameBtn); + await t.click(rdiInstancePage.Button.cancelBtn); await rdiInstancePage.PipelineManagementPanel.addJob(jobName2); let elementItem2 = await rdiInstancePage.PipelineManagementPanel.jobItem.count; @@ -80,7 +79,7 @@ test('Verify that user can add, edit and delete job', async() => { await t.expect(rdiInstancePage.PipelineManagementPanel.jobsPipelineTitle.textContent).eql(jobName2); }); -test('Verify that user can add, edit and delete job', async() => { +test('Verify that user can change job config', async() => { const jobName = 'testJob'; const textForMonaco = 'here should be a job'; @@ -91,3 +90,30 @@ test('Verify that user can add, edit and delete job', async() => { text = await MonacoEditor.getTextFromMonaco(); await t.expect(text).eql(textForMonaco, 'user can not enter a text'); }); +test('Verify that user can open an additional editor to work with SQL and JMESPath expressions', async() => { + const jobName = 'testJob'; + const sqlText = 'SELECT test FROM test1'; + + await rdiInstancePage.PipelineManagementPanel.addJob(jobName); + await t.click(rdiInstancePage.jobsInput); + // Verify that editor is not displayed by default + await t.expect(rdiInstancePage.draggableArea.exists).notOk('SQL/JMESPath editor is displayed by default'); + + await t.pressKey('shift+space'); + // Verify that user can open an additional editor to work with SQL and JMESPath expressions + await t.expect(rdiInstancePage.draggableArea.exists).ok('SQL/JMESPath editor is not displayed'); + + // Verify that user can see SQL(set by default) and JMESPath editor options + await t.expect(rdiInstancePage.dedicatedLanguageSelect.textContent).eql('SQL', 'SQL is not set by default'); + + // Verify that user can close the additional editor + await MonacoEditor.sendTextToMonaco(rdiInstancePage.draggableArea, sqlText, false); + await t.click(rdiInstancePage.Button.cancelBtn); + await t.expect(rdiInstancePage.draggableArea.exists).notOk('SQL/JMESPath editor is displayed after closing'); + await t.expect(await MonacoEditor.getTextFromMonaco()).eql('', 'Text from canceled SQL editor applied'); + + await t.pressKey('shift+space'); + await MonacoEditor.sendTextToMonaco(rdiInstancePage.draggableArea, sqlText, false); + await t.click(rdiInstancePage.Button.applyBtn); + await t.expect(await MonacoEditor.getTextFromMonaco()).eql(sqlText, 'Text from SQL editor not applied'); +}); diff --git a/tests/e2e/tests/web/regression/database/edit-db.e2e.ts b/tests/e2e/tests/web/regression/database/edit-db.e2e.ts index ab496a8167..45cdd3c41a 100644 --- a/tests/e2e/tests/web/regression/database/edit-db.e2e.ts +++ b/tests/e2e/tests/web/regression/database/edit-db.e2e.ts @@ -38,7 +38,7 @@ test('Verify that user can edit DB alias of Standalone DB', async t => { await t.click(myRedisDatabasePage.editAliasButton); await t.typeText(myRedisDatabasePage.aliasInput, newDatabaseName, { replace: true }); - await t.click(myRedisDatabasePage.applyButton); + await t.click(myRedisDatabasePage.Button.applyBtn); await t.click(myRedisDatabasePage.submitChangesButton); // Verify that database has new alias await t.expect(myRedisDatabasePage.dbNameList.withExactText(newDatabaseName).exists).ok('The database with new alias is in not the list', { timeout: 10000 }); diff --git a/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts b/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts index 822a962e66..6958cdea10 100644 --- a/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts +++ b/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts @@ -100,14 +100,14 @@ test('Verify that user can modify code', async t => { await t.click(await triggersAndFunctionsLibrariesPage.getLibraryNameSelector(libraryName)); await t.click(triggersAndFunctionsLibrariesPage.editMonacoButton); await triggersAndFunctionsLibrariesPage.sendTextToMonaco(MonacoEditorInputs.Library, commandUpdatedPart1, commandUpdatedPart2); - await t.click(triggersAndFunctionsLibrariesPage.acceptButton); + await t.click(triggersAndFunctionsLibrariesPage.Button.applyBtn); await t.expect( (await MonacoEditor.getTextFromMonaco())).eql(commandUpdatedPart1 + commandUpdatedPart2), 'code was not updated'; await t.click(await triggersAndFunctionsLibrariesPage.configurationLink); await t.click(triggersAndFunctionsLibrariesPage.editMonacoButton); await triggersAndFunctionsLibrariesPage.sendTextToMonaco(MonacoEditorInputs.LibraryConfiguration, configuration); - await t.click(triggersAndFunctionsLibrariesPage.acceptButton); + await t.click(triggersAndFunctionsLibrariesPage.Button.applyBtn); await t.expect( (await MonacoEditor.getTextFromMonaco())).eql(configuration, 'configuration was not added'); }); diff --git a/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts b/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts index be706fb127..3342d524b5 100644 --- a/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts +++ b/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts @@ -43,7 +43,7 @@ test('Verify that when user clicks on the “X” control or use shortcut “ESC await t.click(workbenchPage.monacoWidget); // Do some changes in the Editor and close by “X” control await t.typeText(workbenchPage.queryInput.nth(1), 'test', { replace: true }); - await t.click(workbenchPage.cancelButton); + await t.click(workbenchPage.Button.cancelBtn); // Verify that editor is closed and changes are not saved let commandAfter = await workbenchPage.scriptsLines.textContent; await t.expect(workbenchPage.queryInput.nth(1).exists).notOk('The popover Editor is not closed'); @@ -66,7 +66,7 @@ test('Verify that when user use shortcut “CTRL+ENTER” or clicks on the “V script = 'test'; await t.pressKey('ctrl+a'); await t.typeText(workbenchPage.queryInput.nth(1), script, { replace: true }); - await t.click(workbenchPage.applyButton); + await t.click(workbenchPage.Button.applyBtn); // Verify that editor is closed and changes are saved let commandAfter = await workbenchPage.scriptsLines.textContent; await t.expect(workbenchPage.queryInput.nth(1).exists).notOk('The popover Editor is not closed'); diff --git a/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts b/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts index 8c05d25459..1f33c61289 100644 --- a/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts +++ b/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts @@ -41,7 +41,7 @@ test('Verify that user can edit String value', async t => { // Verify that refresh is disabled for String key when editing value await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.applyButton); + await t.click(browserPage.Button.applyBtn); // Check the key value after edit keyValue = await browserPage.getStringKeyValue(); await t.expect(keyValue).contains(keyValueAfter, 'Edited String value is incorrect'); @@ -62,7 +62,7 @@ test('Verify that user can edit Zset Key member', async t => { // Verify that refresh is disabled for Zset key when editing member await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.applyButton); + await t.click(browserPage.Button.applyBtn); // Check Zset key score after edit zsetScore = await browserPage.getZsetKeyScore(); await t.expect(zsetScore).contains(scoreAfter, 'Zset Score is not edited'); @@ -82,7 +82,7 @@ test('Verify that user can edit Hash Key field', async t => { // Verify that refresh is disabled for Hash key when editing field await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.applyButton); + await t.click(browserPage.Button.applyBtn); // Check Hash key value after edit keyValue = await browserPage.getHashKeyValue(); await t.expect(keyValue).contains(keyValueAfter, 'Edited Hash value is incorrect'); @@ -101,7 +101,7 @@ test('Verify that user can edit List Key element', async t => { // Verify that refresh is disabled for List key when editing element await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.applyButton); + await t.click(browserPage.Button.applyBtn); // Check List key value after edit keyValue = await browserPage.getListKeyValue(); await t.expect(keyValue).contains(keyValueAfter, 'Edited List value is incorrect'); @@ -122,7 +122,7 @@ test('Verify that user can edit JSON Key value', async t => { // Verify that refresh is not disabled for JSON key when editing value await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).notOk('Refresh button disabled for JSON'); - await t.click(browserPage.applyButton); + await t.click(browserPage.Button.applyBtn); // Check JSON key value after edit await t.expect(await browserPage.getJsonKeyValue()).contains(jsonValueAfter, 'Edited JSON value is incorrect'); }); diff --git a/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts b/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts index 1327cff3a4..3710751bb3 100644 --- a/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts +++ b/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts @@ -37,7 +37,7 @@ test('Verify that user can specify TTL for Key', async t => { // Set TTL value await t.typeText(browserPage.editKeyTTLInput, ttlValue, { replace: true, paste: true }); // Save the TTL value - await t.click(browserPage.saveTTLValue); + await t.click(browserPage.Button.applyBtn); // Refresh the page in several seconds await t.wait(3000); await t.click(browserPage.refreshKeyButton); From 793e3d159c93191b7fa934ddd23e37de056e0e5c Mon Sep 17 00:00:00 2001 From: vlad-dargel Date: Wed, 6 Mar 2024 10:32:05 +0100 Subject: [PATCH 2/2] renamed to editorButton --- tests/e2e/pageObjects/base-overview-page.ts | 4 ++-- tests/e2e/pageObjects/base-page.ts | 4 ++-- tests/e2e/pageObjects/browser-page.ts | 16 ++++++++-------- .../common/{button.ts => editorButton.ts} | 2 +- .../e2e/pageObjects/components/overview-panel.ts | 6 +++--- .../components/rdi/pipeline-management-panel.ts | 8 ++++---- tests/e2e/pageObjects/settings-page.ts | 4 ++-- .../tests/web/critical-path/rdi/add-job.e2e.ts | 16 ++++++++-------- .../tests/web/regression/database/edit-db.e2e.ts | 2 +- .../triggers-and-functions/libraries.e2e.ts | 4 ++-- .../tests/web/regression/workbench/cypher.e2e.ts | 4 ++-- .../web/smoke/browser/edit-key-value.e2e.ts | 10 +++++----- .../web/smoke/browser/set-ttl-for-key.e2e.ts | 2 +- 13 files changed, 41 insertions(+), 41 deletions(-) rename tests/e2e/pageObjects/components/common/{button.ts => editorButton.ts} (83%) diff --git a/tests/e2e/pageObjects/base-overview-page.ts b/tests/e2e/pageObjects/base-overview-page.ts index 99777b6c89..fe33bcd697 100644 --- a/tests/e2e/pageObjects/base-overview-page.ts +++ b/tests/e2e/pageObjects/base-overview-page.ts @@ -2,11 +2,11 @@ import { Selector, t } from 'testcafe'; import { RedisOverviewPage } from '../helpers/constants'; import { Toast } from './components/common/toast'; import { ShortcutsPanel } from './components/shortcuts-panel'; -import { Button } from './components/common/button'; +import { EditorButton } from './components/common/editorButton'; export class BaseOverviewPage { ShortcutsPanel = new ShortcutsPanel(); Toast = new Toast(); - Button = new Button(); + EditorButton = new EditorButton(); notification = Selector('[data-testid^=-notification]'); deleteRowButton = Selector('[data-testid^=delete-instance-]'); diff --git a/tests/e2e/pageObjects/base-page.ts b/tests/e2e/pageObjects/base-page.ts index 2df968b2fe..faee218ed1 100644 --- a/tests/e2e/pageObjects/base-page.ts +++ b/tests/e2e/pageObjects/base-page.ts @@ -2,7 +2,7 @@ import { Selector, t } from 'testcafe'; import { NavigationPanel } from './components/navigation-panel'; import { Toast } from './components/common/toast'; import { ShortcutsPanel } from './components/shortcuts-panel'; -import { Button } from './components/common/button'; +import { EditorButton } from './components/common/editorButton'; export class BasePage { notification = Selector('[data-testid^=-notification]'); @@ -10,7 +10,7 @@ export class BasePage { NavigationPanel = new NavigationPanel(); ShortcutsPanel = new ShortcutsPanel(); Toast = new Toast(); - Button = new Button(); + EditorButton = new EditorButton(); /** * Reload page diff --git a/tests/e2e/pageObjects/browser-page.ts b/tests/e2e/pageObjects/browser-page.ts index 1288365ae8..76095471e7 100644 --- a/tests/e2e/pageObjects/browser-page.ts +++ b/tests/e2e/pageObjects/browser-page.ts @@ -590,7 +590,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editKeyNameButton) .typeText(this.keyNameInput, keyName, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } /** @@ -601,7 +601,7 @@ export class BrowserPage extends InstancePage { await t .click(this.stringKeyValueInput) .typeText(this.stringKeyValueInput, value, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } //Get String key value from details @@ -617,7 +617,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editZsetButton) .typeText(this.inlineItemEditor, value, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } //Get Zset key score from details @@ -648,7 +648,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editHashButton) .typeText(this.hashFieldValueEditor, value, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } //Get Hash key value from details @@ -664,7 +664,7 @@ export class BrowserPage extends InstancePage { await t .click(this.editListButton) .typeText(this.listKeyElementEditorInput, value, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } //Get List key value from details @@ -680,7 +680,7 @@ export class BrowserPage extends InstancePage { await t .click(this.jsonScalarValue) .typeText(this.inlineItemEditor, value, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } //Get JSON key value from details @@ -839,7 +839,7 @@ export class BrowserPage extends InstancePage { await t.click(this.addJsonObjectButton); await t.typeText(this.jsonKeyInput, jsonKey, { replace: true, paste: true }); await t.typeText(this.jsonValueInput, jsonKeyValue, { replace: true, paste: true }); - await t.click(this.Button.applyBtn); + await t.click(this.EditorButton.applyBtn); } /** @@ -852,7 +852,7 @@ export class BrowserPage extends InstancePage { await t.click(this.addJsonFieldButton); await t.typeText(this.jsonKeyInput, jsonKey, { replace: true, paste: true }); await t.typeText(this.jsonValueInput, jsonKeyValue, { replace: true, paste: true }); - await t.click(this.Button.applyBtn); + await t.click(this.EditorButton.applyBtn); } /** diff --git a/tests/e2e/pageObjects/components/common/button.ts b/tests/e2e/pageObjects/components/common/editorButton.ts similarity index 83% rename from tests/e2e/pageObjects/components/common/button.ts rename to tests/e2e/pageObjects/components/common/editorButton.ts index 36515607fa..2b5790e64f 100644 --- a/tests/e2e/pageObjects/components/common/button.ts +++ b/tests/e2e/pageObjects/components/common/editorButton.ts @@ -1,6 +1,6 @@ import { Selector } from 'testcafe'; -export class Button { +export class EditorButton { cancelBtn = Selector('[data-testid=cancel-btn]'); applyBtn = Selector('[data-testid=apply-btn]'); } diff --git a/tests/e2e/pageObjects/components/overview-panel.ts b/tests/e2e/pageObjects/components/overview-panel.ts index 05b6114949..3d817468df 100644 --- a/tests/e2e/pageObjects/components/overview-panel.ts +++ b/tests/e2e/pageObjects/components/overview-panel.ts @@ -1,8 +1,8 @@ import { Selector, t } from 'testcafe'; -import { Button } from './common/button'; +import { EditorButton } from './common/editorButton'; export class OverviewPanel { - Button = new Button(); + EditorButton = new EditorButton(); // TEXT ELEMENTS overviewTotalKeys = Selector('[data-test-subj=overview-total-keys]'); overviewTotalMemory = Selector('[data-test-subj=overview-total-memory]'); @@ -31,7 +31,7 @@ export class OverviewPanel { async changeDbIndex(dbIndex: number): Promise { await t.click(this.changeIndexBtn) .typeText(this.changeIndexInput, dbIndex.toString(), { replace: true, paste: true }) - .click(this.Button.applyBtn) + .click(this.EditorButton.applyBtn) .expect(this.changeIndexBtn.textContent).contains(dbIndex.toString()); } diff --git a/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts b/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts index 57b9a4104b..9a5c0fb738 100644 --- a/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts +++ b/tests/e2e/pageObjects/components/rdi/pipeline-management-panel.ts @@ -1,8 +1,8 @@ import { Selector, t } from 'testcafe'; -import { Button } from '../common/button'; +import { EditorButton } from '../common/editorButton'; export class PipelineManagementPanel { - Button = new Button(); + EditorButton = new EditorButton(); configurationTab = Selector('[data-testid=rdi-nav-btn-config] div'); refreshPipelineIcon = Selector('[data-testid=refresh-pipeline-btn]'); @@ -35,7 +35,7 @@ export class PipelineManagementPanel { async addJob(name: string): Promise { await t.click(this.addJobBtn); await t.typeText(this.jobNameInput, name); - await t.click(this.Button.applyBtn); + await t.click(this.EditorButton.applyBtn); } /** * Open Job by name @@ -64,6 +64,6 @@ export class PipelineManagementPanel { const jobBtnSelector = Selector(`[data-testid=edit-job-name-${name}]`); await t.click(jobBtnSelector) .typeText(this.jobNameInput, newName, { replace: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } } diff --git a/tests/e2e/pageObjects/settings-page.ts b/tests/e2e/pageObjects/settings-page.ts index 3edeebe9d8..057facbcef 100644 --- a/tests/e2e/pageObjects/settings-page.ts +++ b/tests/e2e/pageObjects/settings-page.ts @@ -34,7 +34,7 @@ export class SettingsPage extends BasePage { .hover(this.keysToScanValue) .click(this.keysToScanInput) .typeText(this.keysToScanInput, value, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } /** @@ -45,7 +45,7 @@ export class SettingsPage extends BasePage { await t.hover(this.commandsInPipelineValue) .click(this.commandsInPipelineInput) .typeText(this.commandsInPipelineInput, value, { replace: true, paste: true }) - .click(this.Button.applyBtn); + .click(this.EditorButton.applyBtn); } /** diff --git a/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts b/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts index 09f92e355c..b940437df1 100644 --- a/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts +++ b/tests/e2e/tests/web/critical-path/rdi/add-job.e2e.ts @@ -48,11 +48,11 @@ test('Verify that user can add, edit and delete job', async() => { await t.expect(placeholder).eql('Enter job name'); await t - .expect(rdiInstancePage.PipelineManagementPanel.Button.applyBtn.hasAttribute('disabled')).ok('the button is not disabled'); - await t.hover(rdiInstancePage.PipelineManagementPanel.Button.applyBtn); + .expect(rdiInstancePage.PipelineManagementPanel.EditorButton.applyBtn.hasAttribute('disabled')).ok('the button is not disabled'); + await t.hover(rdiInstancePage.PipelineManagementPanel.EditorButton.applyBtn); await browserActions.verifyTooltipContainsText('Job name is required', true); - await t.click(rdiInstancePage.Button.cancelBtn); + await t.click(rdiInstancePage.EditorButton.cancelBtn); await rdiInstancePage.PipelineManagementPanel.addJob(jobName); const elementItem = await rdiInstancePage.PipelineManagementPanel.jobItem.count; @@ -61,10 +61,10 @@ test('Verify that user can add, edit and delete job', async() => { await t.click(rdiInstancePage.PipelineManagementPanel.addJobBtn); await t.typeText(rdiInstancePage.PipelineManagementPanel.jobNameInput, jobName); await t - .expect(rdiInstancePage.PipelineManagementPanel.Button.applyBtn.hasAttribute('disabled')).ok('the button is not disabled'); - await t.hover(rdiInstancePage.PipelineManagementPanel.Button.applyBtn); + .expect(rdiInstancePage.PipelineManagementPanel.EditorButton.applyBtn.hasAttribute('disabled')).ok('the button is not disabled'); + await t.hover(rdiInstancePage.PipelineManagementPanel.EditorButton.applyBtn); await browserActions.verifyTooltipContainsText('Job name is already in use', true); - await t.click(rdiInstancePage.Button.cancelBtn); + await t.click(rdiInstancePage.EditorButton.cancelBtn); await rdiInstancePage.PipelineManagementPanel.addJob(jobName2); let elementItem2 = await rdiInstancePage.PipelineManagementPanel.jobItem.count; @@ -108,12 +108,12 @@ test('Verify that user can open an additional editor to work with SQL and JMESPa // Verify that user can close the additional editor await MonacoEditor.sendTextToMonaco(rdiInstancePage.draggableArea, sqlText, false); - await t.click(rdiInstancePage.Button.cancelBtn); + await t.click(rdiInstancePage.EditorButton.cancelBtn); await t.expect(rdiInstancePage.draggableArea.exists).notOk('SQL/JMESPath editor is displayed after closing'); await t.expect(await MonacoEditor.getTextFromMonaco()).eql('', 'Text from canceled SQL editor applied'); await t.pressKey('shift+space'); await MonacoEditor.sendTextToMonaco(rdiInstancePage.draggableArea, sqlText, false); - await t.click(rdiInstancePage.Button.applyBtn); + await t.click(rdiInstancePage.EditorButton.applyBtn); await t.expect(await MonacoEditor.getTextFromMonaco()).eql(sqlText, 'Text from SQL editor not applied'); }); diff --git a/tests/e2e/tests/web/regression/database/edit-db.e2e.ts b/tests/e2e/tests/web/regression/database/edit-db.e2e.ts index 45cdd3c41a..1b816bd1b8 100644 --- a/tests/e2e/tests/web/regression/database/edit-db.e2e.ts +++ b/tests/e2e/tests/web/regression/database/edit-db.e2e.ts @@ -38,7 +38,7 @@ test('Verify that user can edit DB alias of Standalone DB', async t => { await t.click(myRedisDatabasePage.editAliasButton); await t.typeText(myRedisDatabasePage.aliasInput, newDatabaseName, { replace: true }); - await t.click(myRedisDatabasePage.Button.applyBtn); + await t.click(myRedisDatabasePage.EditorButton.applyBtn); await t.click(myRedisDatabasePage.submitChangesButton); // Verify that database has new alias await t.expect(myRedisDatabasePage.dbNameList.withExactText(newDatabaseName).exists).ok('The database with new alias is in not the list', { timeout: 10000 }); diff --git a/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts b/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts index 6958cdea10..ae96ea356c 100644 --- a/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts +++ b/tests/e2e/tests/web/regression/triggers-and-functions/libraries.e2e.ts @@ -100,14 +100,14 @@ test('Verify that user can modify code', async t => { await t.click(await triggersAndFunctionsLibrariesPage.getLibraryNameSelector(libraryName)); await t.click(triggersAndFunctionsLibrariesPage.editMonacoButton); await triggersAndFunctionsLibrariesPage.sendTextToMonaco(MonacoEditorInputs.Library, commandUpdatedPart1, commandUpdatedPart2); - await t.click(triggersAndFunctionsLibrariesPage.Button.applyBtn); + await t.click(triggersAndFunctionsLibrariesPage.EditorButton.applyBtn); await t.expect( (await MonacoEditor.getTextFromMonaco())).eql(commandUpdatedPart1 + commandUpdatedPart2), 'code was not updated'; await t.click(await triggersAndFunctionsLibrariesPage.configurationLink); await t.click(triggersAndFunctionsLibrariesPage.editMonacoButton); await triggersAndFunctionsLibrariesPage.sendTextToMonaco(MonacoEditorInputs.LibraryConfiguration, configuration); - await t.click(triggersAndFunctionsLibrariesPage.Button.applyBtn); + await t.click(triggersAndFunctionsLibrariesPage.EditorButton.applyBtn); await t.expect( (await MonacoEditor.getTextFromMonaco())).eql(configuration, 'configuration was not added'); }); diff --git a/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts b/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts index 3342d524b5..558f2cf86f 100644 --- a/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts +++ b/tests/e2e/tests/web/regression/workbench/cypher.e2e.ts @@ -43,7 +43,7 @@ test('Verify that when user clicks on the “X” control or use shortcut “ESC await t.click(workbenchPage.monacoWidget); // Do some changes in the Editor and close by “X” control await t.typeText(workbenchPage.queryInput.nth(1), 'test', { replace: true }); - await t.click(workbenchPage.Button.cancelBtn); + await t.click(workbenchPage.EditorButton.cancelBtn); // Verify that editor is closed and changes are not saved let commandAfter = await workbenchPage.scriptsLines.textContent; await t.expect(workbenchPage.queryInput.nth(1).exists).notOk('The popover Editor is not closed'); @@ -66,7 +66,7 @@ test('Verify that when user use shortcut “CTRL+ENTER” or clicks on the “V script = 'test'; await t.pressKey('ctrl+a'); await t.typeText(workbenchPage.queryInput.nth(1), script, { replace: true }); - await t.click(workbenchPage.Button.applyBtn); + await t.click(workbenchPage.EditorButton.applyBtn); // Verify that editor is closed and changes are saved let commandAfter = await workbenchPage.scriptsLines.textContent; await t.expect(workbenchPage.queryInput.nth(1).exists).notOk('The popover Editor is not closed'); diff --git a/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts b/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts index 1f33c61289..c805344e75 100644 --- a/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts +++ b/tests/e2e/tests/web/smoke/browser/edit-key-value.e2e.ts @@ -41,7 +41,7 @@ test('Verify that user can edit String value', async t => { // Verify that refresh is disabled for String key when editing value await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.Button.applyBtn); + await t.click(browserPage.EditorButton.applyBtn); // Check the key value after edit keyValue = await browserPage.getStringKeyValue(); await t.expect(keyValue).contains(keyValueAfter, 'Edited String value is incorrect'); @@ -62,7 +62,7 @@ test('Verify that user can edit Zset Key member', async t => { // Verify that refresh is disabled for Zset key when editing member await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.Button.applyBtn); + await t.click(browserPage.EditorButton.applyBtn); // Check Zset key score after edit zsetScore = await browserPage.getZsetKeyScore(); await t.expect(zsetScore).contains(scoreAfter, 'Zset Score is not edited'); @@ -82,7 +82,7 @@ test('Verify that user can edit Hash Key field', async t => { // Verify that refresh is disabled for Hash key when editing field await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.Button.applyBtn); + await t.click(browserPage.EditorButton.applyBtn); // Check Hash key value after edit keyValue = await browserPage.getHashKeyValue(); await t.expect(keyValue).contains(keyValueAfter, 'Edited Hash value is incorrect'); @@ -101,7 +101,7 @@ test('Verify that user can edit List Key element', async t => { // Verify that refresh is disabled for List key when editing element await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).ok('Refresh button not disabled'); - await t.click(browserPage.Button.applyBtn); + await t.click(browserPage.EditorButton.applyBtn); // Check List key value after edit keyValue = await browserPage.getListKeyValue(); await t.expect(keyValue).contains(keyValueAfter, 'Edited List value is incorrect'); @@ -122,7 +122,7 @@ test('Verify that user can edit JSON Key value', async t => { // Verify that refresh is not disabled for JSON key when editing value await t.expect(browserPage.refreshKeyButton.hasAttribute('disabled')).notOk('Refresh button disabled for JSON'); - await t.click(browserPage.Button.applyBtn); + await t.click(browserPage.EditorButton.applyBtn); // Check JSON key value after edit await t.expect(await browserPage.getJsonKeyValue()).contains(jsonValueAfter, 'Edited JSON value is incorrect'); }); diff --git a/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts b/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts index 3710751bb3..e097f2e1fa 100644 --- a/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts +++ b/tests/e2e/tests/web/smoke/browser/set-ttl-for-key.e2e.ts @@ -37,7 +37,7 @@ test('Verify that user can specify TTL for Key', async t => { // Set TTL value await t.typeText(browserPage.editKeyTTLInput, ttlValue, { replace: true, paste: true }); // Save the TTL value - await t.click(browserPage.Button.applyBtn); + await t.click(browserPage.EditorButton.applyBtn); // Refresh the page in several seconds await t.wait(3000); await t.click(browserPage.refreshKeyButton);