Skip to content

Merge pull request #169 from jerrybarry/feature/form-validation-syste… #31

Merge pull request #169 from jerrybarry/feature/form-validation-syste…

Merge pull request #169 from jerrybarry/feature/form-validation-syste… #31

Triggered via push March 26, 2026 14:44
Status Failure
Total duration 9m 50s
Artifacts 2

e2e.yml

on: push
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 1 warning, and 1 notice
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes: frontend/e2e/dashboard-load.spec.ts#L49
3) [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('link', { name: 'Analytics' }) 47 | 48 | // Navigate to Analytics > 49 | await page.getByRole('link', { name: 'Analytics' }).click(); | ^ 50 | await expect(page).toHaveURL('/analytics'); 51 | await expect(page.getByText('Project Analytics')).toBeVisible(); 52 | at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:49:57
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes: frontend/e2e/dashboard-load.spec.ts#L0
3) [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes: frontend/e2e/dashboard-load.spec.ts#L49
3) [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for getByRole('link', { name: 'Analytics' }) 47 | 48 | // Navigate to Analytics > 49 | await page.getByRole('link', { name: 'Analytics' }).click(); | ^ 50 | await expect(page).toHaveURL('/analytics'); 51 | await expect(page.getByText('Project Analytics')).toBeVisible(); 52 | at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:49:57
[chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes: frontend/e2e/dashboard-load.spec.ts#L0
3) [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes Test timeout of 30000ms exceeded.
[chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel: frontend/e2e/dashboard-load.spec.ts#L36
2) [chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Wallet Not Connected') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByText('Wallet Not Connected') 34 | await page.goto('/'); 35 | > 36 | await expect(page.getByText('Wallet Not Connected')).toBeVisible(); | ^ 37 | await expect( 38 | page.getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.'), 39 | ).toBeVisible(); at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:36:58
[chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel: frontend/e2e/dashboard-load.spec.ts#L36
2) [chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Wallet Not Connected') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByText('Wallet Not Connected') 34 | await page.goto('/'); 35 | > 36 | await expect(page.getByText('Wallet Not Connected')).toBeVisible(); | ^ 37 | await expect( 38 | page.getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.'), 39 | ).toBeVisible(); at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:36:58
[chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel: frontend/e2e/dashboard-load.spec.ts#L36
2) [chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel Error: expect(locator).toBeVisible() failed Locator: getByText('Wallet Not Connected') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByText('Wallet Not Connected') 34 | await page.goto('/'); 35 | > 36 | await expect(page.getByText('Wallet Not Connected')).toBeVisible(); | ^ 37 | await expect( 38 | page.getByText('Please connect your Freighter wallet to deposit USDC and earn RWA yields.'), 39 | ).toBeVisible(); at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:36:58
[chromium] › e2e/dashboard-load.spec.ts:10:3 › Dashboard load › renders vault stats from the API on home page load: frontend/e2e/dashboard-load.spec.ts#L14
1) [chromium] › e2e/dashboard-load.spec.ts:10:3 › Dashboard load › renders vault stats from the API on home page load Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Institutional Yields,') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByText('Institutional Yields,') 12 | 13 | // Hero section > 14 | await expect(page.getByText('Institutional Yields,')).toBeVisible(); | ^ 15 | await expect(page.getByText('Decentralized Access.')).toBeVisible(); 16 | 17 | // Vault panel heading at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:14:59
[chromium] › e2e/dashboard-load.spec.ts:10:3 › Dashboard load › renders vault stats from the API on home page load: frontend/e2e/dashboard-load.spec.ts#L14
1) [chromium] › e2e/dashboard-load.spec.ts:10:3 › Dashboard load › renders vault stats from the API on home page load Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Institutional Yields,') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByText('Institutional Yields,') 12 | 13 | // Hero section > 14 | await expect(page.getByText('Institutional Yields,')).toBeVisible(); | ^ 15 | await expect(page.getByText('Decentralized Access.')).toBeVisible(); 16 | 17 | // Vault panel heading at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:14:59
[chromium] › e2e/dashboard-load.spec.ts:10:3 › Dashboard load › renders vault stats from the API on home page load: frontend/e2e/dashboard-load.spec.ts#L14
1) [chromium] › e2e/dashboard-load.spec.ts:10:3 › Dashboard load › renders vault stats from the API on home page load Error: expect(locator).toBeVisible() failed Locator: getByText('Institutional Yields,') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for getByText('Institutional Yields,') 12 | 13 | // Hero section > 14 | await expect(page.getByText('Institutional Yields,')).toBeVisible(); | ^ 15 | await expect(page.getByText('Decentralized Access.')).toBeVisible(); 16 | 17 | // Vault panel heading at /home/runner/work/YieldVault-RWA/YieldVault-RWA/frontend/e2e/dashboard-load.spec.ts:14:59
Playwright E2E
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
22 failed [chromium] › e2e/dashboard-load.spec.ts:10:3 › Dashboard load › renders vault stats from the API on home page load [chromium] › e2e/dashboard-load.spec.ts:33:3 › Dashboard load › shows wallet-not-connected overlay on the deposit panel [chromium] › e2e/dashboard-load.spec.ts:45:3 › Dashboard load › navbar links navigate to the correct routes [chromium] › e2e/dashboard-load.spec.ts:64:3 › Dashboard load › analytics page shows live vault metrics [chromium] › e2e/dashboard-load.spec.ts:80:3 › Dashboard load › unknown routes redirect to home [chromium] › e2e/deposit-withdraw.spec.ts:15:3 › Deposit panel no wallet › deposit panel shows wallet-not-connected overlay [chromium] › e2e/deposit-withdraw.spec.ts:21:3 › Deposit panel no wallet › submit button is disabled when amount is empty or zero [chromium] › e2e/deposit-withdraw.spec.ts:29:3 › Deposit panel no wallet › strategy info panel shows exchange rate and network fee [chromium] › e2e/deposit-withdraw.spec.ts:44:3 › Deposit & Withdraw connected wallet › auto-connects wallet on mount when Freighter is already allowed [chromium] › e2e/deposit-withdraw.spec.ts:49:3 › Deposit & Withdraw connected wallet › deposit overlay is removed after wallet connects [chromium] › e2e/deposit-withdraw.spec.ts:55:3 › Deposit & Withdraw connected wallet › deposit tab is active by default and can switch to withdraw [chromium] › e2e/deposit-withdraw.spec.ts:69:3 › Deposit & Withdraw connected wallet › MAX button fills the amount input with the current balance [chromium] › e2e/deposit-withdraw.spec.ts:77:3 › Deposit & Withdraw connected wallet › performs a deposit and updates the balance [chromium] › e2e/deposit-withdraw.spec.ts:94:3 › Deposit & Withdraw connected wallet › performs a withdrawal and updates the balance [chromium] › e2e/deposit-withdraw.spec.ts:111:3 › Deposit & Withdraw connected wallet › disconnect button clears wallet state and shows connect button [chromium] › e2e/portfolio.spec.ts:10:3 › Portfolio page unauthenticated › shows connect-wallet prompt when no wallet is connected [chromium] › e2e/portfolio.spec.ts:25:3 › Portfolio page authenticated › loads and displays portfolio holdings after wallet connects [chromium] › e2e/portfolio.spec.ts:34:3 › Portfolio page authenticated › displays correct total portfolio value [chromium] › e2e/portfolio.spec.ts:41:3 › Portfolio page authenticated › search filter narrows holdings results [chromium] › e2e/portfolio.spec.ts:54:3 › Portfolio page authenticated › clearing search restores all holdings [chromium] › e2e/portfolio.spec.ts:66:3 › Portfolio page authenticated › rows-per-page selector changes visible row count [chromium] › e2e/portfolio.spec.ts:80:3 › Portfolio page authenticated › column sort changes row order

Artifacts

Produced during runtime
Name Size Digest
playwright-failure-artifacts Expired
29.3 MB
sha256:c4e740d8f8323565d26e6bdf9b8a71c50ff6f6199a31164e37ca4129b66c710d
playwright-report Expired
17.5 MB
sha256:c5ca5a3a936c9dc3a4d2857278c7bb39c761363584002489b675f75070695d8d