brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.57k stars 2.28k forks source link

Manual test run for `Brave Wallet` on Linux/macOS/Windows for `1.32.x - Release ` #19383

Closed srirambv closed 2 years ago

srirambv commented 2 years ago

Wallet Discovery


Browser Menu * Verify selecting "Wallet" from menu navigates to `brave://wallet` on a clean profile * [x] Linux * [x] Windows * [x] macOS
Web UI Navigation
* Verify navigation bar reads "Wallet" instead of "Crypto Wallets" - [x] Linux - [x] Windows - [x] 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 brave://wallet/onboarding or brave://wallet/restore-wallet * [x] Linux * [x] Windows * [x] macOS

    If Wallet is locked, should be able to route to brave://wallet/unlock or `brave://wallet/restore-wallet * [x] Linux * [x] Windows * [x] macOS

    If Wallet is unlocked,verify default route is set to brave://wallet/portfolio * [x] Linux * [x] Windows * [x] macOS

Onboarding

New User onboarding
Wallet Creation * Verify selecting Wallet from menu opens `brave://wallet/crypto/onboarding` and provides two options for `Get Started` and `Restore` * [x] Linux * [x] Windows * [x] macOS * Verify `Get Started` prompts to set up a password for wallet * [x] Linux * [x] Windows * [x] macOS * Verify Password check works fine (Check should be for min 7 char & number & special characters) * [x] Linux * [x] Windows * [x] macOS * Verify `Continue` button only enables when password and confirm password both match and satisfies the min criteria * [x] Linux * [x] Windows * [x] macOS * Verify `Backup Wallet message` is shown once wallet is created * [x] Linux * [x] Windows * [x] macOS * Verify `Skip` on `Backup Wallet` screen takes directly to `brave://wallet/crypto/portfolio` * [x] Linux * [x] Windows * [x] macOS
Default Wallet Notification * Verify default wallet notification is shown above the portfolio balance when `MetaMask` or `Deprecated Crypto Wallet Extension` is set as default * [x] Linux * [x] Windows * [x] macOS * Verify default wallet notification is removed when user clicks on `Dismiss`. Reloading the page prompts again * [x] Linux * [x] Windows * [x] macOS
Wallet Backup * Verify `Continue` button on `Backup Wallet` screen only enables when user selects the checkbox * [x] Linux * [x] Windows * [x] macOS * Verify `Copy` button on the Recovery phase screen copies the seed words to clipboard * [x] Linux * [x] Windows * [x] macOS * Verify user is able to click on keywords to arrange it according to the seed word list * [x] Linux * [x] Windows * [x] macOS * Verify user is auto-redirected to portfolio page once seed words are verified * [x] Linux * [x] Windows * [x] macOS * Verify if the user skips backup after creating wallet, a persistent banner is shown on Portfolio/Accounts page * [x] Linux * [x] Windows * [x] macOS * Verify able to dismiss the backup wallet message. Reloading page brings it back * [x] Linux * [x] Windows * [x] macOS
MetaMask Migration * Verify when MM is installed, opening `brave://wallet/crypto/onboarding` shows an `Import from MetaMask` button on the welcome screen * [x] Linux * [x] Windows * [x] macOS * Verify `Import` button only enables when you enter the MM password and enter Brave Wallet password satisfying the min password criteria * [x] Linux * [x] Windows * [X] 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 * [x] Linux * [x] Windows * [x] macOS * Verify same password can be used if previously set MM password meets the Brave Wallet password requirement * [x] Linux * [x] Windows * [x] macOS * Verify once MM wallet is imported, Backup Wallet Message is shown for user to back up seed words * [x] Linux * [x] Windows * [x] macOS * Verify same wallet from MM is restored when imported during onboarding * [x] Linux * [x] Windows * [x] 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 * [x] Linux * [x] Windows * [x] macOS * Verify continue on onboarding provides an option to import wallet from Crypto Wallets * [x] Linux * [x] Windows * [x] 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 * [x] Linux * [x] Windows * [x] macOS * Verify same password can be used if previously set Crypto Wallets (legacy) password meets the Brave Wallet password requirement * [x] Linux * [x] Windows * [x] macOS * Verify same wallet from Crypto Wallets (legacy) is restored when imported during onboarding * [x] Linux * [x] Windows * [x] macOS
Account Recovery
* Verify able to restore a MM wallet using 12 word seed code via onboarding or lock screen * [x] Linux * [x] Windows * [x] macOS * Verify able to restore Brave Crypto Wallets 12 word seed code via onboarding or lock screen * [x] Linux * [x] Windows * [x] macOS * Verify able to restore Brave Crypto Wallets 24 word seed code via onboarding or lock screen * [x] Linux * [x] Windows * [x] macOS * Verify when pasting 24 word seed code, a new option shows up for `Import from legacy Brave Crypto Wallets?` * [x] Linux * [x] Windows * [x] 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 * [x] Linux * [x] Windows * [x] macOS * Verify all continuous accounts are restored when using the seed words * [x] Linux * [x] Windows * [x] macOS

Portfolio

