Skip to content

981 add unauthorized caller tests #71

981 add unauthorized caller tests

981 add unauthorized caller tests #71

Triggered via pull request June 27, 2026 14:54
Status Failure
Total duration 2m 13s
Artifacts

e2e-smoke-pr.yml

on: pull_request
Smoke Tests (Playwright)
2m 10s
Smoke Tests (Playwright)
Fit to window
Zoom out
Zoom in

Annotations

7 errors, 2 warnings, and 1 notice
Smoke Tests (Playwright)
Process completed with exit code 1.
[chromium] › e2e/smoke.spec.ts:113:5 › smoke: gated content shows subscribe prompt for unauthenticated visitor: frontend/e2e/smoke.spec.ts#L129
2) [chromium] › e2e/smoke.spec.ts:113:5 › smoke: gated content shows subscribe prompt for unauthenticated visitor Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) Expected: visible Error: strict mode violation: getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) resolved to 2 elements: 1) <button disabled type="button" class="rounded-lg bg-primary-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-primary-700 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500">Connect wallet to subscribe</button> aka getByRole('button', { name: 'Connect wallet to subscribe' }) 2) <button type="button" class="w-full py-3 bg-primary-500 hover:bg-primary-600 text-white font-bold rounded-xl transition-all shadow-md active:scale-95">Subscribe to unlock</button> aka getByRole('button', { name: 'Subscribe to unlock' }) Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) 127 | const lockText = page.getByText(/subscribe to unlock|exclusive content/i).first(); 128 | > 129 | await expect(subscribePrompt.or(lockText)).toBeVisible({ timeout: 10_000 }); | ^ 130 | // Video player must NOT be accessible without a subscription 131 | await expect(page.locator('video')).not.toBeVisible(); 132 | }); at /home/runner/work/MyFans/MyFans/frontend/e2e/smoke.spec.ts:129:46
[chromium] › e2e/smoke.spec.ts:113:5 › smoke: gated content shows subscribe prompt for unauthenticated visitor: frontend/e2e/smoke.spec.ts#L129
2) [chromium] › e2e/smoke.spec.ts:113:5 › smoke: gated content shows subscribe prompt for unauthenticated visitor Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) Expected: visible Error: strict mode violation: getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) resolved to 2 elements: 1) <button disabled type="button" class="rounded-lg bg-primary-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-primary-700 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500">Connect wallet to subscribe</button> aka getByRole('button', { name: 'Connect wallet to subscribe' }) 2) <button type="button" class="w-full py-3 bg-primary-500 hover:bg-primary-600 text-white font-bold rounded-xl transition-all shadow-md active:scale-95">Subscribe to unlock</button> aka getByRole('button', { name: 'Subscribe to unlock' }) Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) 127 | const lockText = page.getByText(/subscribe to unlock|exclusive content/i).first(); 128 | > 129 | await expect(subscribePrompt.or(lockText)).toBeVisible({ timeout: 10_000 }); | ^ 130 | // Video player must NOT be accessible without a subscription 131 | await expect(page.locator('video')).not.toBeVisible(); 132 | }); at /home/runner/work/MyFans/MyFans/frontend/e2e/smoke.spec.ts:129:46
[chromium] › e2e/smoke.spec.ts:113:5 › smoke: gated content shows subscribe prompt for unauthenticated visitor: frontend/e2e/smoke.spec.ts#L129
2) [chromium] › e2e/smoke.spec.ts:113:5 › smoke: gated content shows subscribe prompt for unauthenticated visitor Error: expect(locator).toBeVisible() failed Locator: getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) Expected: visible Error: strict mode violation: getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) resolved to 2 elements: 1) <button disabled type="button" class="rounded-lg bg-primary-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-primary-700 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500">Connect wallet to subscribe</button> aka getByRole('button', { name: 'Connect wallet to subscribe' }) 2) <button type="button" class="w-full py-3 bg-primary-500 hover:bg-primary-600 text-white font-bold rounded-xl transition-all shadow-md active:scale-95">Subscribe to unlock</button> aka getByRole('button', { name: 'Subscribe to unlock' }) Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByRole('button', { name: /subscribe/i }).first().or(getByText(/subscribe to unlock|exclusive content/i).first()) 127 | const lockText = page.getByText(/subscribe to unlock|exclusive content/i).first(); 128 | > 129 | await expect(subscribePrompt.or(lockText)).toBeVisible({ timeout: 10_000 }); | ^ 130 | // Video player must NOT be accessible without a subscription 131 | await expect(page.locator('video')).not.toBeVisible(); 132 | }); at /home/runner/work/MyFans/MyFans/frontend/e2e/smoke.spec.ts:129:46
[chromium] › e2e/smoke.spec.ts:95:5 › smoke: wallet connect shows connected address: frontend/e2e/smoke.spec.ts#L105
1) [chromium] › e2e/smoke.spec.ts:95:5 › smoke: wallet connect shows connected address ─────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText(/GSMOKE/i) Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText(/GSMOKE/i) 103 | } else { 104 | // Already connected state – address visible directly > 105 | await expect(page.getByText(/GSMOKE/i)).toBeVisible({ timeout: 10_000 }); | ^ 106 | } 107 | }); 108 | at /home/runner/work/MyFans/MyFans/frontend/e2e/smoke.spec.ts:105:45
[chromium] › e2e/smoke.spec.ts:95:5 › smoke: wallet connect shows connected address: frontend/e2e/smoke.spec.ts#L105
1) [chromium] › e2e/smoke.spec.ts:95:5 › smoke: wallet connect shows connected address ─────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText(/GSMOKE/i) Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText(/GSMOKE/i) 103 | } else { 104 | // Already connected state – address visible directly > 105 | await expect(page.getByText(/GSMOKE/i)).toBeVisible({ timeout: 10_000 }); | ^ 106 | } 107 | }); 108 | at /home/runner/work/MyFans/MyFans/frontend/e2e/smoke.spec.ts:105:45
[chromium] › e2e/smoke.spec.ts:95:5 › smoke: wallet connect shows connected address: frontend/e2e/smoke.spec.ts#L105
1) [chromium] › e2e/smoke.spec.ts:95:5 › smoke: wallet connect shows connected address ─────────── Error: expect(locator).toBeVisible() failed Locator: getByText(/GSMOKE/i) Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText(/GSMOKE/i) 103 | } else { 104 | // Already connected state – address visible directly > 105 | await expect(page.getByText(/GSMOKE/i)).toBeVisible({ timeout: 10_000 }); | ^ 106 | } 107 | }); 108 | at /home/runner/work/MyFans/MyFans/frontend/e2e/smoke.spec.ts:105:45
Smoke Tests (Playwright)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683, actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020, actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Smoke Tests (Playwright)
No files were found with the provided path: frontend/playwright-report/. No artifacts will be uploaded.
🎭 Playwright Run Summary
2 failed [chromium] › e2e/smoke.spec.ts:95:5 › smoke: wallet connect shows connected address ──────────── [chromium] › e2e/smoke.spec.ts:113:5 › smoke: gated content shows subscribe prompt for unauthenticated visitor 2 passed (54.8s)