Skip to content

feat: implement Playwright E2E test suite and CI automation (#372)#393

Open
Sam-Rytech wants to merge 11 commits intoLabsCrypt:mainfrom
Sam-Rytech:feature/playwright-e2e-ci
Open

feat: implement Playwright E2E test suite and CI automation (#372)#393
Sam-Rytech wants to merge 11 commits intoLabsCrypt:mainfrom
Sam-Rytech:feature/playwright-e2e-ci

Conversation

@Sam-Rytech
Copy link
Copy Markdown

Description

This PR introduces a robust End-to-End (E2E) testing framework using Playwright to ensure the stability of the FlowFi stream lifecycle. It automates the verification of core features from the user's perspective, including wallet integration and real-time stream management.

Changes

  • Testing Suite: Created frontend/e2e/stream-lifecycle.spec.ts to test:
    • Mocked Freighter wallet connection.
    • Stream creation wizard flow.
    • Dashboard visibility and real-time updates.
    • Stream controls (Pause, Resume, Cancel).
  • CI/CD Pipeline: Updated .github/workflows/ci.yml to include:
    • A new e2e-tests job that runs after the frontend build.
    • Automated browser binary caching to reduce runtimes.
    • HTML report generation and artifact uploading on test failure for debugging.

Verification Results

  • All 6 scenarios pass in headless Chromium.
  • CI job successfully triggers on push.
  • Playwright report is accessible via GitHub Actions artifacts.

Closes #372

@ogazboiz
Copy link
Copy Markdown
Contributor

hey, main was failing CI from broken auth imports + frontend parse errors. fixed and pushed to main now. please rebase to pick up the fixes:

git fetch upstream
git rebase upstream/main
git push --force-with-lease

if there's a conflict, resolve it locally and we'll review once CI is green.

…ypt#372)

- Initialize Playwright in frontend directory
- Add stream-lifecycle.spec.ts covering wallet connection and stream CRUD
- Update .github/workflows/ci.yml with e2e job and artifact uploading
- Configure browser caching for CI optimization
…ypt#372)

- Initialize Playwright in frontend directory
- Add stream-lifecycle.spec.ts covering wallet connection and stream CRUD
- Update .github/workflows/ci.yml with e2e job and artifact uploading
- Configure browser caching for CI optimization
@Sam-Rytech Sam-Rytech force-pushed the feature/playwright-e2e-ci branch from 16450dc to 12eb5af Compare April 30, 2026 13:32
@Sam-Rytech Sam-Rytech force-pushed the feature/playwright-e2e-ci branch from e575bf4 to 1a8c2e1 Compare April 30, 2026 15:46
@Sam-Rytech
Copy link
Copy Markdown
Author

@ogazboiz These fails have nothing to do with files I worked on

Sam-Rytech and others added 4 commits April 30, 2026 17:40
Added steps to verify the disconnect button in the wallet chip dropdown.
Updated selector for wallet chip to target button element explicitly.
@ogazboiz
Copy link
Copy Markdown
Contributor

ogazboiz commented May 1, 2026

hey, main CI is fully green now. there were several real TypeScript and test issues from #444's merge that have all been fixed. please rebase one more time:

git fetch upstream
git rebase upstream/main
git push --force-with-lease

your PR's diff should be much cleaner after this rebase since main now has the canonical versions of cancel.ts, sorobanService.ts, and the withdraw test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Playwright E2E tests and CI job

2 participants