QA test plan covering wallet functionality, Stripe Connect onboarding, business account upgrades, purchase flows, tips, and withdrawals.
Route: /wallet
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| WAL-W-001 | Display wallet balance | Logged in; wallet exists | 1. Navigate to /wallet | Current balance displayed correctly | P0 |
| WAL-W-002 | Display transaction history | Logged in; transactions exist | 1. Navigate to /wallet 2. View transaction list | Transactions listed with date, amount, type, and status | P0 |
| WAL-W-003 | Display earnings breakdown | Logged in; has earnings | 1. Navigate to /wallet | Earnings from sales, tips, etc. shown separately | P1 |
| WAL-W-004 | Empty wallet state | Logged in; new account with no transactions | 1. Navigate to /wallet | Zero balance shown; “No transactions yet” message | P1 |
| WAL-W-005 | Transaction history pagination | Logged in; many transactions | 1. Scroll through transaction list | Older transactions load as user scrolls | P2 |
| WAL-W-006 | Transaction detail view | Logged in; transactions exist | 1. Click on a transaction | Transaction details shown (amount, date, parties, reference) | P2 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| WAL-SC-001 | Start Stripe Connect onboarding | Logged in; no Stripe account | 1. Click “Connect with Stripe” or trigger connectOnboard | Redirected to Stripe onboarding flow | P0 |
| WAL-SC-002 | Complete Stripe Connect onboarding | In Stripe onboarding flow | 1. Fill in all required Stripe fields 2. Submit | Returned to app; Stripe account connected; status updated | P0 |
| WAL-SC-003 | Incomplete Stripe onboarding | In Stripe onboarding flow | 1. Start onboarding 2. Close/abandon before completion | Account status shows incomplete; prompt to resume | P0 |
| WAL-SC-004 | Check Stripe account status | Logged in; Stripe connected | 1. Navigate to wallet or business settings | Stripe connection status shown (active/pending/restricted) | P1 |
| WAL-SC-005 | Stripe verification required | Logged in; Stripe needs additional verification | 1. View account status | Banner or alert prompting user to complete verification | P1 |
| WAL-SC-006 | Resume incomplete onboarding | Logged in; onboarding incomplete | 1. Click “Complete Setup” | Redirected to Stripe to resume onboarding where left off | P1 |
Route: /business/upgrade
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| WAL-BU-001 | View business upgrade options | Logged in as regular user | 1. Navigate to /business/upgrade | Upgrade options and pricing displayed | P0 |
| WAL-BU-002 | Upgrade to business account | Logged in as regular user | 1. Click “Upgrade” 2. Complete Stripe setup if needed 3. Confirm | Account upgraded to business; store features unlocked | P0 |
| WAL-BU-003 | Business upgrade with Stripe not connected | Logged in; no Stripe account | 1. Click “Upgrade” | Prompted to connect Stripe first before upgrading | P0 |
| WAL-BU-004 | Already a business account | Logged in as business user | 1. Navigate to /business/upgrade | Shows current plan; no duplicate upgrade option | P1 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| WAL-PP-001 | Purchase a product | Logged in; product available | 1. Navigate to product 2. Click “Buy” 3. Enter payment details 4. Confirm | Payment processed; product access granted; receipt shown | P0 |
| WAL-PP-002 | Purchase with insufficient funds / declined card | Logged in | 1. Attempt purchase with Stripe test decline card (4000 0000 0000 0002) | Payment fails; error message shown; no product access | P0 |
| WAL-PP-003 | Purchase free product | Logged in; free product exists | 1. Navigate to free product 2. Click “Get” | Product access granted without payment flow | P1 |
| WAL-PP-004 | Purchase updates seller wallet | Logged in as buyer; seller has Stripe connected | 1. Complete a purchase | Seller’s wallet reflects new earnings | P0 |
| WAL-PP-005 | Duplicate purchase prevention | Logged in; already purchased product | 1. Navigate to already-purchased product | ”Already purchased” shown; no duplicate buy option | P1 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| WAL-PS-001 | Subscribe to Starter plan ($9/mo) | Logged in; no active subscription | 1. Navigate to subscription page 2. Select “Starter” 3. Enter payment 4. Confirm | Subscription active; Starter features unlocked; $9 charged | P0 |
| WAL-PS-002 | Subscribe to Pro plan ($29/mo) | Logged in; no active subscription | 1. Navigate to subscription page 2. Select “Pro” 3. Enter payment 4. Confirm | Subscription active; Pro features unlocked; $29 charged | P0 |
| WAL-PS-003 | Upgrade from Starter to Pro | Logged in; Starter subscription active | 1. Navigate to subscription settings 2. Click “Upgrade to Pro” 3. Confirm | Subscription upgraded; Pro features unlocked; prorated charge | P0 |
| WAL-PS-004 | Cancel subscription | Logged in; active subscription | 1. Navigate to subscription settings 2. Click “Cancel” 3. Confirm | Subscription cancels at period end; access maintained until expiry | P0 |
| WAL-PS-005 | Subscription renewal | Active subscription approaching renewal | 1. Wait for renewal date | Subscription auto-renews; payment charged; no interruption | P1 |
| WAL-PS-006 | Subscription payment failure | Active subscription; card will decline | 1. Update to declining card 2. Wait for renewal | Renewal fails; user notified; grace period applied | P1 |
| WAL-PS-007 | View subscription status | Logged in; has subscription | 1. Navigate to subscription settings | Current plan, renewal date, and payment method shown | P1 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| WAL-T-001 | Send a tip to another user | Logged in; recipient has Stripe connected | 1. Navigate to user profile 2. Click “Tip” 3. Enter amount 4. Confirm | Tip sent; amount deducted; confirmation shown | P0 |
| WAL-T-002 | Receive a tip | Logged in; Stripe connected | 1. Another user sends a tip | Notification received; tip amount added to wallet | P0 |
| WAL-T-003 | Tip appears in transaction history | Tip sent or received | 1. Navigate to /wallet | Tip transaction visible in history with correct details | P1 |
| WAL-T-004 | Send tip with invalid amount | Logged in | 1. Click “Tip” 2. Enter $0 or negative amount 3. Submit | Validation error; tip not sent | P1 |
| WAL-T-005 | Tip to user without Stripe connected | Logged in; recipient has no Stripe | 1. Attempt to tip user | Error or prompt indicating recipient cannot receive tips | P1 |
| WAL-T-006 | Tip payment fails | Logged in; card declines | 1. Attempt to send tip with failing payment method | Error message; no tip sent; no deduction | P1 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| WAL-WD-001 | Request a withdrawal | Logged in; positive balance; Stripe connected | 1. Click “Withdraw” 2. Enter amount 3. Confirm | Withdrawal request submitted; status shown as pending | P0 |
| WAL-WD-002 | Withdrawal exceeding balance | Logged in; balance is $50 | 1. Request withdrawal of $100 | Error: insufficient balance | P0 |
| WAL-WD-003 | Withdrawal with no Stripe account | Logged in; no Stripe connected | 1. Attempt to withdraw | Prompt to connect Stripe before withdrawing | P0 |
| WAL-WD-004 | View withdrawal status | Logged in; withdrawal requested | 1. Navigate to /wallet | Withdrawal shows status (pending/processing/completed) | P1 |
| WAL-WD-005 | Withdrawal completed | Logged in; withdrawal was pending | 1. Check wallet after processing | Balance reduced by withdrawal amount; status updated to completed | P1 |
| WAL-WD-006 | Minimum withdrawal amount | Logged in; very small balance | 1. Attempt to withdraw below minimum threshold | Error: amount below minimum withdrawal | P2 |