taler-docs

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

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