From 3d48a6e3af16fde5356c3b506c8515db93b32f0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Tranta?= Date: Fri, 7 Feb 2025 14:34:56 +0100 Subject: [PATCH] chore(suite): fix UI tests to corespond with the reality --- packages/suite-desktop-core/e2e/support/bridge.ts | 4 ++-- .../support/pageActions/onboarding/onboardingActions.ts | 8 ++++---- .../e2e/tests/bridge-tor/spawn-tor.test.ts | 4 ++-- .../suite-desktop-core/e2e/tests/browser/firefox.test.ts | 2 +- .../suite-desktop-core/e2e/tests/browser/safari.test.ts | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/suite-desktop-core/e2e/support/bridge.ts b/packages/suite-desktop-core/e2e/support/bridge.ts index e5ecd31ac5e..09c0e6372c0 100644 --- a/packages/suite-desktop-core/e2e/support/bridge.ts +++ b/packages/suite-desktop-core/e2e/support/bridge.ts @@ -14,12 +14,12 @@ export const expectBridgeToBeStopped = async (request: APIRequestContext) => { }).rejects.toThrow('ECONNREFUSED'); }; -// We wait for `@welcome/title` or `@dashboard/graph` since +// We wait for `@welcome-layout/body` or `@dashboard/graph` since // one or the other will be display depending on the state of the app // due to previously run tests. And both means the same for the porpoise of this test. // Bridge should be ready to check `/status` endpoint. export const waitForAppToBeInitialized = async (suite: any) => await Promise.race([ - expect(suite.window.getByTestId('@welcome/title')).toBeVisible(), + expect(suite.window.getByTestId('@welcome-layout/body')).toBeVisible(), expect(suite.window.getByTestId('@dashboard/graph')).toBeVisible(), ]); diff --git a/packages/suite-desktop-core/e2e/support/pageActions/onboarding/onboardingActions.ts b/packages/suite-desktop-core/e2e/support/pageActions/onboarding/onboardingActions.ts index 1a3441b710b..6159e30e90f 100644 --- a/packages/suite-desktop-core/e2e/support/pageActions/onboarding/onboardingActions.ts +++ b/packages/suite-desktop-core/e2e/support/pageActions/onboarding/onboardingActions.ts @@ -18,7 +18,7 @@ export class OnboardingActions { readonly pin: PinActions; readonly tutorial: TutorialActions; - readonly welcomeTitle: Locator; + readonly welcomeBody: Locator; readonly onboardingContinueButton: Locator; readonly onboardingViewOnlySkipButton: Locator; readonly onboardingViewOnlyEnableButton: Locator; @@ -52,7 +52,7 @@ export class OnboardingActions { this.tutorial = new TutorialActions(page); this.pin = new PinActions(page); - this.welcomeTitle = this.page.getByTestId('@welcome/title'); + this.welcomeBody = this.page.getByTestId('@welcome-layout/body'); this.onboardingContinueButton = this.page.getByTestId('@onboarding/exit-app-button'); this.onboardingViewOnlySkipButton = this.page.getByTestId('@onboarding/viewOnly/skip'); this.onboardingViewOnlyEnableButton = this.page.getByTestId('@onboarding/viewOnly/enable'); @@ -83,7 +83,7 @@ export class OnboardingActions { @step() async optionallyDismissFwHashCheckError() { - await expect(this.welcomeTitle).toBeVisible({ timeout: 10000 }); + await expect(this.welcomeBody).toBeVisible({ timeout: 10000 }); // dismisses the error modal only if it appears (handle it async in parallel, not necessary to block the rest of the flow) this.page .$('[data-testid="@device-compromised/back-button"]') @@ -114,7 +114,7 @@ export class OnboardingActions { return; } - await expect(this.welcomeTitle).toBeVisible({ timeout: 10000 }); + await expect(this.welcomeBody).toBeVisible({ timeout: 10000 }); // eslint-disable-next-line @typescript-eslint/no-shadow await this.page.evaluate(SuiteActions => { window.store.dispatch({ diff --git a/packages/suite-desktop-core/e2e/tests/bridge-tor/spawn-tor.test.ts b/packages/suite-desktop-core/e2e/tests/bridge-tor/spawn-tor.test.ts index 478451e62c6..57bbb9dd35a 100644 --- a/packages/suite-desktop-core/e2e/tests/bridge-tor/spawn-tor.test.ts +++ b/packages/suite-desktop-core/e2e/tests/bridge-tor/spawn-tor.test.ts @@ -55,7 +55,7 @@ test.describe.skip('Tor loading screen', { tag: ['@group=suite', '@desktopOnly'] state: 'visible', }); - await suite.window.waitForSelector('[data-testid="@welcome/title"]', { timeout }); + await suite.window.waitForSelector('[data-testid="@welcome-layout/body"]', { timeout }); suite.electronApp.close(); }); @@ -83,7 +83,7 @@ test.describe.skip('Tor loading screen', { tag: ['@group=suite', '@desktopOnly'] state: 'visible', }); - await suite.window.waitForSelector('[data-testid="@welcome/title"]', { timeout }); + await suite.window.waitForSelector('[data-testid="@welcome-layout/body"]', { timeout }); networkAnalyzer.stop(); const requests = networkAnalyzer.getRequests(); requests.forEach(request => { diff --git a/packages/suite-desktop-core/e2e/tests/browser/firefox.test.ts b/packages/suite-desktop-core/e2e/tests/browser/firefox.test.ts index 7dfa7147b52..36ef349a5c3 100644 --- a/packages/suite-desktop-core/e2e/tests/browser/firefox.test.ts +++ b/packages/suite-desktop-core/e2e/tests/browser/firefox.test.ts @@ -5,7 +5,7 @@ import { expect, test } from '../../support/fixtures'; test.use({ startEmulator: false, ...devices['Desktop Firefox'], channel: 'firefox' }); test.describe('Firefox', { tag: ['@group=other', '@webOnly'] }, () => { test('Suite does support Firefox', async ({ page, onboardingPage }) => { - await expect(onboardingPage.welcomeTitle).toBeVisible({ timeout: 20_000 }); + await expect(onboardingPage.welcomeBody).toBeVisible({ timeout: 20_000 }); await expect(page.getByText('Continue at my own risk')).not.toBeVisible(); }); }); diff --git a/packages/suite-desktop-core/e2e/tests/browser/safari.test.ts b/packages/suite-desktop-core/e2e/tests/browser/safari.test.ts index 741f85934b1..96953170e8f 100644 --- a/packages/suite-desktop-core/e2e/tests/browser/safari.test.ts +++ b/packages/suite-desktop-core/e2e/tests/browser/safari.test.ts @@ -29,6 +29,6 @@ test.describe('Safari', { tag: ['@group=other', '@webOnly', '@snapshot'] }, () = 'Continue at my own risk', ); await onboardingPage.continueAtYourOwnRiskButton.click({ force: true }); - await expect(onboardingPage.welcomeTitle).toBeVisible({ timeout: 20_000 }); + await expect(onboardingPage.welcomeBody).toBeVisible({ timeout: 20_000 }); }); });