checklist-wallet.rst (4785B)
1 Wallets 2 ------- 3 4 We consider the following published wallets to be "production wallets": 5 6 * Browser: Firefox Add-On Store 7 * Browser: Chrome Web Store 8 * Android: Google Play / F-Droid / APK 9 * iOS: Apple Store / Testflight 10 11 To run those tests you need one to three wallets (you should ideally use three different platforms) and one to two opened bank accounts into a bank with Taler Integration. 12 13 Withdraw & Deposit 14 ^^^^^^^^^^^^^^^^^^ 15 16 To run those tests you need one wallet and two bank accounts. 17 18 - |democheck| wallet withdrawal payto-URI 19 20 - trigger withdraw from wallet & copy URI 21 - paste URI in bank & pay more 22 - wallet redirect to success and receive more 23 - paste URI in bank & pay -> bounce 24 25 - |democheck| bank withdrawal success 26 27 - bank trigger withdrawal & save QR code 28 - wallet scan QR code 29 - bank pay 30 - wallet redirect to success 31 - wallet scan QR code -> redirect to success 32 33 - |democheck| bank withdrawal failure 34 35 - bank trigger withdrawal 36 - wallet scan QR code 37 - bank cancel 38 - wallet redirect to failure 39 - wallet scan QR code -> redirect to failure 40 41 - |democheck| deposit existing account 42 43 - check bank1 account is already registered 44 - trigger deposit using bank1 45 - check deposit in bank1 account 46 47 - |democheck| deposit new account 48 49 - add bank2 account 50 - trigger deposit using bank2 51 - check deposit in bank2 account 52 53 P2P payments 54 ^^^^^^^^^^^^ 55 56 TODO: some pay* interactions should become unnecessary in a future update: https://bugs.gnunet.org/view.php?id=9670 57 TODO: check different kind of failure (aborted, expired, already complete by another wallet) are correctly shown 58 59 To run those test you need three wallets. 60 61 Concurrent flow 62 """""""""""""""" 63 64 Test what happens when two wallets compete on the same payment. 65 66 - initiate payment in wallet1 and save URI 67 - scan QR code in wallet2 & wallet3 68 - pay with wallet2 -> redirect to success 69 - check wallet1 redirect to success 70 - pay* with wallet3 -> redirect to failure 71 - paste URI in wallet2 -> pay* -> redirect to success 72 - paste URI in wallet3 -> pay* -> redirect to failure 73 74 75 Abort flow 76 """""""""" 77 78 Test what happens when a payment is aborted. 79 80 - initiate payment in wallet1 and save URI 81 - scan QR code in wallet2 82 - abort in wallet1 -> redirect to failure 83 - pay* with wallet2 -> redirect to failure 84 - paste URI in wallet3 -> pay* -> redirect to failure 85 86 Expire flow 87 """"""""""" 88 89 Test what happens when a payment is expired. 90 91 - initiate payment in wallet1 with short expiration and save URI 92 - scan QR code in wallet2 93 - wait for expiration 94 - check wallet1 redirect to failure 95 - pay* with wallet2 -> redirect to failure 96 - paste URI in wallet3 -> pay* -> redirect to failure 97 98 Network flow 99 """""""""""" 100 101 Test what happens when the wallet does not have internet access. 102 103 - disable network in wallet1 104 - initiate payment in wallet1 105 - check that a loading state with warning is shown 106 - enable network in wallet1 107 - check that wallet1 recover and display QR code and URI 108 - disable network in wallet2 109 - scan QR code -> network failure screen 110 - enable network in wallet2 111 - pay with wallet2 -> redirect to success 112 113 Checklist 114 """"""""" 115 116 - |democheck| pull payment (receive) concurrent flow 117 - |democheck| pull payment (receive) abort flow 118 - |democheck| pull payment (receive) expire flow 119 - |democheck| pull payment (receive) network flow 120 121 - |democheck| push payment (send) concurrent flow 122 - |democheck| push payment (send) abort flow 123 - |democheck| push payment (send) expire flow 124 - |democheck| push payment (send) network flow 125 126 - |democheck| check pull payment insufficient fund error on completion 127 - |democheck| check push payment insufficient fund error on initiation 128 129 - |democheck| sending money back from wallet to bank account 130 - |democheck| wallet transaction history rendering 131 - |democheck| delete history entry 132 133 134 Exchange management 135 """"""""""""""""""" 136 137 - |democheck| Try to explicitly reload exchange keys (still needed?) 138 - |democheck| Have wallet show ToS of an exchange 139 - |democheck| Have wallet show PP of an exchange 140 - |democheck| Remove exchange with remaining balance 141 - |democheck| Check remaining balance is deposited into origin account 142 143 144 Android Cashier App 145 ^^^^^^^^^^^^^^^^^^^ 146 147 To run those test you need one wallet and a bank account. 148 149 - |democheck| Configure cashier app with libeufin account 150 - |democheck| Lock and reconnect 151 - |democheck| Reconfigure 152 - |democheck| Check insufficient balance error 153 - |democheck| Check zero error 154 155 - |democheck| Withdraw cash from cashier 156 157 - Initiate withdraw in cashier 158 - Scan QR code in wallet & accept 159 - Pay in cashier 160 161 - |democheck| Withdraw cash from cashier & bank 162 163 - Initiate withdraw in cashier 164 - Scan QR code in wallet & accept 165 - Pay from bank account website (TODO do we want this to be proposed ?) 166 - Check cashier redirect