You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are no end-to-end tests. The full user journey — connect wallet → deposit assets → wait for lock countdown → unlock — has never been exercised in CI. Regressions in the Freighter integration, transaction building, or countdown logic can ship undetected.
Expected Behaviour
A Playwright test suite (e2e/farm.spec.ts) exercises the core happy path against a local Soroban testnet (using stellar-cli to start soroban-dev) with a pre-funded test wallet injected via a Freighter-compatible stub.
Acceptance Criteria
e2e/ directory created with playwright.config.ts targeting http://localhost:3000
e2e/mocks/freighter.ts exports a Playwright page fixture that intercepts window.__freighter and provides a deterministic signing key (test keypair, never a real key)
e2e/farm.spec.ts test cases:
Connect wallet — click Connect, mock Freighter returns test public key, header updates to show truncated address
Deposit — fill deposit modal with 10 XLM, mock simulation returns fee 100 stroops, sign and submit mock tx, farm row shows stake "10.0000 XLM"
Countdown visible — farm row shows a non-zero countdown and the Unlock button is disabled
Unlock available — fast-forward the system clock 7 days (page.clock.setFixedTime), reload, Unlock button is enabled
Problem
There are no end-to-end tests. The full user journey — connect wallet → deposit assets → wait for lock countdown → unlock — has never been exercised in CI. Regressions in the Freighter integration, transaction building, or countdown logic can ship undetected.
Expected Behaviour
A Playwright test suite (
e2e/farm.spec.ts) exercises the core happy path against a local Soroban testnet (usingstellar-clito startsoroban-dev) with a pre-funded test wallet injected via a Freighter-compatible stub.Acceptance Criteria
e2e/directory created withplaywright.config.tstargetinghttp://localhost:3000e2e/mocks/freighter.tsexports a Playwright page fixture that interceptswindow.__freighterand provides a deterministic signing key (test keypair, never a real key)e2e/farm.spec.tstest cases:page.clock.setFixedTime), reload, Unlock button is enabledpnpm playwright testin the GitHub Actions workflow (.github/workflows/e2e.yml)Relevant Files
e2e/— create directory and all test files.github/workflows/— adde2e.ymlpackage.json— add@playwright/testdevDependency