feat(#93): Add comprehensive test suite for WalletContext connect, disconnect, and error states#114
Merged
mikewheeleer merged 2 commits intoJun 19, 2026
Conversation
…, and error states - Test that connect() sets isConnecting true and resolves to address - Test that disconnect() clears the address - Test that error is reset on new connect() - Test that useWallet() throws error when called outside WalletProvider - Use fake timers to simulate connection delay - Use test consumer component and @testing-library/react
Contributor
|
really thorough suite for the wallet connect/disconnect/error states, appreciate the care here. lgtm 🙌 |
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.
PR Description
Overview
This PR implements comprehensive test coverage for
WalletContextas specified in issue #93, ensuring wallet state management is robust and reliable across connect, disconnect, and error scenarios.Changes Implemented
New Test File
src/contexts/__tests__/WalletContext.test.tsx(149 lines)@testing-library/reactfor component testingTest Coverage
1.
connect()State ManagementisConnectingis set totrueimmediately upon connection attemptisConnectingreturns tofalseafter successful connection2.
disconnect()Functionalitydisconnect()is invoked3. Error State Reset
errorstate is reset tonullwhen a newconnect()is called4. Provider Guard
useWallet()outsideWalletProviderthrows documented error:"useWallet must be used within a WalletProvider"Technical Details
useFakeTimers()) to control async timingWalletConsumerto access context valuesdata-testidfor reliable element queriesVerification
Testing
npm test -- src/contexts/__tests__/WalletContext.test.tsxCloses #93