Skip to content

Commit

Permalink
Add Crypto Tests & Reorganize files
Browse files Browse the repository at this point in the history
Fix review comments

Remove H/w checks on Wikitemplate and rename majorCRbump file
  • Loading branch information
srirambv committed Sep 11, 2022
1 parent 2c2b4c2 commit 841bbb6
Show file tree
Hide file tree
Showing 26 changed files with 442 additions and 98 deletions.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
68 changes: 68 additions & 0 deletions WikiTemplate/Crypto/wikitemplate-cryptoAndroid.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@

## Onboarding

- [ ] Verify able to create a wallet by following onboarding
- [ ] Verify not able to screenshots during onboarding screens
- [ ] Verify able to backup wallet seed phrase during onboarding
- [ ] Verify able to skip backup wallet seed screen to complete onboarding
- [ ] Verify onboarding is shown when trying to interact with Dapp without creating wallet

## Panel

- [ ] Verify panel is only shown in URL when a Dapp is trying to interact
- [ ] Verify able to change default network from panel
- [ ] Verify able to change accounts from panel
- [ ] Verify notification dot is shown on wallet icon when an action is pending for Wallet

## Ethereum

- [ ] Verify Ethereum account is created as soon as onboarding is completed
- [ ] Verify able to create an Ethereum account can be created from accounts tab
- [ ] Verify able to create an Ethereum account can be created from accounts list screen
- [ ] Verify able to import an Ethereum account via Private Key/JSON file
- [ ] Verify able to submit an ETH transaction

## Solana

- [ ] Verify able to create a Solana account when Solana Mainnet Beta is selected from network picker
- [ ] Verify able to create a Solana account from accounts tab
- [ ] Verify able to create a Solana account can be created from accounts list screen
- [ ] Verify able to send tokens from one Solana account to another
- [ ] Verify able to submit a SOL transaction

## Network Settings

- [ ] Verify able to add a custom network via Settings
- [ ] Verify able to change active network to a custom network via portfolio

## Custom Tokens

- [ ] Verify able to manually add a custom token
- [ ] Verify able to manually add ERC721 tokens
- [ ] Verify able to add custom tokens via webpage (Coingecko/CoinMarketCap)

## Dapp Support (Ethereum)

- [ ] Verify able to connect to a Dapp
- [ ] Verify when a Dapp is trying to interact a toast notification is shown when wallet is locked/wallet icon is not yet shown in URL
- [ ] Verify clicking on the Dapp interaction notification, opens the Panel for Dapp interaction
- [ ] Verify able to connect multiple accounts to a Dapp
- [ ] Verify able to connect/disconnect to Dapp from Panel
- [ ] Verify able to approve/reject Dapp request to change network via panel
- [ ] Verify able to approve/cancel transaction request via panel when interacting with a Dapp
- [ ] Verify able to add a custom network via panel when connected to a Dapp
- [ ] Verify able to switch networks via panel when a Dapp requests network change
- [ ] Verify able to sign messages from Dapp via Wallet panel
- [ ] Verify able to get public encryption key from Dapp via panel
- [ ] Verify able to view decrypt message form Dapp on panel

## Settings

- [ ] Verify able to set custom timer on auto-lock
- [ ] Verify able to add/remove a custom network
- [ ] Verify able to set added custom network as default via settings
- [ ] Verfiy able to set/disable Web3 Notification
- [ ] Verify when Web3 Notification settings is disabled, there is no notification dot shown on wallet during Dapp interaction
- [ ] Verify able to clear transactions and nonce information
- [ ] Verify able to reset wallet
- [ ] Verify recreating wallet after reset creates a new account
136 changes: 136 additions & 0 deletions WikiTemplate/Crypto/wikitemplate-cryptoDesktop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@

## Onboarding

- [ ] Verify loading `brave://wallet` on a clean profile shows onboarding flow
- [ ] Verify you are able to complete the onboarding flow to Ethereum create wallet by default
- [ ] Verify you are able to complete the backup seed phrase during onboarding itself
- [ ] Verify you can skip the onboarding from backup wallet screen and still create a wallet
- [ ] Verify when a Dapp interacts without creating wallet opens a new tab and shows onboarding

## Importing Wallet

- [ ] Verify with MetaMask extension installed and wallet created, visiting `brave://wallet/crypto/onboarding/import-or-restore` shows option to import account from MetaMask during onboarding
- [ ] Verify error message is shown when trying to use same password as MetaMask and it doesn't meet Brave Wallet's password criteria
- [ ] Verify able to successfully import MetaMask wallet into Brave Wallet
- [ ] Verify with Crypto Wallet Extension installed and wallet created, visiting `brave://wallet/crypto/onboarding/import-or-restore` shows option to import account from old Crypto Wallet Extension
- [ ] Verify error message is shown when trying to use same password as Crypto Wallet Extension and it doesn't meet Brave Wallet's password criteria
- [ ] Verify able to successfully import Crypto Wallet Extension wallet into Brave Wallet