Graph Time scales * Verify default graph time line is set to 1D * [x] Linux * [x] Windows * [x] macOS * Verify selecting different option on the graph shows the value accordingly * [x] Linux * [x] Windows * [x] macOS * Verify hovering over the graph line shows date-timestamp and sliding along the graph updates the token balance according to the timeline * [x] Linux * [x] Windows * [X] macOS
Assets * Verify `ETH` and `BAT` are listed as default assets for a wallet on Ethereum network * [x] Linux * [x] Windows * [x] macOS * Verify `ETH` is listed as default asset for other networks * [x] Linux * [x] Windows * [x] macOS * Verify a new section for NFT is added when a custom ERC-721 token is added * [x] Linux * [x] Windows * [x] macOS
Add Assets * Verify able to add assets by clicking on `Visible assets` button * [x] Linux * [x] Windows * [x] macOS * Verify selecting checkbox against a token adds the assets to the list of visible tokens * [x] Linux * [x] Windows * [x] macOS * Verify able to add custom token via `Add custom asset` option in visible assets * [x] Linux * [x] Windows * [x] macOS * Verify able to add NFT's as custom assets by adding it via `Add custom asset` option in visible assets * [x] Linux * [x] Windows * [x] macOS * Verify adding a contract address in `Add custom asset` auto-populates other fields * [x] Linux * [x] Windows * [x] macOS * Verify typing the token names in the search box lists all matching tokens based on search term * [x] Linux * [x] Windows * [x] macOS * Verify entering a contract address in search box lists the token * [x] Linux * [x] Windows * [x] macOS
Transactions * Verify clicking on the token lists all transactions relating to that particular token * [x] Linux * [x] Windows * [x] macOS * Verify transaction shows if its a send/swap transaction * [x] Linux * [x] Windows * [x] macOS * Verify clicking on the `...` of a transaction, provides option to see the transaction on block explorer * [x] Linux * [x] Windows * [x] macOS * Verify status(Submitted/Confirmed/Error/Rejected) of the transaction is shown next to each transaction * [x] Linux * [x] Windows * [x] macOS

Network Selection

Default networks * Verify default network is set to `Ethereum` * [x] Linux * [x] Windows * [x] macOS * Verify able to select between Mainnet `Ethereum` and Test Nets (`Rinkeby`/`Ropsten`/`Goerli`/`Kovan` and `localhost`) via portfolio or via Send/Swap widget * [x] Linux * [x] Windows * [x] macOS
Custom RPC * Verify custom networks added via `brave://settings/wallet/networks` list under network selection * [x] Linux * [x] Windows * [x] macOS * Verify when a custom network is selected as default network, default Token is updated according to the chain currency details * [x] Linux * [x] Windows * [x] macOS

Widget

Buy * Verify able to Buy Ether works and able to fund wallet * [x] Linux * [x] Windows * [x] macOS
Send * Verify able to send tokens from one wallet to other * [x] Linux * [x] Windows * [x] macOS * Verify selecting preset values automatically populates the input field with appropriate value based on wallet balance * [x] Linux * [x] Windows * [x] macOS * Verify `Send` button only enables when there is a balance in the wallet * [x] Linux * [x] Windows * [x] macOS * Verify entering a value higher than wallet balance immediately shows `Insufficient balance` error * [x] Linux * [x] Windows * [x] macOS * Verify `Insufficient balance` error is removed when input value is less than or equal to balance * [x] Linux * [x] Windows * [x] macOS * Verify clicking on `Send` trigger opens the panel to submit or reject the transactions * [x] Linux * [x] Windows * [x] macOS * Verify ERC-721 tokens are listed under tokens when its added via add custom tokens * [x] Linux * [x] Windows * [x] macOS
Swap * Verify able to perform swap between tokens * [x] Linux * [x] Windows * [x] 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%) * [x] Linux * [x] Windows * [x] macOS * Verify when input value is more than balance, `Swap` button changes to `Insufficient balance` * [x] Linux * [x] Windows * [x] macOS * Verify when there is no input value for Send token but swap token has value, `Swap` button changes to `Insufficient funds for gas` * [x] Linux * [x] Windows * [x] macOS

Accounts


Add Account (Create) * Verify able to add a new account via `brave://wallet/crypto/accounts/add-account` * [x] Linux * [x] Windows * [x] 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 * [x] Linux * [x] Windows * [x] macOS
Hardware Wallets * Verify able to connect Ledger Nano device and unlock wallets * [x] Linux * [x] Windows * [x] macOS * Verify able to connect Trezor device and unlock wallets * [x] Linux * [x] Windows * [x] macOS * Verify when device is not readable or not able to access the app, shows error on import screen * [x] Linux * [x] Windows * [x] macOS * Verify able to perform a transaction via hardware wallet account while connected * [x] Linux * [x] Windows * [x] macOS

Crypto Panel

Onboarding * Verify clicking on get started on panel opens a new tab and load Wallet onboarding page * [x] Linux * [x] Windows * [x] macOS
Login * Verify able to unlock the wallet when its locked via the panel * [x] Linux * [x] Windows * [x] macOS
User Navigation(Wallet routing)
    Wallet created
