Skip to content

Commit 222f5ac

Browse files
authored
test: add missing checks for settings tests (#1727)
1 parent f9bd98b commit 222f5ac

File tree

6 files changed

+88
-10
lines changed

6 files changed

+88
-10
lines changed

apps/browser-extension-wallet/src/views/browser-view/features/settings/components/SettingsPreferences/SettingsPreferences.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export const SettingsPreferences = ({ popupView = false }: SettingsPreferencesPr
8181
sendCurrencyChangeEvent={handleSendCurrencyChangeEvent}
8282
/>
8383
<SettingsCard>
84-
<Title level={5} className={styles.heading5} data-testid="wallet-settings-heading">
84+
<Title level={5} className={styles.heading5} data-testid="wallet-preferences-heading">
8585
{t('browserView.settings.preferences.title')}
8686
</Title>
8787
<SettingsLink

packages/e2e-tests/src/assert/settings/SettingsPageAssert.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,15 @@ class SettingsPageAssert {
3535
expect(await SettingsPage.betaProgramLink.getTitleText()).to.equal(
3636
await t('browserView.settings.preferences.betaProgram.title')
3737
);
38+
expect(await SettingsPage.debuggingLink.getTitleText()).to.equal(
39+
await t('browserView.settings.preferences.debugging.title')
40+
);
3841
expect(await SettingsPage.showRecoveryPhraseLink.getTitleText()).to.equal(
3942
await t('browserView.settings.security.showPassphrase.title')
4043
);
44+
expect(await SettingsPage.generatePaperWallet.getTitleText()).to.equal(
45+
await t('browserView.settings.generatePaperWallet.title')
46+
);
4147
// TODO: temporarily disabled due to LW-2907
4248
// expect(await SettingsPage.passphraseVerificationLink.getTitleText()).to.equal(
4349
// await t('browserView.settings.security.passphrasePeriodicVerification.title')
@@ -89,9 +95,15 @@ class SettingsPageAssert {
8995
expect(await SettingsPage.betaProgramLink.getDescriptionText()).to.equal(
9096
await t('browserView.settings.preferences.betaProgram.description')
9197
);
98+
expect(await SettingsPage.debuggingLink.getDescriptionText()).to.equal(
99+
await t('browserView.settings.preferences.debugging.description')
100+
);
92101
expect(await SettingsPage.showRecoveryPhraseLink.getDescriptionText()).to.equal(
93102
await t('browserView.settings.security.showPassphrase.description')
94103
);
104+
expect(await SettingsPage.generatePaperWallet.getDescriptionText()).to.equal(
105+
await t('browserView.settings.generatePaperWallet.description')
106+
);
95107
// TODO: temporarily disabled due to LW-2907
96108
// expect(await SettingsPage.passphraseVerificationLink.getDescriptionText()).to.equal(
97109
// await t('browserView.settings.security.passphrasePeriodicVerification.description')
@@ -126,6 +138,7 @@ class SettingsPageAssert {
126138

127139
async assertSeeHeadings() {
128140
expect(await SettingsPage.walletHeader.getText()).to.equal(await t('browserView.settings.wallet.title'));
141+
expect(await SettingsPage.preferencesHeader.getText()).to.equal(await t('browserView.settings.preferences.title'));
129142
expect(await SettingsPage.securityHeader.getText()).to.equal(await t('browserView.settings.security.title'));
130143
expect(await SettingsPage.supportHeader.getText()).to.equal(await t('browserView.settings.help.support.title'));
131144
expect(await SettingsPage.legalHeader.getText()).to.equal(await t('browserView.settings.legal.title'));
@@ -165,6 +178,32 @@ class SettingsPageAssert {
165178
await SettingsPage.analyticsSwitch.waitForDisplayed();
166179
}
167180

181+
async assertSeeBetaProgramSection(switchChecked: boolean) {
182+
await SettingsPage.betaProgramLink.title.waitForDisplayed();
183+
expect(await SettingsPage.betaProgramLink.getTitleText()).to.equal(
184+
await t('browserView.settings.preferences.betaProgram.title')
185+
);
186+
await SettingsPage.betaProgramLink.description.waitForDisplayed();
187+
expect(await SettingsPage.betaProgramLink.getDescriptionText()).to.equal(
188+
await t('browserView.settings.preferences.betaProgram.description')
189+
);
190+
await SettingsPage.betaProgramSwitch.waitForDisplayed();
191+
expect(await SettingsPage.betaProgramSwitch.getAttribute('aria-checked')).to.equal(String(switchChecked));
192+
}
193+
194+
async assertSeeDebuggingSection(switchChecked: boolean) {
195+
await SettingsPage.debuggingLink.title.waitForDisplayed();
196+
expect(await SettingsPage.debuggingLink.getTitleText()).to.equal(
197+
await t('browserView.settings.preferences.debugging.title')
198+
);
199+
await SettingsPage.debuggingLink.description.waitForDisplayed();
200+
expect(await SettingsPage.debuggingLink.getDescriptionText()).to.equal(
201+
await t('browserView.settings.preferences.debugging.description')
202+
);
203+
await SettingsPage.debuggingSwitch.waitForDisplayed();
204+
expect(await SettingsPage.betaProgramSwitch.getAttribute('aria-checked')).to.equal(String(switchChecked));
205+
}
206+
168207
async assertShowRecoveryPhraseIsDisplayedUnderSecuritySection() {
169208
await SettingsPage.securitySettingsElements[0].waitForClickable();
170209
// eslint-disable-next-line no-undef

packages/e2e-tests/src/elements/settings/SettingsPage.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class SettingsPage extends CommonDrawerElements {
1010
private readonly SECURITY_HEADER = '[data-testid="security-settings-heading"]';
1111
private readonly SUPPORT_HEADER = '[data-testid="support-settings-heading"]';
1212
private readonly LEGAL_HEADER = '[data-testid="legal-settings-heading"]';
13+
private readonly PREFERENCES_HEADER = '[data-testid="wallet-preferences-heading"]';
1314
private readonly MAIN_TITLE = '[data-testid="settings-page-title"]';
1415
private readonly REMOVE_WALLET_HEADER = '[data-testid="remove-wallet-heading"]';
1516
private readonly REMOVE_WALLET_DESCRIPTION = '[data-testid="remove-wallet-description"]';
@@ -39,6 +40,8 @@ class SettingsPage extends CommonDrawerElements {
3940
private readonly CURRENCY_LINK_TEST_ID = 'settings-wallet-currency-link';
4041
private readonly THEME_LINK_TEST_ID = 'settings-wallet-theme';
4142
private readonly BETA_PROGRAM_LINK_TEST_ID = 'settings-beta-program-section';
43+
private readonly DEBUGGING_LINK_TEST_ID = 'settings-logging-level-section';
44+
private readonly DEBUGGING_SWITCH_TEST_ID = '[data-testid="settings-logging-switch"]';
4245

4346
get aboutLaceWidget(): typeof AboutLaceWidget {
4447
return AboutLaceWidget;
@@ -60,6 +63,10 @@ class SettingsPage extends CommonDrawerElements {
6063
return $(this.LEGAL_HEADER);
6164
}
6265

66+
get preferencesHeader(): ChainablePromiseElement<WebdriverIO.Element> {
67+
return $(this.PREFERENCES_HEADER);
68+
}
69+
6370
get removeWalletHeader(): ChainablePromiseElement<WebdriverIO.Element> {
6471
return $(this.REMOVE_WALLET_HEADER);
6572
}
@@ -109,6 +116,10 @@ class SettingsPage extends CommonDrawerElements {
109116
return new SettingsLink(this.BETA_PROGRAM_LINK_TEST_ID);
110117
}
111118

119+
get debuggingLink() {
120+
return new SettingsLink(this.DEBUGGING_LINK_TEST_ID);
121+
}
122+
112123
get customSubmitAPILink() {
113124
return new SettingsLink(this.CUSTOM_SUBMIT_API_LINK_TEST_ID);
114125
}
@@ -165,6 +176,10 @@ class SettingsPage extends CommonDrawerElements {
165176
return $(this.BETA_PROGRAM_SWITCH_TEST_ID);
166177
}
167178

179+
get debuggingSwitch(): ChainablePromiseElement<WebdriverIO.Element> {
180+
return $(this.DEBUGGING_SWITCH_TEST_ID);
181+
}
182+
168183
get securitySettingsElements(): ChainablePromiseArray<WebdriverIO.ElementArray> {
169184
return $$(this.SECURITY_SETTINGS_ELEMENTS);
170185
}

packages/e2e-tests/src/features/SettingsPageExtended.part2.feature

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,15 @@ Feature: General Settings - Extended Browser View
1717
And I click on "FAQs" setting
1818
Then FAQ page is displayed
1919

20-
2120
@LW-3058 @Mainnet @Testnet
22-
Scenario: Extended view - Settings - Analytics option displayed
21+
Scenario Outline: Extended view - Settings - <option_name> option displayed
2322
When I open settings from header menu
24-
Then I see analytics option with proper description and toggle
23+
Then I see <option_name> option with proper description and toggle
24+
Examples:
25+
| option_name |
26+
| Analytics |
27+
| Beta Program |
28+
| Debugging |
2529

2630
@LW-3869 @Mainnet @Testnet
2731
Scenario: Extended view - Settings - Show passphrase displayed above Analytics under the Security section in the Settings page

packages/e2e-tests/src/features/SettingsPagePopup.part2.feature

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,14 @@ Feature: General Settings - Popup View
105105
And Password field is empty
106106

107107
@LW-3061 @Mainnet @Testnet
108-
Scenario: Popup view - Settings - Analytics option displayed
109-
Given I open settings from header menu
110-
Then I see analytics option with proper description and toggle
108+
Scenario Outline: Popup view - Settings - <option_name> option displayed
109+
When I open settings from header menu
110+
Then I see <option_name> option with proper description and toggle
111+
Examples:
112+
| option_name |
113+
| Analytics |
114+
| Beta Program |
115+
| Debugging |
111116

112117
@LW-11315 @Mainnet @Testnet
113118
Scenario: Popup View - Custom submit API - open drawer

packages/e2e-tests/src/steps/settingsSteps.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,24 @@ When(/^I click "Create a support ticket" button on Help drawer$/, async () => {
182182
await HelpDrawer.createASupportTicketButton.click();
183183
});
184184

185-
Then(/I see analytics option with proper description and toggle/, async () => {
186-
await settingsPageExtendedAssert.assertSeeAnalyticsSection();
187-
});
185+
Then(
186+
/I see (Analytics|Beta Program|Debugging) option with proper description and toggle/,
187+
async (optionName: 'Analytics' | 'Beta Program' | 'Debugging') => {
188+
switch (optionName) {
189+
case 'Analytics':
190+
await settingsPageExtendedAssert.assertSeeAnalyticsSection();
191+
break;
192+
case 'Beta Program':
193+
await settingsPageExtendedAssert.assertSeeBetaProgramSection(false);
194+
break;
195+
case 'Debugging':
196+
await settingsPageExtendedAssert.assertSeeDebuggingSection(false);
197+
break;
198+
default:
199+
throw new Error(`Unrecognised option name: ${optionName}`);
200+
}
201+
}
202+
);
188203

189204
When(/Analytics toggle is enabled: (true|false)/, async (isEnabled: 'true' | 'false') => {
190205
await settingsExtendedPageObject.toggleAnalytics(isEnabled);

0 commit comments

Comments
 (0)