taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

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