* Verify when wallet is created, clicking on expand button loads the wallet page in a new tab * [x] Linux * [x] Windows * [X] macOS * Verify when clicking on the `+` symbol on accounts, opens a new tab and load `brave://wallet/crypto/accounts/add-account` * [x] Linux * [x] Windows * [x] 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 * [x] Linux * [x] Windows * [x] macOS
Default State and Interactions * Verify closing and reopening the panel retains the states (lock/unlocked) * [x] Linux * [x] Windows * [X] macOS * Verify selected account is retained when the panel is closed and reopened * [x] Linux * [x] Windows * [x] macOS * Verify changing the account on wallet page also updates the panel and vice-versa * [x] Linux * [x] Windows * [x] macOS * Verify hovering over panel elements shows correct tool-tips * [x] Linux * [x] Windows * [x] macOS * Verify transaction state (approve/reject/sign) are all retained when the panel is closed and reopened * [x] Linux * [x] Windows * [x] macOS * Verify when a Dapp is trying to connect panel is automatically opened for connecting to the site * [x] Linux * [x] Windows * [x] macOS * Verify when connected to a Dapp, clicking on the connected button provides option to disconnect from the Dapp * [x] Linux * [x] Windows * [X] macOS * Verify panel provides option to switch networks * [x] Linux * [X] Windows * [x] macOS
Web3 Connection * Verify any transaction Send/Swap/Sign all trigger the panel to open * [x] Linux * [x] Windows * [x] macOS
Wallet Auto-lock * Verify wallet auto-locks itself after the specified time in settings (default 5) * [x] Linux * [x] Windows * [x] macOS * Verify wallet remains unlocked if the user is interacting with the wallet or panel and the auto-lock time is passed * [x] Linux * [x] Windows * [x] macOS
Wallet Unlock * Verify able to unlock the wallet via panel * [x] Linux * [x] Windows * [x] macOS

Dapp Detection

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 * [x] Linux * [x] Windows * [x] macOS * Verify deselecting an account disables the next button * [x] Linux * [x] Windows * [x] macOS
Multiple Account detection * Verify all accounts are listed in panel when trying to connect to a Dapp * [x] Linux * [x] Windows * [x] macOS * Verify which ever account is set as default selection in page/panel is the one that is auto-selected when connecting to Dapp * [x] Linux * [x] Windows * [x] macOS * Verify able to select multiple accounts and connect to Dapp * [x] Linux * [x] Windows * [x] macOS

Transactions

Type-0 Transactions * Verify Type-0 transaction is only possible when a site requests it * [x] Linux * [x] Windows * [x] macOS
Type-2 Transactions (EIP-1559) * Verify by default all transactions are Type-2 that is done via Brave Wallet * [x] Linux * [x] Windows * [x] macOS
Single Transactions * Verify when there is a single transaction the panel loads the details correctly and able to submit the transaction * [x] Linux * [x] Windows * [x] macOS
Multiple Transactions * Verify multiple transactions are listed in the panel * [x] Linux * [x] Windows * [x] macOS * Verify you can cycle through the list of pending transactions by clicking on the next * [x] Linux * [x] Windows * [x] macOS * Verify you are able to reject multiple transactions at once by clicking `Reject "x" transactions` * [x] Linux * [x] Windows * [x] macOS

Miscellaneous Checks

Proxy Calls to backend * Verify no unnecessary calls are made to backend system via proxy server when wallet is not in use * [x] Linux * [x] Windows * [x] 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 * [x] Linux * [x] Windows * [x] macOS * Verify visiting a Dapp on Private/Tor/Guest window doesn't detect any wallet (when enabled). * [x] Linux * [x] Windows * [x] macOS
Wallet Settings * Verify `brave://settings/wallet` loads Wallet settings * [x] Linux * [x] Windows * [x] macOS * Verify clicking on `settings` on the default wallet notification loads `brave://settings/wallet` in a new tab * [x] Linux * [x] Windows * [x] macOS * Verify selecting `Brave Wallet` as default DApp provider automatically removes the default wallet notification on the wallet page * [x] Linux * [x] Windows * [x] macOS * Verify default auto-lock value is set to 5 mins in `brave://settings/wallet` * [x] Linux * [x] Windows * [x] macOS * Verify default auto-lock time doesn't reset when page is reloaded after changing the value * [x] Linux * [x] Windows * [x] macOS * Verify disabling `Ethereum` under `brave://settings/content/ethereum` disables access to API * [x] Linux * [x] Windows * [x] macOS
Dark/Light Theme Support * Verify all UI elements respect light theme for browser * [x] Linux * [x] Windows * [x] macOS * Verify all UI elements respect dark theme for browser * [x] Linux * [x] Windows * [x] macOS
srirambv commented 2 years ago
Brave 1.32.106 Chromium: 96.0.4664.45 (Official Build) (64-bit)
Revision 76e4c1bb2ab4671b8beba3444e61c0f17584b2fc-refs/branch-heads/4664@{#947}
OS :ballot_box_with_check: Linux :ballot_box_with_check: Windows 11 Version 21H2
(Build 22000.318)
:ballot_box_with_check: macOS Version 11.5.2
(Build 20G95)