Skip to content

e2e

e2e #75

Triggered via schedule September 18, 2026 03:10
Status Failure
Total duration 7m 29s
Artifacts –

e2e.yml

on: schedule
Playwright E2E journeys
7m 24s
Playwright E2E journeys
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 1 warning, and 3 notices
[chromium] › e2e/quote-explorer.spec.ts:49:1 › An approved EUR BUY explains the missing transfer flow instead of linking the form: apps/dashboard/e2e/quote-explorer.spec.ts#L62
5) [chromium] › e2e/quote-explorer.spec.ts:49:1 › An approved EUR BUY explains the missing transfer flow instead of linking the form Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Buying crypto with EURC isn’t available in transfers yet.') Expected: visible Timeout: 20000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 20000ms - waiting for getByText('Buying crypto with EURC isn’t available in transfers yet.') 60 | await page.getByLabel("You pay").fill("100"); 61 | > 62 | await expect(page.getByText("Buying crypto with EURC isn’t available in transfers yet.")).toBeVisible({ | ^ 63 | timeout: 20_000 64 | }); 65 | await expect(page.getByRole("link", { name: "Continue to transfer" })).toBeHidden(); at /home/runner/work/vortex/vortex/apps/dashboard/e2e/quote-explorer.spec.ts:62:93
[chromium] › e2e/quote-explorer.spec.ts:49:1 › An approved EUR BUY explains the missing transfer flow instead of linking the form: apps/dashboard/e2e/quote-explorer.spec.ts#L62
5) [chromium] › e2e/quote-explorer.spec.ts:49:1 › An approved EUR BUY explains the missing transfer flow instead of linking the form Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Buying crypto with EURC isn’t available in transfers yet.') Expected: visible Timeout: 20000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 20000ms - waiting for getByText('Buying crypto with EURC isn’t available in transfers yet.') 60 | await page.getByLabel("You pay").fill("100"); 61 | > 62 | await expect(page.getByText("Buying crypto with EURC isn’t available in transfers yet.")).toBeVisible({ | ^ 63 | timeout: 20_000 64 | }); 65 | await expect(page.getByRole("link", { name: "Continue to transfer" })).toBeHidden(); at /home/runner/work/vortex/vortex/apps/dashboard/e2e/quote-explorer.spec.ts:62:93
[chromium] › e2e/quote-explorer.spec.ts:25:1 › EUR is quotable on BUY and an unapproved corridor routes to onboarding: apps/dashboard/e2e/quote-explorer.spec.ts#L43
4) [chromium] › e2e/quote-explorer.spec.ts:25:1 › EUR is quotable on BUY and an unapproved corridor routes to onboarding Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByRole('dialog').getByText('KYC is currently disabled in Europe.') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByRole('dialog').getByText('KYC is currently disabled in Europe.') 41 | 42 | await expect(page).toHaveURL(/\/overview\?onboarding=EU$/); > 43 | await expect(page.getByRole("dialog").getByText("KYC is currently disabled in Europe.")).toBeVisible(); | ^ 44 | 45 | expect(backend.unmatchedRequests).toEqual([]); 46 | expect(backend.unexpectedExternalRequests).toEqual([]); at /home/runner/work/vortex/vortex/apps/dashboard/e2e/quote-explorer.spec.ts:43:92
[chromium] › e2e/quote-explorer.spec.ts:25:1 › EUR is quotable on BUY and an unapproved corridor routes to onboarding: apps/dashboard/e2e/quote-explorer.spec.ts#L43
4) [chromium] › e2e/quote-explorer.spec.ts:25:1 › EUR is quotable on BUY and an unapproved corridor routes to onboarding Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByRole('dialog').getByText('KYC is currently disabled in Europe.') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByRole('dialog').getByText('KYC is currently disabled in Europe.') 41 | 42 | await expect(page).toHaveURL(/\/overview\?onboarding=EU$/); > 43 | await expect(page.getByRole("dialog").getByText("KYC is currently disabled in Europe.")).toBeVisible(); | ^ 44 | 45 | expect(backend.unmatchedRequests).toEqual([]); 46 | expect(backend.unexpectedExternalRequests).toEqual([]); at /home/runner/work/vortex/vortex/apps/dashboard/e2e/quote-explorer.spec.ts:43:92
[chromium] › e2e/onboarding-monerium-eu.spec.ts:101:1 › in-review Monerium onboarding requiring reauthentication is disabled instead of actionable: apps/dashboard/e2e/onboarding-monerium-eu.spec.ts#L108
3) [chromium] › e2e/onboarding-monerium-eu.spec.ts:101:1 › in-review Monerium onboarding requiring reauthentication is disabled instead of actionable Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeDisabled() failed Locator: getByRole('button', { name: 'KYC is temporarily unavailable' }) Expected: disabled Timeout: 20000ms Error: element(s) not found Call log: - Expect "toBeDisabled" with timeout 20000ms - waiting for getByRole('button', { name: 'KYC is temporarily unavailable' }) 106 | 107 | const disabledButton = page.getByRole("button", { name: "KYC is temporarily unavailable" }); > 108 | await expect(disabledButton).toBeDisabled({ timeout: 20_000 }); | ^ 109 | expect(backend.unmatchedRequests).toEqual([]); 110 | }); 111 | at /home/runner/work/vortex/vortex/apps/dashboard/e2e/onboarding-monerium-eu.spec.ts:108:32
[chromium] › e2e/onboarding-monerium-eu.spec.ts:101:1 › in-review Monerium onboarding requiring reauthentication is disabled instead of actionable: apps/dashboard/e2e/onboarding-monerium-eu.spec.ts#L108
3) [chromium] › e2e/onboarding-monerium-eu.spec.ts:101:1 › in-review Monerium onboarding requiring reauthentication is disabled instead of actionable Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeDisabled() failed Locator: getByRole('button', { name: 'KYC is temporarily unavailable' }) Expected: disabled Timeout: 20000ms Error: element(s) not found Call log: - Expect "toBeDisabled" with timeout 20000ms - waiting for getByRole('button', { name: 'KYC is temporarily unavailable' }) 106 | 107 | const disabledButton = page.getByRole("button", { name: "KYC is temporarily unavailable" }); > 108 | await expect(disabledButton).toBeDisabled({ timeout: 20_000 }); | ^ 109 | expect(backend.unmatchedRequests).toEqual([]); 110 | }); 111 | at /home/runner/work/vortex/vortex/apps/dashboard/e2e/onboarding-monerium-eu.spec.ts:108:32
[chromium] › e2e/onboarding-monerium-eu.spec.ts:11:1 › EU onboarding is disabled: card action and wizard deep link are both blocked: apps/dashboard/e2e/onboarding-monerium-eu.spec.ts#L23
2) [chromium] › e2e/onboarding-monerium-eu.spec.ts:11:1 › EU onboarding is disabled: card action and wizard deep link are both blocked Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeDisabled() failed Locator: getByRole('button', { name: 'KYC is temporarily unavailable' }) Expected: disabled Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeDisabled" with timeout 5000ms - waiting for getByRole('button', { name: 'KYC is temporarily unavailable' }) 21 | await addDialog.getByRole("button", { name: "Add card" }).click(); 22 | > 23 | await expect(page.getByRole("button", { name: "KYC is temporarily unavailable" })).toBeDisabled(); | ^ 24 | 25 | await page.goto("/overview?onboarding=EU"); 26 | const wizard = page.getByRole("dialog"); at /home/runner/work/vortex/vortex/apps/dashboard/e2e/onboarding-monerium-eu.spec.ts:23:86
[chromium] › e2e/onboarding-monerium-eu.spec.ts:11:1 › EU onboarding is disabled: card action and wizard deep link are both blocked: apps/dashboard/e2e/onboarding-monerium-eu.spec.ts#L23
2) [chromium] › e2e/onboarding-monerium-eu.spec.ts:11:1 › EU onboarding is disabled: card action and wizard deep link are both blocked Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeDisabled() failed Locator: getByRole('button', { name: 'KYC is temporarily unavailable' }) Expected: disabled Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeDisabled" with timeout 5000ms - waiting for getByRole('button', { name: 'KYC is temporarily unavailable' }) 21 | await addDialog.getByRole("button", { name: "Add card" }).click(); 22 | > 23 | await expect(page.getByRole("button", { name: "KYC is temporarily unavailable" })).toBeDisabled(); | ^ 24 | 25 | await page.goto("/overview?onboarding=EU"); 26 | const wizard = page.getByRole("dialog"); at /home/runner/work/vortex/vortex/apps/dashboard/e2e/onboarding-monerium-eu.spec.ts:23:86
[chromium] › e2e/onboarding-monerium-eu.spec.ts:35:1 › Monerium callback refreshes an expired dashboard session: apps/dashboard/e2e/onboarding-monerium-eu.spec.ts#L50
1) [chromium] › e2e/onboarding-monerium-eu.spec.ts:35:1 › Monerium callback refreshes an expired dashboard session, then lands on the disabled notice Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByRole('dialog').getByText('KYC is currently disabled in Europe.') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByRole('dialog').getByText('KYC is currently disabled in Europe.') 48 | 49 | await expect(page).toHaveURL(/\/overview\?onboarding=EU$/, { timeout: 20_000 }); > 50 | await expect(page.getByRole("dialog").getByText("KYC is currently disabled in Europe.")).toBeVisible(); | ^ 51 | expect(backend.auth.refreshes).toBe(1); 52 | }); 53 | at /home/runner/work/vortex/vortex/apps/dashboard/e2e/onboarding-monerium-eu.spec.ts:50:92
[chromium] › e2e/onboarding-monerium-eu.spec.ts:35:1 › Monerium callback refreshes an expired dashboard session: apps/dashboard/e2e/onboarding-monerium-eu.spec.ts#L50
1) [chromium] › e2e/onboarding-monerium-eu.spec.ts:35:1 › Monerium callback refreshes an expired dashboard session, then lands on the disabled notice Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByRole('dialog').getByText('KYC is currently disabled in Europe.') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByRole('dialog').getByText('KYC is currently disabled in Europe.') 48 | 49 | await expect(page).toHaveURL(/\/overview\?onboarding=EU$/, { timeout: 20_000 }); > 50 | await expect(page.getByRole("dialog").getByText("KYC is currently disabled in Europe.")).toBeVisible(); | ^ 51 | expect(backend.auth.refreshes).toBe(1); 52 | }); 53 | at /home/runner/work/vortex/vortex/apps/dashboard/e2e/onboarding-monerium-eu.spec.ts:50:92
Playwright E2E journeys
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v3, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
5 failed [chromium] › e2e/onboarding-monerium-eu.spec.ts:11:1 › EU onboarding is disabled: card action and wizard deep link are both blocked [chromium] › e2e/onboarding-monerium-eu.spec.ts:35:1 › Monerium callback refreshes an expired dashboard session, then lands on the disabled notice [chromium] › e2e/onboarding-monerium-eu.spec.ts:101:1 › in-review Monerium onboarding requiring reauthentication is disabled instead of actionable [chromium] › e2e/quote-explorer.spec.ts:25:1 › EUR is quotable on BUY and an unapproved corridor routes to onboarding [chromium] › e2e/quote-explorer.spec.ts:49:1 › An approved EUR BUY explains the missing transfer flow instead of linking the form 68 passed (4.0m)
🎭 Playwright Run Summary
15 passed (1.3m)
Playwright E2E journeys
"The ubuntu-latest label will migrate to Ubuntu 26 beginning October 19, 2026. For more information, see https://github.com/actions/runner-images/issues/14748"