## Panel

- [ ] Verify when wallet is not created opening the wallet panel shows `Learn More` message Clicking on it opens `brave://wallet` in a new tab
- [ ] Verify when wallet is created, opening the panel shows default account and selected network and account balance
- [ ] Verify Buy/Send/Swap buttons are available and loads corresponding screens to perform action
- [ ] Verify transaction history button is shown and lists recent transactions for selected network when clicked
- [ ] Verify changing network in panel updates the corresponding account in panel and in portfolio page
- [ ] Verify changing account in panel updates the corresponding network in panel and in portfolio page
- [ ] Verify when a Dapp is connected to wallet account, panel shows a `Connected` state notification
- [ ] Verify when a Dapp connection is revoked, panel shows a `Disconnected` state notification
- [ ] Verify selecting `Connected Sites` from panel menu loads `brave://settings/content/<Network>` for Ethereum/Solana based on selected account
- [ ] Verify selecting `View on Block explorer` from panel loads the corresponding account's details on the network block explorer
- [ ] Verify selecting `Help Center` opens a new tab and loads `https://support.brave.com/hc/en-us/articles/4415497656461-Brave-Walllet-FAQ`
- [ ] Verify you are able to lock the wallet from panel menu
- [ ] Verify clicking on the expand button on the top-left of panel loads the wallet page in a new tab

## Portfolio & Accounts

- [ ] Verify after creating a wallet it loads portfolio screen by default
- [ ] Verify portfolio page shows balance of all accounts
- [ ] Verify able to show/hide balance on portfolio screen
- [ ] Verify able to search for token in portfolio screen
- [ ] Verify able to filter assets list by specific network via the network dropdown
- [ ] Verify able to sort NFT's and Assets list by balance amount
- [ ] Verify able to add or remove assets from view via `Visible assets` button
- [ ] Verify able to add a new custom asset for specific network
- [ ] Verify able to add hide/remove custom asset via `Visible assets` list
- [ ] Verify able to create a new primary account for Ethereum/Solana/Filecoin via `Create Account` in accounts tab
- [ ] Verify able to import Ethereum/Solana/Filecoin accounts via `Import` option
- [ ] Verify imported accounts are listed under `Secondary Accounts`
- [ ] Verify able to import Ethereum/Solana/Filecoin accounts via `Import from hardware wallet`
- [ ] Verify imported hardware wallet accounts are listed under `Secondary Accounts`
- [ ] Verify Wallet backup message is shown on both portfolio and accounts tab if skipped during onboarding
- [ ] Verify Brave Wallet is not default message is shown when MetaMask is installed and `Brave Wallet (Prefer extensions)` is set as default wallet provider

## Ethereum

- [ ] Verify when a new wallet is created it creates an Ethereum account by default
- [ ] Verify for a newly created Ethereum wallet, `ETH` and `BAT` tokens are added by default on portfolio screen
- [ ] Verify the account address is same for Ethereum Mainnet and other EVM's
- [ ] Verify able to add a new Ethereum account via the Accounts tab
- [ ] Verify able to import an Ethereum account via `Private Key` or `JSON file` under the import section
- [ ] Verify able to import Ethereum account via hardware keys
- [ ] Verify able to add a custom token for Ethereum account on

## Solana

- [ ] Verify when a new wallet is created there is no Solana account created by default
- [ ] Verify when `Solana Mainnet Beta` is selected in network dropdown in panel or in widget, it prompts to create a new Solana account
- [ ] Verify selecting `Yes` in the create Solana account modal creates a new Solana account
- [ ] Verify selecting `No` in the create Solana account doesn't create a new Solana account
- [ ] Verify able to add a new Solana account via the Accounts tab
- [ ] Verify able to import an Solana account via `Private Key` under the import section
- [ ] Verify able to import Solana account via hardware keys

## Filecoin

- [ ] Verify when a new wallet is created there is no Filecoin account created by default
- [ ] Verify when `Filecoin` is selected in network dropdown in panel or in widget, it prompts to create a new Filecoin account
- [ ] Verify selecting `Yes` in the create Filecoin account modal creates a new Filecoin account
- [ ] Verify selecting `No` in the create Filecoin account modal doesn't create a new Filecoin account
- [ ] Verify able to add a new Filecoin account via the Accounts tab
- [ ] Verify able to import an Filecoin account via `Private Key` under the import section
- [ ] Verify able to import Filecoin account via hardware keys

## Hardware

