Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
fde7819
Move Terms of Use
Dec 20, 2024
6353f38
Fix lint
Dec 20, 2024
60f82c5
Improvements
Dec 20, 2024
6db0b37
Extend tests
Dec 20, 2024
000cd80
Update tests
Dec 20, 2024
eb5d374
Transform terms-of-use from JS to TS
Dec 20, 2024
404ebfb
Merge branch 'main' of github.com:MetaMask/metamask-extension into jb…
Jan 6, 2025
f583885
Fix tests
Jan 6, 2025
3f2be89
Remove agreeTermsOfuse
Jan 6, 2025
8c36fb3
Adapt the onboarding for the new onboarding flow
Jan 6, 2025
7c0889f
Remove timeouts
Jan 6, 2025
0fc0494
Fix onboarding flow
Jan 6, 2025
a18b1d8
Merge branch 'main' into jb-3013
Jan 6, 2025
3b93a21
Fix app-installed.spec.ts
Jan 6, 2025
ac5e45e
Fix incremental-security.spec.ts
Jan 6, 2025
b2a709b
Fix metamask-responsive-ui.spec.js
Jan 6, 2025
f9be294
Fix signup-page.ts
Jan 6, 2025
5d2206e
Fix signup-page
Jan 6, 2025
24353cf
Add console logs
Jan 7, 2025
b17b3e7
test: Fix e2e swap test script (#29616)
davibroc Jan 9, 2025
426a732
Merge branch 'main' into jb-3013
Jan 9, 2025
8dbcf91
Merge branch 'main' into jb-3013
Jan 10, 2025
0e3e67d
Fix lint
Jan 13, 2025
e75aaa3
Merge branch 'main' into jb-3013
Jan 13, 2025
0a2f977
Add label
Jan 14, 2025
a73cefe
Update snapshots
Jan 14, 2025
2a4c065
Merge branch 'main' into jb-3013
Jan 16, 2025
c33eccf
Merge branch 'main' of github.com:MetaMask/metamask-extension into jb…
Jan 16, 2025
0576476
Fix up test
Jan 16, 2025
9a43302
Merge branch 'jb-3013' of github.com:MetaMask/metamask-extension into…
Jan 16, 2025
9e5d159
Fix test
Jan 16, 2025
b86a195
Merge branch 'main' into jb-3013
Jan 16, 2025
01cd96b
Update ToC
Jan 20, 2025
e8044f4
Merge branch 'main' into jb-3013
Jan 20, 2025
c1f8dea
Merge branch 'main' of github.com:MetaMask/metamask-extension into jb…
Jan 20, 2025
4a54046
Merge branch 'jb-3013' of github.com:MetaMask/metamask-extension into…
Jan 20, 2025
08247a7
update snapshot
Jan 20, 2025
dc60abe
Fix flaky test
Jan 20, 2025
05e3901
Fix snaps issue
Jan 20, 2025
4626733
Fix Regex
Jan 20, 2025
f62ac3a
Merge branch 'main' of github.com:MetaMask/metamask-extension into jb…
Jan 20, 2025
1180c1d
Merge branch 'main' into jb-3013
Jan 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions app/_locales/de/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/el/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions app/_locales/en/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/en_GB/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/es/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/fr/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/hi/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/id/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/ja/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/ko/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/pt/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/ru/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/tl/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/tr/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/vi/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions app/_locales/zh_CN/messages.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions test/e2e/page-objects/flows/onboarding.flow.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ export const createNewWalletOnboardingFlow = async ({
}
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.checkTermsCheckbox();
await startOnboardingPage.clickCreateWalletButton();

const onboardingMetricsPage = new OnboardingMetricsPage(driver);
Expand Down Expand Up @@ -80,7 +79,6 @@ export const importSRPOnboardingFlow = async ({

const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.checkTermsCheckbox();
await startOnboardingPage.clickImportWalletButton();

const onboardingMetricsPage = new OnboardingMetricsPage(driver);
Expand Down
31 changes: 25 additions & 6 deletions test/e2e/page-objects/pages/onboarding/start-onboarding-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,20 @@ class StartOnboardingPage {
tag: 'h2',
};

private readonly termsModal = '[data-testid="terms-of-use-modal-body"]';

private readonly termsCheckbox = '[data-testid="onboarding-terms-checkbox"]';

private readonly termsConfirmButton =
'[data-testid="onboarding-terms-accept"]';

constructor(driver: Driver) {
this.driver = driver;
}

async check_pageIsLoaded(): Promise<void> {
try {
await this.driver.waitForMultipleSelectors([
this.startMessage,
this.termsCheckbox,
]);
await this.driver.waitForMultipleSelectors([this.startMessage]);
} catch (e) {
console.log(
'Timeout while waiting for start onboarding page to be loaded',
Expand All @@ -37,15 +39,32 @@ class StartOnboardingPage {
}

async checkTermsCheckbox(): Promise<void> {
await this.driver.waitForSelector(this.termsModal);

await this.driver.executeScript(`
const modalBody = document.querySelector('[data-testid="terms-of-use-modal-body"]');
if (modalBody) {
modalBody.scrollTo({ top: modalBody.scrollHeight, behavior: 'instant' });
}
`);

await this.driver.findClickableElement(this.termsCheckbox);
await this.driver.clickElement(this.termsCheckbox);

await this.driver.findClickableElement(this.termsConfirmButton);
await this.driver.clickElement(this.termsConfirmButton);
}

async clickCreateWalletButton(): Promise<void> {
await this.driver.clickElementAndWaitToDisappear(this.createWalletButton);
await this.driver.findClickableElement(this.createWalletButton);
await this.driver.clickElement(this.createWalletButton);
await this.checkTermsCheckbox();
}

async clickImportWalletButton(): Promise<void> {
await this.driver.clickElementAndWaitToDisappear(this.importWalletButton);
await this.driver.findClickableElement(this.importWalletButton);
await this.driver.clickElement(this.importWalletButton);
await this.checkTermsCheckbox();
}
}

Expand Down
4 changes: 3 additions & 1 deletion test/e2e/playwright/shared/pageObjects/extension-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ export class ChromeExtensionPage {
await context.waitForEvent('page');
const pages = context.pages();
const page = pages[pages.length - 1]; // return last tab
await page.waitForSelector('text=/I agree to MetaMask/');
await page
.getByTestId('onboarding-create-wallet')
.waitFor({ state: 'visible' });
return page;
}
}
17 changes: 14 additions & 3 deletions test/e2e/playwright/shared/pageObjects/signup-page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ export class SignUpPage {

readonly skipSrpBackupBtn: Locator;

readonly termsModalBody: Locator;

readonly popOverBtn: Locator;

constructor(page: Page) {
Expand Down Expand Up @@ -79,13 +81,22 @@ export class SignUpPage {
this.nextBtn = page.getByTestId('pin-extension-next');
this.agreeBtn = page.locator('button:has-text("I agree")');
this.enableBtn = page.locator('button:has-text("Enable")');
this.termsModalBody = page.getByTestId('terms-of-use-modal-body');
this.popOverBtn = page.getByTestId('popover-close');
}

async importWallet() {
private async handleTermsModal() {
await this.termsModalBody.waitFor({ state: 'visible' });
for (let i = 0; i < 1000; i++) {
await this.termsModalBody.press('ArrowDown');
}
await this.agreeTandCCheck.click();
await this.page.getByTestId('onboarding-terms-accept').click();
}

async importWallet() {
await this.importWalletBtn.click();
await this.agreeBtn.click();
await this.handleTermsModal();

const seeds = SEED_PHRASE?.trim().split(/\s+/u);
for (const [index, element] of (seeds as string[]).entries()) {
Expand All @@ -104,8 +115,8 @@ export class SignUpPage {
}

async createWallet() {
await this.agreeTandCCheck.click();
await this.createWalletBtn.click();
await this.handleTermsModal();
await this.metametricsBtn.click();
await this.passwordTxt.fill(ACCOUNT_PASSWORD as string);
await this.passwordConfirmTxt.fill(ACCOUNT_PASSWORD as string);
Expand Down
9 changes: 5 additions & 4 deletions test/e2e/tests/account/incremental-security.spec.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
const { strict: assert } = require('assert');
const { convertToHexValue, withFixtures, openDapp } = require('../../helpers');
const FixtureBuilder = require('../../fixture-builder');
const StartOnboardingPage =
require('../../page-objects/pages/onboarding/start-onboarding-page').default;

const WALLET_PASSWORD = 'correct horse battery staple';

Expand Down Expand Up @@ -31,11 +33,10 @@ describe('Incremental Security', function () {
},
async ({ driver }) => {
await driver.navigate();
// agree to terms of use
await driver.clickElement('[data-testid="onboarding-terms-checkbox"]');

// welcome
await driver.clickElement('[data-testid="onboarding-create-wallet"]');
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.clickCreateWalletButton();

// metrics
await driver.clickElement('[data-testid="metametrics-no-thanks"]');
Expand Down
2 changes: 0 additions & 2 deletions test/e2e/tests/metrics/app-installed.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ describe('App Installed Events @no-mmi', function () {
await driver.navigate();
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.checkTermsCheckbox();
await startOnboardingPage.clickCreateWalletButton();

const onboardingMetricsPage = new OnboardingMetricsPage(driver);
Expand Down Expand Up @@ -81,7 +80,6 @@ describe('App Installed Events @no-mmi', function () {
await driver.navigate();
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.checkTermsCheckbox();
await startOnboardingPage.clickCreateWalletButton();

const onboardingMetricsPage = new OnboardingMetricsPage(driver);
Expand Down
3 changes: 0 additions & 3 deletions test/e2e/tests/onboarding/onboarding.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ describe('MetaMask onboarding @no-mmi', function () {
await driver.navigate();
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.checkTermsCheckbox();
await startOnboardingPage.clickImportWalletButton();

const onboardingMetricsPage = new OnboardingMetricsPage(driver);
Expand Down Expand Up @@ -106,7 +105,6 @@ describe('MetaMask onboarding @no-mmi', function () {
await driver.navigate();
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.checkTermsCheckbox();
await startOnboardingPage.clickImportWalletButton();

const onboardingMetricsPage = new OnboardingMetricsPage(driver);
Expand All @@ -131,7 +129,6 @@ describe('MetaMask onboarding @no-mmi', function () {
await driver.navigate();
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.checkTermsCheckbox();
await startOnboardingPage.clickCreateWalletButton();

const onboardingMetricsPage = new OnboardingMetricsPage(driver);
Expand Down
10 changes: 5 additions & 5 deletions test/e2e/tests/responsive-ui/metamask-responsive-ui.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ const {
withFixtures,
} = require('../../helpers');
const FixtureBuilder = require('../../fixture-builder');
const StartOnboardingPage =
require('../../page-objects/pages/onboarding/start-onboarding-page').default;

describe('MetaMask Responsive UI', function () {
it('Creating a new wallet @no-mmi', async function () {
Expand All @@ -22,11 +24,9 @@ describe('MetaMask Responsive UI', function () {
async ({ driver }) => {
await driver.navigate();

// agree to terms of use
await driver.clickElement('[data-testid="onboarding-terms-checkbox"]');

// welcome
await driver.clickElement('[data-testid="onboarding-create-wallet"]');
const startOnboardingPage = new StartOnboardingPage(driver);
await startOnboardingPage.check_pageIsLoaded();
await startOnboardingPage.clickCreateWalletButton();

// metrics
await driver.clickElement('[data-testid="metametrics-no-thanks"]');
Expand Down
Loading
Loading