-
Notifications
You must be signed in to change notification settings - Fork 19
Brave Native Wallet Test Plan
Browser Menu
-
Verify selecting "Wallet" from menu navigates to
brave://wallet
on a clean profile- Linux
- Windows
- macOS
Web UI Navigation
- Verify navigation bar reads "Wallet" instead of "Crypto Wallets"
- Linux
- Windows
- macOS
User Navigation(Wallet Routing)
-
Verify router paths work for Crypto Wallet by deep linking to wallet features
- If Wallet is not created, should be able to route to
- Linux
- Windows
- macOS
brave://wallet/onboarding
orbrave://wallet/restore-wallet
- If Wallet is locked, should be able to route to
- Linux
- Windows
- macOS
brave://wallet/unlock
or `brave://wallet/restore-wallet
- If Wallet is unlocked,verify default route is set to
- Linux
- Windows
- macOS
brave://wallet/portfolio
New User onboarding
Wallet Creation
-
Verify selecting Wallet from menu opens
brave://wallet/crypto/onboarding
and provides two options forGet Started
andRestore
- Linux
- Windows
- macOS
-
Verify
Get Started
prompts to set up a password for wallet- Linux
- Windows
- macOS
-
Verify Password check works fine (Check should be for min 7 char & number & special characters)
- Linux
- Windows
- macOS
-
Verify
Continue
button only enables when password and confirm password both match and satisfies the min criteria- Linux
- Windows
- macOS
-
Verify
Backup Wallet message
is shown once wallet is created- Linux
- Windows
- macOS
-
Verify
Skip
onBackup Wallet
screen takes directly tobrave://wallet/crypto/portfolio
- Linux
- Windows
- macOS
Default Wallet Notification
-
Verify default wallet notification is shown above the portfolio balance when
MetaMask
orDeprecated Crypto Wallet Extension
is set as default- Linux
- Windows
- macOS
-
Verify default wallet notification is removed when user clicks on
Dismiss
. Reloading the page prompts again- Linux
- Windows
- macOS
Wallet Backup
-
Verify
Continue
button onBackup Wallet
screen only enables when user selects the checkbox- Linux
- Windows
- macOS
-
Verify
Copy
button on the Recovery phase screen copies the seed words to clipboard- Linux
- Windows
- macOS
-
Verify user is able to click on keywords to arrange it according to the seed word list
- Linux
- Windows
- macOS
-
Verify user is auto-redirected to portfolio page once seed words are verified
- Linux
- Windows
- macOS
-
Verify if the user skips backup after creating wallet, a persistent banner is shown on Portfolio/Accounts page
- Linux
- Windows
- macOS
-
Verify able to dismiss the backup wallet message. Reloading page brings it back
- Linux
- Windows
- macOS
MetaMask Migration
-
Verify when MM is installed, opening
brave://wallet/crypto/onboarding
shows anImport from MetaMask
button on the welcome screen- Linux
- Windows
- macOS
-
Verify
Import
button only enables when you enter the MM password and enter Brave Wallet password satisfying the min password criteria- Linux
- Windows
- macOS
-
Verify an error is shown if MM password is weak and doesn't meet the Brave Wallet Password requirements when user checks the
Use the same password
checkbox- Linux
- Windows
- macOS
-
Verify same password can be used if previously set MM password meets the Brave Wallet password requirement
- Linux
- Windows
- macOS
-
Verify once MM wallet is imported, Backup Wallet Message is shown for user to back up seed words
- Linux
- Windows
- macOS
-
Verify same wallet from MM is restored when imported during onboarding
- Linux
- Windows
- macOS
-
Verify all existing transactions are retained when a MM wallet is imported into Brave Wallet
- Linux
- Windows
- macOS
Crypto-Wallet Migration
-
Verify when Crypto Wallets (legacy) is detected, opening
brave://wallet/crypto/onboarding
shows Crypto Wallet detected message- Linux
- Windows
- macOS
-
Verify continue on onboarding provides an option to import wallet from Crypto Wallets
- Linux
- Windows
- macOS
-
Verify an error is shown if Crypto Wallets (legacy) password is weak and doesn't meet the Brave Wallet Password requirements when user checks the
Use the same password
checkbox- Linux
- Windows
- macOS
-
Verify same password can be used if previously set Crypto Wallets (legacy) password meets the Brave Wallet password requirement
- Linux
- Windows
- macOS
-
Verify same wallet from Crypto Wallets (legacy) is restored when imported during onboarding
- Linux
- Windows
- macOS
Account Recovery
-
Verify able to restore a MM wallet using 12 word seed code via onboarding or lock screen
- Linux
- Windows
- macOS
-
Verify able to restore Brave Crypto Wallets 12 word seed code via onboarding or lock screen
- Linux
- Windows
- macOS
-
Verify able to restore Brave Crypto Wallets 24 word seed code via onboarding or lock screen
- Linux
- Windows
- macOS
-
Verify when pasting 24 word seed code, a new option shows up for
Import from legacy Brave Crypto Wallets?
- Linux
- Windows
- macOS
-
Verify only when
Import from legacy Brave Crypto Wallets?
option is selected when a valid 24 word seed is used, the correct wallet is restored- Linux
- Windows
- macOS
-
Verify all continuous accounts are restored when using the seed words
- Linux
- Windows
- macOS
Graph Time scales
-
Verify default graph time line is set to 1D
- Linux
- Windows
- macOS
-
Verify selecting different option on the graph shows the value accordingly
- Linux
- Windows
- macOS
-
Verify hovering over the graph line shows date-timestamp and sliding along the graph updates the token balance according to the timeline
- Linux
- Windows
- macOS
Assets
-
Verify
ETH
andBAT
are listed as default assets for a wallet on Ethereum network- Linux
- Windows
- macOS
-
Verify
ETH
is listed as default asset for other networks- Linux
- Windows
- macOS
-
Verify a new section for NFT is added when a custom ERC-721 token is added
- Linux
- Windows
- macOS
Add Assets
-
Verify able to add assets by clicking on
Visible assets
button- Linux
- Windows
- macOS
-
Verify selecting checkbox against a token adds the assets to the list of visible tokens
- Linux
- Windows
- macOS
-
Verify able to add custom token via
Add custom asset
option in visible assets- Linux
- Windows
- macOS
-
Verify able to add NFT's as custom assets by adding it via
Add custom asset
option in visible assets- Linux
- Windows
- macOS
-
Verify adding a contract address in
Add custom asset
auto-populates other fields- Linux
- Windows
- macOS
-
Verify typing the token names in the search box lists all matching tokens based on search term
- Linux
- Windows
- macOS
-
Verify entering a contract address in search box lists the token
- Linux
- Windows
- macOS
Transactions
-
Verify clicking on the token lists all transactions relating to that particular token
- Linux
- Windows
- macOS
-
Verify transaction shows if its a send/swap transaction
- Linux
- Windows
- macOS
-
Verify clicking on the
...
of a transaction, provides option to see the transaction on block explorer- Linux
- Windows
- macOS
-
Verify status(Submitted/Confirmed/Error/Rejected) of the transaction is shown next to each transaction
- Linux
- Windows
- macOS
Default networks
-
Verify default network is set to
Ethereum
- Linux
- Windows
- macOS
-
Verify able to select between Mainnet
Ethereum
and Test Nets (Rinkeby
/Ropsten
/Goerli
/Kovan
andlocalhost
) via portfolio or via Send/Swap widget- Linux
- Windows
- macOS
Custom RPC
-
Verify custom networks added via
brave://settings/wallet/networks
list under network selection- Linux
- Windows
- macOS
-
Verify when a custom network is selected as default network, default Token is updated according to the chain currency details
- Linux
- Windows
- macOS
Buy
- Verify able to Buy Ether works and able to fund wallet
- Linux
- Windows
- macOS
Send
-
Verify able to send tokens from one wallet to other
- Linux
- Windows
- macOS
-
Verify selecting preset values automatically populates the input field with appropriate value based on wallet balance
- Linux
- Windows
- macOS
-
Verify
Send
button only enables when there is a balance in the wallet- Linux
- Windows
- macOS
-
Verify entering a value higher than wallet balance immediately shows
Insufficient balance
error- Linux
- Windows
- macOS
-
Verify
Insufficient balance
error is removed when input value is less than or equal to balance- Linux
- Windows
- macOS
-
Verify clicking on
Send
trigger opens the panel to submit or reject the transactions- Linux
- Windows
- macOS
-
Verify ERC-721 tokens are listed under tokens when its added via add custom tokens
- Linux
- Windows
- macOS
Swap
-
Verify able to perform swap between tokens
- Linux
- Windows
- macOS
-
Verify when an input value is entered, the swap conversion is automatically checked and displays the estimate value and sets default slippage tolerance value (0.5%)
- Linux
- Windows
- macOS
-
Verify when input value is more than balance,
Swap
button changes toInsufficient balance
- Linux
- Windows
- macOS
-
Verify when there is no input value for Send token but swap token has value,
Swap
button changes toInsufficient funds for gas
- Linux
- Windows
- macOS
Add Account (Create)
- Verify able to add a new account via
brave://wallet/crypto/accounts/add-account
- Linux
- Windows
- macOS
Import Account(Secondary)
- Import via JSON
-
Verify able to import an account via JSON file
- Linux
- Windows
- macOS
- Import via Private Key
-
Verify able to import a wallet using Private Key
- Linux
- Windows
- macOS
Hardware Wallets
-
Verify able to connect Ledger Nano device and unlock wallets
- Linux
- Windows
- macOS
-
Verify able to connect Trezor device and unlock wallets
- Linux
- Windows
- macOS
-
Verify when device is not readable or not able to access the app, shows error on import screen
- Linux
- Windows
- macOS
-
Verify able to perform a transaction via hardware wallet account while connected
- Linux
- Windows
- macOS
Onboarding
- Verify clicking on get started on panel opens a new tab and load Wallet onboarding page
- Linux
- Windows
- macOS
Login
- Verify able to unlock the wallet when its locked via the panel
- Linux
- Windows
- macOS
User Navigation(Wallet routing)
- Wallet created
-
Verify when wallet is created, clicking on expand button loads the wallet page in a new tab
- Linux
- Windows
- macOS
-
Verify when clicking on the
+
symbol on accounts, opens a new tab and loadbrave://wallet/crypto/accounts/add-account
- Linux
- Windows
- macOS
- Wallet not created
-
Verify when wallet is not created, clicking on Get started or Restore opens a new tab and loads the onboarding page or restore page depending on selection
- Linux
- Windows
- macOS
Default State and Interactions
-
Verify closing and reopening the panel retains the states (lock/unlocked)
- Linux
- Windows
- macOS
-
Verify selected account is retained when the panel is closed and reopened
- Linux
- Windows
- macOS
-
Verify changing the account on wallet page also updates the panel and vice-versa
- Linux
- Windows
- macOS
-
Verify hovering over panel elements shows correct tool-tips
- Linux
- Windows
- macOS
-
Verify transaction state (approve/reject/sign) are all retained when the panel is closed and reopened
- Linux
- Windows
- macOS
-
Verify when a Dapp is trying to connect panel is automatically opened for connecting to the site
- Linux
- Windows
- macOS
-
Verify when connected to a Dapp, clicking on the connected button provides option to disconnect from the Dapp
- Linux
- Windows
- macOS
-
Verify panel provides option to switch networks
- Linux
- Windows
- macOS
Web3 Connection
- Verify any transaction Send/Swap/Sign all trigger the panel to open
- Linux
- Windows
- macOS
Wallet Auto-lock
-
Verify wallet auto-locks itself after the specified time in settings (default 5)
- Linux
- Windows
- macOS
-
Verify wallet remains unlocked if the user is interacting with the wallet or panel and the auto-lock time is passed
- Linux
- Windows
- macOS
Wallet Unlock
- Verify able to unlock the wallet via panel
- Linux
- Windows
- macOS
Single Account detection
-
Verify when there is only one account in a wallet, connecting to Dapp opens panels and the account is selected by default to connect
- Linux
- Windows
- macOS
-
Verify deselecting an account disables the next button
- Linux
- Windows
- macOS
Multiple Account detection
-
Verify all accounts are listed in panel when trying to connect to a Dapp
- Linux
- Windows
- macOS
-
Verify which ever account is set as default selection in page/panel is the one that is auto-selected when connecting to Dapp
- Linux
- Windows
- macOS
-
Verify able to select multiple accounts and connect to Dapp
- Linux
- Windows
- macOS
Type-0 Transactions
- Verify Type-0 transaction is only possible when a site requests it
- Linux
- Windows
- macOS
Type-2 Transactions (EIP-1559)
- Verify by default all transactions are Type-2 that is done via Brave Wallet
- Linux
- Windows
- macOS
Single Transactions
- Verify when there is a single transaction the panel loads the details correctly and able to submit the transaction
- Linux
- Windows
- macOS
Multiple Transactions
-
Verify multiple transactions are listed in the panel
- Linux
- Windows
- macOS
-
Verify you can cycle through the list of pending transactions by clicking on the next
- Linux
- Windows
- macOS
-
Verify you are able to reject multiple transactions at once by clicking
Reject "x" transactions
- Linux
- Windows
- macOS
Proxy Calls to backend
- Verify no unnecessary calls are made to backend system via proxy server when wallet is not in use
- Linux
- Windows
- macOS
Phishing detection
TBD
Extensions Comparison
TBD
window.ethereum
access via Private/Tor/Guest window
-
Verify
window.ethereum
is not available for Private/Tor/Guest windows- Linux
- Windows
- macOS
-
Verify visiting a Dapp on Private/Tor/Guest window doesn't detect any wallet (when enabled).
- Linux
- Windows
- macOS
Wallet Settings
-
Verify
brave://settings/wallet
loads Wallet settings- Linux
- Windows
- macOS
-
Verify clicking on
settings
on the default wallet notification loadsbrave://settings/wallet
in a new tab- Linux
- Windows
- macOS
-
Verify selecting
Brave Wallet
as default DApp provider automatically removes the default wallet notification on the wallet page- Linux
- Windows
- macOS
-
Verify default auto-lock value is set to 5 mins in
brave://settings/wallet
- Linux
- Windows
- macOS
-
Verify default auto-lock time doesn't reset when page is reloaded after changing the value
- Linux
- Windows
- macOS
-
Verify disabling
Ethereum
underbrave://settings/content/ethereum
disables access to API- Linux
- Windows
- macOS
Dark/Light Theme Support
-
Verify all UI elements respect light theme for browser
- Linux
- Windows
- macOS
-
Verify all UI elements respect dark theme for browser
- Linux
- Windows
- macOS