- [ ] Verify able to connect Ledger and import Ethereum accounts
- [ ] Verify able to connect Ledger and import Solana accounts
- [ ] Verify able to connect Ledger and import Filecoin accounts
- [ ] Verify able to submit and approve Ethereum transactions via imported Ethereum account on Ledger
- [ ] Verify able to submit and approve Solana transactions via imported Solana account on Ledger
- [ ] Verify able to submit and approve Filecoin transactions via imported Filecoin account on Ledger
- [ ] Verify able to connect Trezor and import Ethereum accounts
- [ ] Verify able to submit and approve transactions via imported Ethereum account on Trezor

## Custom Tokens

- [ ] Verify able to manually add a ERC721
- [ ] Verify able to manually add a custom token for Ethereum/EVM network
- [ ] Verify able to manually add a custom token for Solana network
- [ ] Verify able to add a custom token via webpage (Coingecko/Coinmarketcap)

## Wallet Settings

- [ ] Verify Default Ethereum Wallet dropdown is set to `Brave Wallet (prefer extensions)` as default
- [ ] Verify Default Solana Wallet dropdown is set to `Brave Wallet (prefer extensions)` as default
- [ ] Verify Default Ethereum/Solana Wallet allows to set Brave Wallet as default
- [ ] Verify Default Ethereum/Solana Wallet allows to set it to None
- [ ] Verify with Crypto Wallets Extension flag enabled `Crypto Wallet (deprecated)` is only shown for Default Ethereum Wallet
- [ ] Verify able to change default base currency (USD -> Other)
- [ ] Verify able to change default base cryptocurrency from BTC to other (ETH/LTC/BCH etc)
- [ ] Verify able to update default wallet lock time and works as expected
- [ ] Verify able to clear wallet transaction & nonce information
- [ ] Verify able to add custom network
- [ ] Verify able to set a network as default from settings
- [ ] Verify able to delete added custom network
- [ ] Verify able to edit pre-loaded default networks
- [ ] Verify able to enable/disable test networks

## Dapp Support (Ethereum & Solana)

- [ ] Verify able to connect to an Ethereum Dapp
- [ ] Verify after connecting to an Ethereum Dapp the connected state is saved in `brave://settings/content/ethereum`
- [ ] Verify able to connect to an Solana Dapp
- [ ] Verify after connecting to an Solana Dapp the connected state is saved in `brave://settings/content/ethereum`
- [ ] Verify able to connect multiple accounts to Dapp (Both Ethereum & Solana)
- [ ] Verify able to submit transactions when wallet is connected to Dapp (Both Ethereum & Solana)

## Restore & Reset

- [ ] Verify able to restore a wallet using seed words from the onboarding screen (No wallet created)
- [ ] Verify able to restore a wallet using seed words from wallet lock screen (Wallet created & Locked)
- [ ] Verify when a wallet is restored, there is no "Backup wallet" message is shown
- [ ] Verify when a wallet is restored, all the accounts that has a transaction is restored
- [ ] Verify when a wallet is restored only Ethereum accounts are restored No Solana/Filecoin accounts are restored
- [ ] Verify able to reset wallet from `brave://settings/wallet`
- [ ] Verify wallet tab is reloaded when wallet is reset from settings
68 changes: 68 additions & 0 deletions WikiTemplate/Crypto/wikitemplate-cryptoiOS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@

## Onboarding

- [ ] Verify able to create a wallet by following onboarding
- [ ] Verify not able to screenshots during onboarding screens
- [ ] Verify able to backup wallet seed phrase during onboarding
- [ ] Verify able to skip backup wallet seed screen to complete onboarding
- [ ] Verify onboarding is shown when trying to interact with Dapp without creating wallet

## Panel

- [ ] Verify panel is only shown in URL when a Dapp is trying to interact
- [ ] Verify able to change default network from panel
- [ ] Verify able to change accounts from panel
- [ ] Verify notification dot is shown on wallet icon when an action is pending for Wallet

## Ethereum

- [ ] Verify Ethereum account is created as soon as onboarding is completed
- [ ] Verify able to create an Ethereum account can be created from accounts tab
- [ ] Verify able to create an Ethereum account can be created from accounts list screen
- [ ] Verify able to import an Ethereum account via Private Key/JSON file
- [ ] Verify able to submit an ETH transaction

## Solana

- [ ] Verify able to create a Solana account when Solana Mainnet Beta is selected from network picker
- [ ] Verify able to create a Solana account from accounts tab
- [ ] Verify able to create a Solana account can be created from accounts list screen
- [ ] Verify able to send tokens from one Solana account to another
- [ ] Verify able to submit a SOL transaction

## Network Settings

- [ ] Verify able to add a custom network via Settings
- [ ] Verify able to change active network to a custom network via portfolio

## Custom Tokens

