GNU Taler Demo Upgrade Checklist¶
Domains¶
The checklist uses the demo.taler.net
domains. However,
the same sandcastle demo can also be hosted at other domains.
The same instructions should apply.
Post-upgrade checks¶
Run the headless wallet to check that services are actually working:
taler-wallet-cli api 'runIntegrationTestV2' '{"exchangeBaseUrl":"https://exchange.demo.taler.net", "corebankApiBaseUrl": "https://bank.demo.taler.net", "merchantBaseUrl": "https://backend.demo.taler.net", "merchantAuthToken":"secret-token:sandbox"}'
Wallets¶
We consider the following published wallets to be “production wallets”:
Browser: Firefox Add-On Store
Browser: Chrome Web Store
Android: Google Play
Android: F-Droid
iOS: Apple Store / Testflight
Basics¶
Visit https://demo.taler.net/ to see if the landing page is displayed correctly
landing language switcher
Visit the wallet installation page, install the wallet
see if the wallet presence indicator is updated correctly (in browsers).
Visit https://bank.demo.taler.net/, register a new user
bank language switcher
bank logout
bank login
bank-integrated withdraw process, abort in bank
transaction history: delete pending withdraw
do bank-integrated withdraw process (5 KUDOS)
do wallet-initiated withdraw process (5 KUDOS)
withdraw process of large amount (20 KUDOS) runs into KYC check
fail KYC check (if possible for the given setup)
pass KYC check (tests that 2nd attempt is possible)
withdraw process of very large amount (50 KUDOS) runs into AML check
visit exchange SPA, create AML officer key
register AML officer key with offline tool (if possible)
allow withdraw process blocked on AML to proceed (if possible)
Exchange AML SPA¶
enter non-trivial form, change status to frozen
check account status in history is now frozen and shows in that category
enter another form, change status to normal, increase AML threshold
view forms in history, view previously submitted form
check account status in history is now normal and shows in that category
log out
check log in succeeds with correct password
check log in fails from different browser with same password
Blog demo¶
blog page article list renders
payment for blog article
Verify that the balance in the wallet was updated correctly.
Go back to https://shop.demo.taler.net/ and click on the same article link. Verify that the article is shown and no repeated payment is requested.
Open the fulfillment page from the previous step in an anonymous browsing session (without the wallet installed) and verify that it requests a payment again.
Delete cookies on https://shop.demo.taler.net/ and click on the same article again. Verify that the wallet detects that the article has already purchased and successfully redirects to the article without spending more money.
payment for other blog article
refund of 2nd blog article (button at the end)
wallet transaction history rendering
delete refund history entry; check original purchase entry was also deleted
payment for other blog article
refund of 3rd blog article (button at the end)
wallet transaction history rendering
delete 3rd block purchase history entry; check refund entry was also deleted
Donation demo¶
Reset wallet
Withdraw age-restricted coins (< 14)
Try to make a donation on https://donations.demo.taler.net/, fail due to age-restriction
Withdraw age-restricted coins (>= 14)
Make a donation on https://donations.demo.taler.net/
Make another donation with the same parameters and verify that the payment is requested again, instead of showing the previous fulfillment page.
Merchant SPA¶
test SPA loads
try to login with wrong password
try to login with correct password
create instance, check default is set to cover (STEFAN) fees
modify instance
add bank account
edit bank account
remove bank account
check order creation fails without bank account
add bank account again
add product with 1 in stock and preview image
add “advanced” order with inventory product and a 2 minute wire delay
claim order, check available stock goes down in inventory
create 2nd order, check this fails due to missing inventory
pay for 1st order with wallet
check transaction history for preview image
trigger partial refund
accept refund with wallet
create template with fixed summary, default editable price
scan template QR code, edit price and pay
add TOTP device (using some TOTP app to share secret with)
edit template to add TOTP device, set price to fixed, summary to be entered
scan template QR code, edit summary and pay
check displayed TOTP code matches TOTP app
do manual wire transfer in bank to establish reserve funding
check that partially refunded order is marked as awaiting wire transfer
check bank wired funds to merchant (if needed, wait)
add bank wire transfer manually to backend
change settings for merchant to not pay for (STEFAN) fees
create and pay for another order with 1 minute wire transfer delay
edit bank account details, adding revenue facade with credentials
wait and check if wire transfer is automatically imported
check that orders are marked as completed
P2P payments¶
generating push payment (to self is OK)
accepting push payment (from self is OK)
generating pull payment (to self is OK)
accepting pull payment (from self is OK)
sending money back from wallet to bank account
wallet transaction history rendering
delete history entry
Shutdown¶
create two full wallets, fill one only via (a large) P2P transfer
revoke highest-value denomination
spend money in a wallet such that the balance falls below highest denomination value
revoke all remaining denominations
fail to spend any more money
if wallet was filled via p2p payments, wallet asks for target deposit account (exchange going out of business)
enter bank account (if possible)
wallet balance goes to zero
specified bank account receives remaining balance