Background
The application relies solely on basic unit tests. There are no automated browser tests that actually verify the frontend connecting to a wallet and signing transactions.
Problem
Frequent UI updates occasionally break core smart contract interaction flows, and manual regression testing before every deployment is tedious and error-prone.
Expected Outcome
A robust End-to-End testing pipeline utilizing Playwright and Synpress (a MetaMask automation wrapper) to simulate real user wallet interactions in a headless browser.
Suggested Implementation
- Install
@synthetixio/synpress and configure it alongside Playwright.
- Write test cases for the critical path: Connect Wallet -> Navigate to Vault -> Input Amount -> Approve Token -> Deposit Token.
- Connect the tests to a local Hardhat/Anvil fork network so real transactions can be simulated safely in CI.
Acceptance Criteria
Likely Affected Files
tests/e2e/deposit.spec.ts
playwright.config.ts
.github/workflows/e2e-tests.yml
Requirements
- Tests must run reliably in CI without timing out due to slow network mock responses.
Background
The application relies solely on basic unit tests. There are no automated browser tests that actually verify the frontend connecting to a wallet and signing transactions.
Problem
Frequent UI updates occasionally break core smart contract interaction flows, and manual regression testing before every deployment is tedious and error-prone.
Expected Outcome
A robust End-to-End testing pipeline utilizing Playwright and Synpress (a MetaMask automation wrapper) to simulate real user wallet interactions in a headless browser.
Suggested Implementation
@synthetixio/synpressand configure it alongside Playwright.Acceptance Criteria
mainbranch.Likely Affected Files
tests/e2e/deposit.spec.tsplaywright.config.ts.github/workflows/e2e-tests.ymlRequirements