- [ ] Verify able to manually add a custom token
- [ ] Verify able to manually add ERC721 tokens (Yet to be implmented)
- [ ] Verify able to add custom tokens via webpage (Coingecko/CoinMarketCap)

## Dapp Support (Ethereum)

- [ ] Verify able to connect to a Dapp
- [ ] Verify when a Dapp is trying to interact a toast notification is shown when wallet is locked/wallet icon is not yet shown in URL
- [ ] Verify clicking on the Dapp interaction notification, opens the Panel for Dapp interaction
- [ ] Verify able to connect multiple accounts to a Dapp
- [ ] Verify able to connect/disconnect to Dapp from Panel
- [ ] Verify able to approve/reject Dapp request to change network via panel
- [ ] Verify able to approve/cancel transaction request via panel when interacting with a Dapp
- [ ] Verify able to add a custom network via panel when connected to a Dapp
- [ ] Verify able to switch networks via panel when a Dapp requests network change
- [ ] Verify able to sign messages from Dapp via Wallet panel
- [ ] Verify able to get public encryption key from Dapp via panel
- [ ] Verify able to view decrypt message form Dapp on panel

## Settings

- [ ] Verify able to set custom timer on auto-lock
- [ ] Verify able to add/remove a custom network
- [ ] Verify able to set added custom network as default via settings
- [ ] Verfiy able to set/disable Web3 Notification
- [ ] Verify when Web3 Notification settings is disabled, there is no notification dot shown on wallet during Dapp interaction
- [ ] Verify able to clear transactions and nonce information
- [ ] Verify able to reset wallet
- [ ] Verify recreating wallet after reset creates a new account
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,25 @@ As per process, QA runs through the following cases to ensure that the major chr

### Upgrade

- [x] Make sure that data from the last version appears in the new version OK
- [x] Ensure that `brave://version` lists the expected Brave & Chromium versions
- [x] With data from the last version, verify that:
- [x] Bookmarks on the bookmark toolbar and bookmark folders can be opened
- [x] Cookies are preserved
- [x] Installed extensions are retained and work correctly
- [x] Opened tabs can be reloaded
- [x] Stored passwords are preserved
- [x] Sync chain created in previous version is retained
- [x] Social media-blocking buttons changes are retained
- [x] Rewards
- [x] BAT balance is retained
- [x] Auto-contribute list is retained
- [x] Both Tips and Monthly Contributions are retained
- [x] Panel transactions list is retained
- [x] Changes to rewards settings are retained
- [x] Ensure that Auto Contribute is not being enabled when upgrading to a new version if AC was disabled
- [x] Ads
- [x] Both `Estimated pending rewards` & `Ad notifications received this month` are retained
- [x] Changes to ads settings are retained
- [x] Ensure that ads are not being enabled when upgrading to a new version if they were disabled
- [x] Ensure that ads are not disabled when upgrading to a new version if they were enabled
- [ ] Make sure that data from the last version appears in the new version OK
- [ ] Ensure that `brave://version` lists the expected Brave & Chromium versions
- [ ] With data from the last version, verify that:
- [ ] Bookmarks on the bookmark toolbar and bookmark folders can be opened
- [ ] Cookies are preserved
- [ ] Installed extensions are retained and work correctly
- [ ] Opened tabs can be reloaded
- [ ] Stored passwords are preserved
- [ ] Sync chain created in previous version is retained
- [ ] Social media-blocking buttons changes are retained
- [ ] Rewards
- [ ] BAT balance is retained
- [ ] Auto-contribute list is retained
- [ ] Both Tips and Monthly Contributions are retained
- [ ] Panel transactions list is retained
- [ ] Changes to rewards settings are retained
- [ ] Ensure that Auto Contribute is not being enabled when upgrading to a new version if AC was disabled
- [ ] Ads
- [ ] Both `Estimated pending rewards` & `Ad notifications received this month` are retained
- [ ] Changes to ads settings are retained
- [ ] Ensure that ads are not being enabled when upgrading to a new version if they were disabled
- [ ] Ensure that ads are not disabled when upgrading to a new version if they were enabled
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 0 additions & 6 deletions wikitemplate.md → WikiTemplate/wikitemplate.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,9 +241,3 @@
- [ ] Changes to ads settings are retained
- [ ] Ensure that ads are not being enabled when upgrading to a new version if they were disabled
- [ ] Ensure that ads are not disabled when upgrading to a new version if they were enabled

## Hardware Wallet Test (To be checked on each major CR bump)

- [ ] Verify you can link hardware wallet using Trezor and unlock the wallet
- [ ] Verify you can link hardware wallet using Ledger Nano and unlock the wallet
- [ ] Verify you can perform a transaction with hardware wallet using Ledger Nano or Trezor
Loading

0 comments on commit 841bbb6

Please sign in to comment.