From 62c2bf7ad2146a2d9b808719b064ac507c69c8fa Mon Sep 17 00:00:00 2001 From: Lukasz Jagiela Date: Wed, 19 Feb 2025 13:38:56 +0100 Subject: [PATCH] test: add missing checks for settings tests --- .../SettingsPreferences.tsx | 2 +- .../src/assert/settings/SettingsPageAssert.ts | 39 +++++++++++++++++++ .../src/elements/settings/SettingsPage.ts | 15 +++++++ .../SettingsPageExtended.part2.feature | 10 +++-- .../features/SettingsPagePopup.part2.feature | 11 ++++-- packages/e2e-tests/src/steps/settingsSteps.ts | 21 ++++++++-- 6 files changed, 88 insertions(+), 10 deletions(-) diff --git a/apps/browser-extension-wallet/src/views/browser-view/features/settings/components/SettingsPreferences/SettingsPreferences.tsx b/apps/browser-extension-wallet/src/views/browser-view/features/settings/components/SettingsPreferences/SettingsPreferences.tsx index ef2d0d4dbe..b82bc25f8e 100644 --- a/apps/browser-extension-wallet/src/views/browser-view/features/settings/components/SettingsPreferences/SettingsPreferences.tsx +++ b/apps/browser-extension-wallet/src/views/browser-view/features/settings/components/SettingsPreferences/SettingsPreferences.tsx @@ -81,7 +81,7 @@ export const SettingsPreferences = ({ popupView = false }: SettingsPreferencesPr sendCurrencyChangeEvent={handleSendCurrencyChangeEvent} /> - + <Title level={5} className={styles.heading5} data-testid="wallet-preferences-heading"> {t('browserView.settings.preferences.title')} { + return $(this.PREFERENCES_HEADER); + } + get removeWalletHeader(): ChainablePromiseElement { return $(this.REMOVE_WALLET_HEADER); } @@ -109,6 +116,10 @@ class SettingsPage extends CommonDrawerElements { return new SettingsLink(this.BETA_PROGRAM_LINK_TEST_ID); } + get debuggingLink() { + return new SettingsLink(this.DEBUGGING_LINK_TEST_ID); + } + get customSubmitAPILink() { return new SettingsLink(this.CUSTOM_SUBMIT_API_LINK_TEST_ID); } @@ -165,6 +176,10 @@ class SettingsPage extends CommonDrawerElements { return $(this.BETA_PROGRAM_SWITCH_TEST_ID); } + get debuggingSwitch(): ChainablePromiseElement { + return $(this.DEBUGGING_SWITCH_TEST_ID); + } + get securitySettingsElements(): ChainablePromiseArray { return $$(this.SECURITY_SETTINGS_ELEMENTS); } diff --git a/packages/e2e-tests/src/features/SettingsPageExtended.part2.feature b/packages/e2e-tests/src/features/SettingsPageExtended.part2.feature index b5d9f510d3..d209d40ab0 100644 --- a/packages/e2e-tests/src/features/SettingsPageExtended.part2.feature +++ b/packages/e2e-tests/src/features/SettingsPageExtended.part2.feature @@ -17,11 +17,15 @@ Feature: General Settings - Extended Browser View And I click on "FAQs" setting Then FAQ page is displayed - @LW-3058 @Mainnet @Testnet - Scenario: Extended view - Settings - Analytics option displayed + Scenario Outline: Extended view - Settings - option displayed When I open settings from header menu - Then I see analytics option with proper description and toggle + Then I see option with proper description and toggle + Examples: + | option_name | + | Analytics | + | Beta Program | + | Debugging | @LW-3869 @Mainnet @Testnet Scenario: Extended view - Settings - Show passphrase displayed above Analytics under the Security section in the Settings page diff --git a/packages/e2e-tests/src/features/SettingsPagePopup.part2.feature b/packages/e2e-tests/src/features/SettingsPagePopup.part2.feature index a225b2828e..7b53c6ce43 100644 --- a/packages/e2e-tests/src/features/SettingsPagePopup.part2.feature +++ b/packages/e2e-tests/src/features/SettingsPagePopup.part2.feature @@ -105,9 +105,14 @@ Feature: General Settings - Popup View And Password field is empty @LW-3061 @Mainnet @Testnet - Scenario: Popup view - Settings - Analytics option displayed - Given I open settings from header menu - Then I see analytics option with proper description and toggle + Scenario Outline: Popup view - Settings - option displayed + When I open settings from header menu + Then I see option with proper description and toggle + Examples: + | option_name | + | Analytics | + | Beta Program | + | Debugging | @LW-11315 @Mainnet @Testnet Scenario: Popup View - Custom submit API - open drawer diff --git a/packages/e2e-tests/src/steps/settingsSteps.ts b/packages/e2e-tests/src/steps/settingsSteps.ts index d0ff156aec..5f1cd0446a 100644 --- a/packages/e2e-tests/src/steps/settingsSteps.ts +++ b/packages/e2e-tests/src/steps/settingsSteps.ts @@ -182,9 +182,24 @@ When(/^I click "Create a support ticket" button on Help drawer$/, async () => { await HelpDrawer.createASupportTicketButton.click(); }); -Then(/I see analytics option with proper description and toggle/, async () => { - await settingsPageExtendedAssert.assertSeeAnalyticsSection(); -}); +Then( + /I see (Analytics|Beta Program|Debugging) option with proper description and toggle/, + async (optionName: 'Analytics' | 'Beta Program' | 'Debugging') => { + switch (optionName) { + case 'Analytics': + await settingsPageExtendedAssert.assertSeeAnalyticsSection(); + break; + case 'Beta Program': + await settingsPageExtendedAssert.assertSeeBetaProgramSection(false); + break; + case 'Debugging': + await settingsPageExtendedAssert.assertSeeDebuggingSection(false); + break; + default: + throw new Error(`Unrecognised option name: ${optionName}`); + } + } +); When(/Analytics toggle is enabled: (true|false)/, async (isEnabled: 'true' | 'false') => { await settingsExtendedPageObject.toggleAnalytics(isEnabled);