Skip to content

Feat/issues 425 427 428 429 #25

Feat/issues 425 427 428 429

Feat/issues 425 427 428 429 #25

Triggered via pull request July 28, 2026 00:58
Status Failure
Total duration 11m 11s
Artifacts

e2e.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 1 warning, and 1 notice
[chromium] › e2e/create-invoice.spec.ts:14:7 › Create invoice flow › equal split mode shows per-recipient amount: e2e/pages/CreateInvoicePage.ts#L61
5) [chromium] › e2e/create-invoice.spec.ts:14:7 › Create invoice flow › equal split mode shows per-recipient amount Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('button[role="switch"][aria-label="Toggle equal split mode"]') at pages/CreateInvoicePage.ts:61 59 | 60 | async toggleEqualSplit() { > 61 | await this.equalSplitToggle.click(); | ^ 62 | } 63 | 64 | async addRecipient() { at CreateInvoicePage.toggleEqualSplit (/home/runner/work/split-app/split-app/e2e/pages/CreateInvoicePage.ts:61:33) at /home/runner/work/split-app/split-app/e2e/create-invoice.spec.ts:18:22
[chromium] › e2e/create-invoice.spec.ts:14:7 › Create invoice flow › equal split mode shows per-recipient amount: e2e/create-invoice.spec.ts#L0
5) [chromium] › e2e/create-invoice.spec.ts:14:7 › Create invoice flow › equal split mode shows per-recipient amount Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › e2e/create-invoice.spec.ts:14:7 › Create invoice flow › equal split mode shows per-recipient amount: e2e/pages/CreateInvoicePage.ts#L61
5) [chromium] › e2e/create-invoice.spec.ts:14:7 › Create invoice flow › equal split mode shows per-recipient amount Error: locator.click: Test timeout of 30000ms exceeded. Call log: - waiting for locator('button[role="switch"][aria-label="Toggle equal split mode"]') at pages/CreateInvoicePage.ts:61 59 | 60 | async toggleEqualSplit() { > 61 | await this.equalSplitToggle.click(); | ^ 62 | } 63 | 64 | async addRecipient() { at CreateInvoicePage.toggleEqualSplit (/home/runner/work/split-app/split-app/e2e/pages/CreateInvoicePage.ts:61:33) at /home/runner/work/split-app/split-app/e2e/create-invoice.spec.ts:18:22
[chromium] › e2e/create-invoice.spec.ts:5:7 › Create invoice flow › form loads with all required fields: e2e/create-invoice.spec.ts#L10
4) [chromium] › e2e/create-invoice.spec.ts:5:7 › Create invoice flow › form loads with all required fields Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('input[placeholder="G... address"]') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('input[placeholder="G... address"]') 8 | 9 | await expect(createPage.heading).toBeVisible(); > 10 | await expect(createPage.recipientInput).toBeVisible(); | ^ 11 | await expect(createPage.nextButton).toBeVisible(); 12 | }); 13 | at /home/runner/work/split-app/split-app/e2e/create-invoice.spec.ts:10:45
[chromium] › e2e/create-invoice.spec.ts:5:7 › Create invoice flow › form loads with all required fields: e2e/create-invoice.spec.ts#L10
4) [chromium] › e2e/create-invoice.spec.ts:5:7 › Create invoice flow › form loads with all required fields Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('input[placeholder="G... address"]') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('input[placeholder="G... address"]') 8 | 9 | await expect(createPage.heading).toBeVisible(); > 10 | await expect(createPage.recipientInput).toBeVisible(); | ^ 11 | await expect(createPage.nextButton).toBeVisible(); 12 | }); 13 | at /home/runner/work/split-app/split-app/e2e/create-invoice.spec.ts:10:45
[chromium] › e2e/a11y.spec.ts:71:5 › @a11y New Invoice form fields are all keyboard-reachable and labelled: e2e/a11y.spec.ts#L81
3) [chromium] › e2e/a11y.spec.ts:71:5 › @a11y New Invoice form fields are all keyboard-reachable and labelled Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: [serious] color-contrast: Elements must meet minimum color contrast ratio thresholds (https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright) - .border-indigo-500 Fix any of the following: Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 - .border-transparent Fix any of the following: Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 93 - Array [] + Array [ + Object { + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright", + "id": "color-contrast", + "impact": "serious", + "nodes": Array [ + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 1.99, + "expectedContrastRatio": "4.5:1", + "fgColor": "#a5b4fc", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "relatedNodes": Array [ + Object { + "html": "<body class=\"min-h-screen bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100 antialiased overflow-x-hidden\">", + "target": Array [ + "body", + ], + }, + ], + }, + ], + "failureSummary": "Fix any of the following: + Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "html": "<button type=\"button\" role=\"tab\" aria-selected=\"true\" class=\"px-4 py-2 text-sm font-medium transition-colors rounded-t-lg -mb-px border-b-2 border-indigo-500 text-indigo-300\">Create New</button>", + "impact": "serious", + "none": Array [], + "target": Array [ + ".border-indigo-500", + ], + }, + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 2.53, + "expectedContrastRatio": "4.5:1", + "fgColor": "#9ca3af", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient col
[chromium] › e2e/a11y.spec.ts:71:5 › @a11y New Invoice form fields are all keyboard-reachable and labelled: e2e/a11y.spec.ts#L81
3) [chromium] › e2e/a11y.spec.ts:71:5 › @a11y New Invoice form fields are all keyboard-reachable and labelled Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: [serious] color-contrast: Elements must meet minimum color contrast ratio thresholds (https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright) - .border-indigo-500 Fix any of the following: Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 - .border-transparent Fix any of the following: Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 93 - Array [] + Array [ + Object { + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright", + "id": "color-contrast", + "impact": "serious", + "nodes": Array [ + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 1.99, + "expectedContrastRatio": "4.5:1", + "fgColor": "#a5b4fc", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "relatedNodes": Array [ + Object { + "html": "<body class=\"min-h-screen bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100 antialiased overflow-x-hidden\">", + "target": Array [ + "body", + ], + }, + ], + }, + ], + "failureSummary": "Fix any of the following: + Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "html": "<button type=\"button\" role=\"tab\" aria-selected=\"true\" class=\"px-4 py-2 text-sm font-medium transition-colors rounded-t-lg -mb-px border-b-2 border-indigo-500 text-indigo-300\">Create New</button>", + "impact": "serious", + "none": Array [], + "target": Array [ + ".border-indigo-500", + ], + }, + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 2.53, + "expectedContrastRatio": "4.5:1", + "fgColor": "#9ca3af", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient col
[chromium] › e2e/a11y.spec.ts:38:7 › @a11y New Invoice (/invoice/new) has no critical or serious axe violations: e2e/a11y.spec.ts#L47
2) [chromium] › e2e/a11y.spec.ts:38:7 › @a11y New Invoice (/invoice/new) has no critical or serious axe violations Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: [serious] color-contrast: Elements must meet minimum color contrast ratio thresholds (https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright) - .border-indigo-500 Fix any of the following: Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 - .border-transparent Fix any of the following: Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 93 - Array [] + Array [ + Object { + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright", + "id": "color-contrast", + "impact": "serious", + "nodes": Array [ + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 1.99, + "expectedContrastRatio": "4.5:1", + "fgColor": "#a5b4fc", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "relatedNodes": Array [ + Object { + "html": "<body class=\"min-h-screen bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100 antialiased overflow-x-hidden\">", + "target": Array [ + "body", + ], + }, + ], + }, + ], + "failureSummary": "Fix any of the following: + Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "html": "<button type=\"button\" role=\"tab\" aria-selected=\"true\" class=\"px-4 py-2 text-sm font-medium transition-colors rounded-t-lg -mb-px border-b-2 border-indigo-500 text-indigo-300\">Create New</button>", + "impact": "serious", + "none": Array [], + "target": Array [ + ".border-indigo-500", + ], + }, + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 2.53, + "expectedContrastRatio": "4.5:1", + "fgColor": "#9ca3af", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficien
[chromium] › e2e/a11y.spec.ts:38:7 › @a11y New Invoice (/invoice/new) has no critical or serious axe violations: e2e/a11y.spec.ts#L47
2) [chromium] › e2e/a11y.spec.ts:38:7 › @a11y New Invoice (/invoice/new) has no critical or serious axe violations Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: [serious] color-contrast: Elements must meet minimum color contrast ratio thresholds (https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright) - .border-indigo-500 Fix any of the following: Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 - .border-transparent Fix any of the following: Element has insufficient color contrast of 2.53 (foreground color: #9ca3af, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1 expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 93 - Array [] + Array [ + Object { + "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds", + "help": "Elements must meet minimum color contrast ratio thresholds", + "helpUrl": "https://dequeuniversity.com/rules/axe/4.12/color-contrast?application=playwright", + "id": "color-contrast", + "impact": "serious", + "nodes": Array [ + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 1.99, + "expectedContrastRatio": "4.5:1", + "fgColor": "#a5b4fc", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "relatedNodes": Array [ + Object { + "html": "<body class=\"min-h-screen bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100 antialiased overflow-x-hidden\">", + "target": Array [ + "body", + ], + }, + ], + }, + ], + "failureSummary": "Fix any of the following: + Element has insufficient color contrast of 1.99 (foreground color: #a5b4fc, background color: #ffffff, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1", + "html": "<button type=\"button\" role=\"tab\" aria-selected=\"true\" class=\"px-4 py-2 text-sm font-medium transition-colors rounded-t-lg -mb-px border-b-2 border-indigo-500 text-indigo-300\">Create New</button>", + "impact": "serious", + "none": Array [], + "target": Array [ + ".border-indigo-500", + ], + }, + Object { + "all": Array [], + "any": Array [ + Object { + "data": Object { + "bgColor": "#ffffff", + "contrastRatio": 2.53, + "expectedContrastRatio": "4.5:1", + "fgColor": "#9ca3af", + "fontSize": "10.5pt (14px)", + "fontWeight": "normal", + "messageKey": null, + }, + "id": "color-contrast", + "impact": "serious", + "message": "Element has insufficien
[chromium] › e2e/a11y.spec.ts:38:7 › @a11y Dashboard (/dashboard) has no critical or serious axe violations: e2e/a11y.spec.ts#L25
1) [chromium] › e2e/a11y.spec.ts:38:7 › @a11y Dashboard (/dashboard) has no critical or serious axe violations Error: page.evaluate: Target page, context or browser has been closed 23 | return new AxeBuilder({ page }) 24 | .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa']) > 25 | .analyze(); | ^ 26 | } 27 | 28 | function formatViolations(violations: import('axe-core').Result[]): string { at AxeBuilder.analyze (/home/runner/work/split-app/split-app/node_modules/@axe-core/playwright/dist/index.js:236:16) at runAxe (/home/runner/work/split-app/split-app/e2e/a11y.spec.ts:25:6) at /home/runner/work/split-app/split-app/e2e/a11y.spec.ts:42:27
e2e
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
13 failed [chromium] › e2e/a11y.spec.ts:38:7 › @a11y New Invoice (/invoice/new) has no critical or serious axe violations [chromium] › e2e/a11y.spec.ts:71:5 › @a11y New Invoice form fields are all keyboard-reachable and labelled [chromium] › e2e/create-invoice.spec.ts:5:7 › Create invoice flow › form loads with all required fields [chromium] › e2e/create-invoice.spec.ts:14:7 › Create invoice flow › equal split mode shows per-recipient amount [chromium] › e2e/create-invoice.spec.ts:24:7 › Create invoice flow › fill form and submit redirects [chromium] › e2e/dashboard.spec.ts:13:7 › Dashboard › shows sent and received invoices ───────── [chromium] › e2e/landing.spec.ts:5:7 › Landing page › loads and CTA navigates to /invoice/new ── [chromium] › e2e/pay-invoice.spec.ts:5:7 › Pay invoice flow › invoice detail page renders with pay button [chromium] › e2e/pay-invoice.spec.ts:14:7 › Pay invoice flow › funding progress bar is visible ─ [chromium] › e2e/verify-page.spec.ts:5:7 › /verify/[id] public page › renders without wallet connection [chromium] › e2e/verify-page.spec.ts:14:7 › /verify/[id] public page › shows verified on-chain badge [chromium] › e2e/verify-page.spec.ts:22:7 › /verify/[id] public page › shows creator and recipients sections [chromium] › e2e/verify-page.spec.ts:31:7 › /verify/[id] public page › shows payment progress section 2 flaky [chromium] › e2e/a11y.spec.ts:38:7 › @a11y Dashboard (/dashboard) has no critical or serious axe violations [chromium] › e2e/dashboard.spec.ts:5:7 › Dashboard › dashboard loads with heading ────────────── 5 passed (9.3m)