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