Repository navigation
ci: add GitHub Actions workflow for frontend E2E testing (#1262) - #1288
Open
GhulamMustufa wants to merge 22 commits into
Open
GhulamMustufa wants to merge 22 commits into
GhulamMustufa wants to merge 22 commits into
Conversation
Added step to install React demo dependencies before running tests.
…s screens in burn.spec.ts
…s screens in transfer.spec.ts
…s screens in mint.spec.ts
…s screens in roles.spec.ts
…s screens in vaults.spec.ts
…eTransaction handler
…nd getTransaction
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Configure
.github/workflows/frontend-e2e.ymlrunning build, lint, unit tests, and the Playwright E2E matrix on every pull request and push to main, closing #1262.Closes #1262
Scope & Changes Made
1. GitHub Actions CI Workflow (
.github/workflows/frontend-e2e.yml) [Core Deliverable]react/**,sdk/**, or.github/workflows/frontend-e2e.yml, plus push tomainand manual dispatch.npm run e2e.2. E2E Test Fixtures & Navigation (
react/e2e/)react/e2e/stubs.ts:GBX6IWES6LXR37NISD3DKBJSSWEGGY6UB5PSL3UVTJEZRIJ4GUPJAWVE).'AAAAAQAAAAA='with authentic 4-bytexdr.ScVal.scvVoid()base64'AAAAAQ=='to prevent@stellar/stellar-sdkunhandled buffer overflow duringbuildUnsignedTransaction.getLedgerEntriesmock.mint.spec.ts,burn.spec.ts,transfer.spec.ts,roles.spec.ts,vaults.spec.ts):page.goto('/#/screen')) with UI link navigation (page.getByTestId('nav-...').click()) to preserve in-memory wallet connection state across screens during user flows.3. State & Context Integration (
react/src/screens/&sdk/src/)As outlined in the Phase 3 scope ("Integrate with existing contexts (BcForgeProvider, WalletProvider) and SDK methods where applicable"):
react/src/screens/VaultsScreen.tsx: Added fallback to context wallet adapter (useWalletContext().adapter/contextClient.getWalletAdapter()) soVaultsScreencan sign deposit and withdraw transactions when rendered inside<WalletProvider>.sdk/src/vaultClient.ts: EnhancedinvokeContractto accept aWalletAdapteras the transaction signer without requiring a raw secretKeypair.sdk/src/client.ts: Added fallback toresponse.txHashwhen reading transaction results from Soroban RPC to ensure compatibility across RPC versions.Verification & Test Results
Run #39143824995).mint.spec.ts: 3/3 passedburn.spec.ts: 3/3 passedtransfer.spec.ts: 3/3 passedroles.spec.ts: 6/6 passedvaults.spec.ts: 2/2 passedupstream/mainwith zero conflicts.