-
App update
- Load the last release of the app and start a wallet. You can confirm the version on Settings -> About.
- Update the code to run the latest version, without resetting the wallet.
- You should be shown the PIN screen. Unlock the wallet and confirm load succeeded.
- Check if the Wallet Service is active for this device. This will be important to understand the context in which the following tests in this guide will be executed
- Reset the wallet.
-
Simple Initialization
- Initialize a new wallet (save your words, they will be used later).
- When creating a PIN, type the wrong PIN during the confirmation step.
-
Generate token error Tests
- Go to Settings and Create a new Token.
- Enter token name Test Token, and click Next.
- Enter token symbol TEST, and click Next.
- Enter the amount of 100.
- The Next button should not be clickable. Also, deposit value and your balance should turn red.
-
Receive Tests
- Go to the Receive Screen and check the QR Code.
- Click on the address to copy it.
- Click on New address and check that a new address was generated. The QRCode must update.
- Click on Share and Cancel.
- Click on Payment Request and generate a payment request of 10 HTR.
- Pay the Payment Request using another wallet and check the confirmation message.
-
Send Tests
- Go to the Send Screen and check whether the camera loads correctly.
- Click on Manual Info.
- Type any random text and click Next. It must show an error message.
- Enter the address
WZ7pDnkPnxbs14GHdUFivFzPbzitwNtvZo
and click Next. - Click on the HTR to change the token. Then, select HTR.
- Type 100 HTR, click Next, and check the insufficient funds error.
- Type 2 HTR, click Next, and check the send summary.
- Click on Send and type a wrong PIN Code.
- Finally, type a correct PIN Code and check the confirmation.
-
Transaction History Tests
- Open HTR History. Your balance should be 8.00 HTR.
- Check that you have two transactions.
- Click on any transaction and check the details.
-
Settings Tests
- Go to the Settings Screen. Take note of the network you're connected to (
testnet
ormainnet
). - Test Security > Lock Wallet.
- Enable biometry
- Lock wallet and use biometry.
- Disable biometry.
- Lock wallet, and it must require you to type your PIN Code.
- Test Security > Change PIN.
- Close and open the app and check whether the wallet unlocks correctly.
- Open About and go back.
- Click on Register a Token and check whether the camera loads correctly.
- Go to Manual Info, type anything and get an Invalid Configuration string.
- Go to the Settings Screen. Take note of the network you're connected to (
-
Biometry tests (Only close the app on the steps required, this is important)
- Test old Biometry mode
- Go to unleash and disable the
safe-biometry-mode.rollout
for this wallet. - Close the app and open, navigate to Settings > Security.
- Enable biometry (either Fingerprint, FaceID or TouchID depending on the device)
- Send 1 HTR to your own address (it will ask for the biometry instead of pin)
- Change the pin
- Send 1 HTR to your own address (it will ask for the biometry again)
- Close the app and open, it should ask for biometry instead of pin when opening the wallet.
- Send 1 HTR to your own address (it will ask for the biometry again)
- Disable biometry
- Lock wallet, and it must require you to type your PIN Code.
- Go to unleash and disable the
- Test safe Biometry mode
- Go to unleash and enable the
safe-biometry-mode.rollout
for this wallet. - Enable biometry (either Fingerprint, FaceID or TouchID depending on the device, it will require your pin)
- Check that the "Change PIN" option is no longer on the list.
- Create a transaction to send 1 HTR to your own address, when prompted for the biometry press cancel.
- It should show an error message, press anywhere outside to close the message.
- Try again but this time actually send the 1 HTR.
- Close the app and open, it should ask for biometry instead of pin when opening the wallet.
- When prompted for the biometry, press cancel, it should show a message that biometry failed.
- At the bottom of the screen there should be a "try again" and a "reset wallet" buttons.
- Press "try again" and actually unlock the wallet.
- Send 1 HTR to your own address (it will ask for the biometry again)
- Disable biometry (it will ask for the biometry)
- Check that the "Change PIN" option appears on the list.
- Lock wallet and it must require you to type your PIN Code.
- Go to unleash and enable the
- Test biometry mode migration
- Go to unleash and disable the
safe-biometry-mode.rollout
for this wallet. - Close the app and open, navigate to Settings > Security.
- Enable biometry (either Fingerprint, FaceID or TouchID depending on the device)
- Close the app and open, it should ask for biometry instead of pin when opening the wallet.
- Go to unleash and enable the
safe-biometry-mode.rollout
for this wallet. - After some moments the app should lock by itself and request biometry to open.
- Unlock the wallet and check that the history loads properly.
- Go to unleash and disable the
safe-biometry-mode.rollout
for this wallet. - After some moments the wallet should lock by itself and request a biometry to open.
- Unlock the wallet and check that the history loads properly.
- Go to unleash and disable the
- Test old Biometry mode
-
Create a new token Tests
- Click on Create a new token.
- Enter token name Test Token, and click Next.
- Enter token symbol TEST, and click Next.
- Enter the amount of 100, and click Next.
- Click on create token and check the confirmation message.
- After the confirmation message, it must show the Token Details.
- Click on the configuration string to copy it.
- Click on Share and cancel.
- Close the token details.
-
Send and receive the new token
- Go to the Send Screen and click on Manual Info.
- Enter the address of another test wallet.
- Change the token to TEST and continue.
- Type 3 TEST and send it.
- Go to the Receive Screen and click on Payment Request.
- Generate a payment request of 2 TEST.
- Pay the Payment Request using your test wallet that has just received the TEST before and check the confirmation message.
-
Send HTR with QR Code
- Generate a payment request requesting 1 HTR from another device
- Use the Mobile Wallet QR code scanner to read the QR code from this other device
- Pay the Payment Request, the transaction should be successful
-
Register a token Tests
- Go to the Dashboard Screen.
- Select the Test Token.
- Click on the Token Info and unregister it.
- Click on Register Token, click on Manual Info, and paste the Configuration string.
- Click on Register Token, and check that the Test Token is back and your balance is 99 TEST.
-
Reload data
- Turn Wi-Fi off until you see the message 'No internet connection.'.
- Turn on Wi-Fi and check if the wallet reloads the transactions correctly.
-
Reset Wallet
- Go to Settings and Reset your wallet.
- Close and open the app again to make sure that it was properly reset
-
Import a wallet
- Click on Import Wallet.
- Type anything random and check the "Invalid words" error message.
- Use the words saved before.
- Click on Start the wallet, and wait for it to be initialized. Validate your transactions are loaded.
-
Wallet Service
- Go to Settings and copy the Unique app identifier
- Go to the unleash dashboard and add it to the list of UserIDs
- Repeat all steps, starting from step 2
-
Whitelabel app
- Modify parameters on src/config.js. Set at least
_IS_MULTI_TOKEN = false
and a new_DEFAULT_TOKEN
. - Rebuild the app.
- Verify some changes:
- No more Dashboard screen (list of tokens and balances). Should go straight to
_DEFAULT_TOKEN
screen. - On token info screen, there's no more 'Unregister Token' option.
- No more register or create token options on Settings screen.
- On Send Tokens and Create Payment Request screens, there's no button to select tokens.
- [If modified
_PRIMARY_COLOR
on config.js] Colors must have changed.
- No more Dashboard screen (list of tokens and balances). Should go straight to
- Modify parameters on src/config.js. Set at least
-
Translations
- Run
make check_po_strict
. - We should never have any problems with pt-br translation. We should have all texts translated.
- Check if all untranslated texts are known.
- Run
Follow the Push Notification QA steps.
Follow the Custom Network QA steps.