feat: integrate Stripe subscription flow & add e2e verification tests #7
Annotations
8 errors, 2 warnings, and 1 notice
|
e2e
Process completed with exit code 1.
|
|
[mobile-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents:
tests/e2e/home.spec.js#L79
3) [mobile-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('button', { name: 'Pay with PayPal' })
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('button', { name: 'Pay with PayPal' })
77 | await expect(
78 | page.getByRole("button", { name: "Pay with PayPal" })
> 79 | ).toBeVisible();
| ^
80 | expect(paypalSdkUrl.origin).toBe("https://www.paypal.com");
81 | expect(paypalSdkUrl.searchParams.get("currency")).toBe("EUR");
82 | expect(paypalSdkUrl.searchParams.get("client-id")).toBeTruthy();
at /home/runner/work/whatsanalyze/whatsanalyze/tests/e2e/home.spec.js:79:5
|
|
[mobile-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents:
tests/e2e/home.spec.js#L79
3) [mobile-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('button', { name: 'Pay with PayPal' })
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('button', { name: 'Pay with PayPal' })
77 | await expect(
78 | page.getByRole("button", { name: "Pay with PayPal" })
> 79 | ).toBeVisible();
| ^
80 | expect(paypalSdkUrl.origin).toBe("https://www.paypal.com");
81 | expect(paypalSdkUrl.searchParams.get("currency")).toBe("EUR");
82 | expect(paypalSdkUrl.searchParams.get("client-id")).toBeTruthy();
at /home/runner/work/whatsanalyze/whatsanalyze/tests/e2e/home.spec.js:79:5
|
|
[mobile-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents:
tests/e2e/home.spec.js#L79
3) [mobile-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
Error: expect(locator).toBeVisible() failed
Locator: getByRole('button', { name: 'Pay with PayPal' })
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('button', { name: 'Pay with PayPal' })
77 | await expect(
78 | page.getByRole("button", { name: "Pay with PayPal" })
> 79 | ).toBeVisible();
| ^
80 | expect(paypalSdkUrl.origin).toBe("https://www.paypal.com");
81 | expect(paypalSdkUrl.searchParams.get("currency")).toBe("EUR");
82 | expect(paypalSdkUrl.searchParams.get("client-id")).toBeTruthy();
at /home/runner/work/whatsanalyze/whatsanalyze/tests/e2e/home.spec.js:79:5
|
|
[desktop-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents:
tests/e2e/home.spec.js#L79
2) [desktop-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('button', { name: 'Pay with PayPal' })
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('button', { name: 'Pay with PayPal' })
77 | await expect(
78 | page.getByRole("button", { name: "Pay with PayPal" })
> 79 | ).toBeVisible();
| ^
80 | expect(paypalSdkUrl.origin).toBe("https://www.paypal.com");
81 | expect(paypalSdkUrl.searchParams.get("currency")).toBe("EUR");
82 | expect(paypalSdkUrl.searchParams.get("client-id")).toBeTruthy();
at /home/runner/work/whatsanalyze/whatsanalyze/tests/e2e/home.spec.js:79:5
|
|
[desktop-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents:
tests/e2e/home.spec.js#L79
2) [desktop-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: getByRole('button', { name: 'Pay with PayPal' })
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByRole('button', { name: 'Pay with PayPal' })
77 | await expect(
78 | page.getByRole("button", { name: "Pay with PayPal" })
> 79 | ).toBeVisible();
| ^
80 | expect(paypalSdkUrl.origin).toBe("https://www.paypal.com");
81 | expect(paypalSdkUrl.searchParams.get("currency")).toBe("EUR");
82 | expect(paypalSdkUrl.searchParams.get("client-id")).toBeTruthy();
at /home/runner/work/whatsanalyze/whatsanalyze/tests/e2e/home.spec.js:79:5
|
|
[desktop-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents:
tests/e2e/home.spec.js#L66
2) [desktop-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
TimeoutError: page.waitForEvent: Timeout 60000ms exceeded while waiting for event "download"
=========================== logs ===========================
waiting for event "download"
============================================================
64 | expect(uploadedChatRequests).toEqual([]);
65 |
> 66 | const downloadPromise = page.waitForEvent("download", { timeout: 60_000 });
| ^
67 | await page
68 | .getByRole("button", { name: /Download free preview PDF/i })
69 | .click();
at /home/runner/work/whatsanalyze/whatsanalyze/tests/e2e/home.spec.js:66:32
|
|
[desktop-chromium] › tests/e2e/home.spec.js:19:1 › renders the analyzer landing page:
tests/e2e/home.spec.js#L23
1) [desktop-chromium] › tests/e2e/home.spec.js:19:1 › renders the analyzer landing page ──────────
Error: expect(locator).toBeVisible() failed
Locator: getByText('Analyze your WhatsApp Chat in Seconds', { exact: true })
Expected: visible
Timeout: 15000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 15000ms
- waiting for getByText('Analyze your WhatsApp Chat in Seconds', { exact: true })
- waiting for "https://localhost:3000/" navigation to finish...
- navigated to "https://localhost:3000/"
21 | await expect(
22 | page.getByText("Analyze your WhatsApp Chat in Seconds", { exact: true })
> 23 | ).toBeVisible({ timeout: 15_000 });
| ^
24 | await expect(page.locator("#uploadmytextfile")).toBeAttached();
25 | });
26 |
at /home/runner/work/whatsanalyze/whatsanalyze/tests/e2e/home.spec.js:23:5
|
|
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, actions/upload-artifact@v4, pnpm/action-setup@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
e2e
The process '/usr/bin/git' failed with exit code 128
|
|
🎭 Playwright Run Summary
2 failed
[desktop-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
[mobile-chromium] › tests/e2e/home.spec.js:27:1 › analyzes the example chat without uploading its contents
1 flaky
[desktop-chromium] › tests/e2e/home.spec.js:19:1 › renders the analyzer landing page ───────────
31 passed (5.9m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
playwright-report
|
35 MB |
sha256:a866dbd1cd0f268fafb75e2a283b7e53dca1aa099d2ad7db16fa757304f5a023
|
|