Staging Test: Wallet Management
Test Area: Wallet ManagementEstimated Time: 15-20 minutes
Difficulty: Easy
Prerequisites: Complete 01-authentication first
Overview
This guide tests the wallet address management system. Investors add crypto wallet addresses where they’ll receive withdrawals. New wallets require admin approval before they can be used.Wallet Lifecycle
Supported Networks
| Network | Description |
|---|---|
| TRC20 | Tron network (USDT-TRC20) |
| ERC20 | Ethereum network |
| BEP20 | Binance Smart Chain |
Before You Start
URLs
| Page | URL |
|---|---|
| Login | https://zestamc.savibm.com/login |
| Investor Wallets | https://zestamc.savibm.com/investor/wallets |
| Admin Wallet Approvals | https://zestamc.savibm.com/admin/wallet-approvals |
Test Accounts
| Role | OTP | |
|---|---|---|
| Investor | testinvestor@zestamc.com | Check email |
| Admin | admin@zestamc.com | Check email |
Test Cases
Test 1: View Existing Wallets
Goal: Verify investor can see their wallet addresses Steps:- Log in as
testinvestor@zestamc.com - Click “Wallets” in the left sidebar
- View the wallets page
| Element | What You Should See |
|---|---|
| Page title | ”Wallets” or “Wallet Addresses” |
| Wallet cards | At least 1 existing wallet displayed |
| Wallet info | Network type, address, label, status badge |
| Status badge | Green for ACTIVE, Gray for CLOSED, Orange for PENDING_APPROVAL |
Test 2: Add New Wallet Address
Goal: Verify investor can add a new wallet address Steps:- Log in as
testinvestor@zestamc.com - Go to the Wallets page
- Click “Add Wallet” button
- Fill in the form:
- Network: Select “ERC20”
- Address: Enter
0xABCDEF1234567890ABCDEF1234567890ABCDEF12 - Label: Enter “Test ETH Wallet”
- Make Primary: Leave unchecked
- Click “Add” or “Submit”
- When OTP prompt appears, enter OTP from email
- Confirm
| Step | What You Should See |
|---|---|
| After clicking Add | OTP verification dialog appears |
| After entering OTP | Success message (“Wallet added” or similar) |
| In wallet list | New wallet appears with “Pending Approval” status |
| Status badge | Orange/yellow badge showing “PENDING_APPROVAL” |
Test 3: Edit Wallet Label
Goal: Verify investor can edit wallet label Steps:- Log in as
testinvestor@zestamc.com - Go to the Wallets page
- Find an existing wallet (preferably an ACTIVE one)
- Click the edit icon (pencil) or “Edit” button
- Change the label to “Updated Label”
- Click “Save” or “Update”
| Result | What You Should See |
|---|---|
| Edit dialog | Form with current label pre-filled |
| After save | Success message |
| In wallet list | Label updated to new value |
Test 4: Copy Wallet Address
Goal: Verify the copy address feature works Steps:- Go to the Wallets page
- Find any wallet
- Click the copy icon next to the wallet address
| Result | What You Should See |
|---|---|
| After clicking copy | Toast message “Address copied” or similar |
| Clipboard | Address is copied (paste somewhere to verify) |
Test 5: Admin Approves Wallet
Goal: Verify admin can approve a pending wallet Preparation: Complete Test 2 first (add a wallet that’s pending approval) Steps:- Log out and log in as
admin@zestamc.com - Go to Admin → “Wallet Approvals” page
- Find the pending wallet from Test 2 (look for “ERC20” wallet)
- Click “View” or “Review”
- Review the wallet details
- Click “Approve”
- Confirm the approval
| Step | What You Should See |
|---|---|
| Approval list | Pending wallets displayed |
| Wallet details | Network, address, user email visible |
| After approve | Success message |
| Status change | Wallet status changes to ACTIVE |
| Other wallets | If user had another ACTIVE wallet on same network, it’s now CLOSED |
Test 6: Verify Approved Wallet (Investor View)
Goal: Verify investor sees their wallet is now active Preparation: Complete Test 5 first Steps:- Log out and log in as
testinvestor@zestamc.com - Go to the Wallets page
- Find the wallet that was just approved
| Result | What You Should See |
|---|---|
| Wallet status | Green badge showing “ACTIVE” |
| No longer pending | Not in pending state |
Test 7: Admin Rejects Wallet
Goal: Verify admin can reject a pending wallet Preparation: Add another test wallet using Test 2 steps Steps:- Add a new wallet as investor (use address
0x1111222233334444555566667777888899990000) - Log in as
admin@zestamc.com - Go to Admin → “Wallet Approvals”
- Find the new pending wallet
- Click “Reject”
- Enter rejection reason: “Test rejection - invalid address format”
- Confirm rejection
| Step | What You Should See |
|---|---|
| Reject button | Prompts for rejection reason |
| After reject | Success message |
| Wallet | Removed from pending list or shows rejected status |
Test 8: Duplicate Address Prevention
Goal: Verify system prevents adding the same wallet address twice on the same network Steps:- Log in as
testinvestor@zestamc.com - Go to the Wallets page
- Note an existing wallet address and network (e.g., TRC20 address)
- Try to add a wallet with the exact same address on the same network:
- Use the same address as an existing wallet
- Select the same network (e.g., if existing is TRC20, select TRC20)
- Submit the form with OTP from email
| Result | What You Should See |
|---|---|
| Error message | ”Wallet address already exists on this network” or similar |
| Wallet not added | Form stays open or shows error |
Test 9: One Active Wallet Per Network Constraint
Goal: Verify only one wallet can be ACTIVE per network at a time Preparation: Ensure you have at least 2 APPROVED wallets on the same network (TRC20). If not:- Add a second TRC20 wallet using Test 2 steps (use different address:
TTest2222222222222222222222222222) - Have admin approve it using Test 5 steps
- Log in as
testinvestor@zestamc.com - Go to the Wallets page
- Verify you have 2 TRC20 wallets:
- One should be ACTIVE
- One should be CLOSED (or just approved)
- Find the CLOSED TRC20 wallet
- Click “Activate” or “Set as Active”
- Enter OTP from email when prompted
- Confirm activation
| Result | What You Should See |
|---|---|
| After activation | Success message |
| New active wallet | This wallet now shows green “ACTIVE” badge |
| Old active wallet | Previous ACTIVE TRC20 wallet now shows gray “CLOSED” badge |
| Other network wallets | Wallets on different networks (ERC20, BEP20) unaffected |
Test 10: Close Active Wallet
Goal: Verify investor can close an active wallet Steps:- Log in as
testinvestor@zestamc.com - Go to the Wallets page
- Find an ACTIVE wallet
- Click “Close” or “Deactivate”
- Enter OTP from email when prompted
- Confirm
| Result | What You Should See |
|---|---|
| After close | Success message |
| Wallet | Status changes from ACTIVE to CLOSED |
Test 11: Cannot Close Last Active Wallet
Goal: Verify system prevents closing the last active wallet Preparation: Make sure you have only ONE ACTIVE wallet across all networks Steps:- Log in as
testinvestor@zestamc.com - Go to the Wallets page
- If you have multiple ACTIVE wallets, close them until only 1 remains
- Try to close the last ACTIVE wallet
- Enter OTP from email when prompted
| Result | What You Should See |
|---|---|
| Error message | ”Cannot close last active wallet” or similar error |
| Wallet status | Wallet remains ACTIVE |
Test Results Summary
| Test | Status | Notes |
|---|---|---|
| Test 1: View Wallets | ⬜ Pass / ⬜ Fail | |
| Test 2: Add Wallet | ⬜ Pass / ⬜ Fail | |
| Test 3: Edit Label | ⬜ Pass / ⬜ Fail | |
| Test 4: Copy Address | ⬜ Pass / ⬜ Fail | |
| Test 5: Admin Approve | ⬜ Pass / ⬜ Fail | |
| Test 6: Verify Approved | ⬜ Pass / ⬜ Fail | |
| Test 7: Admin Reject | ⬜ Pass / ⬜ Fail | |
| Test 8: Duplicate Check | ⬜ Pass / ⬜ Fail | |
| Test 9: One Active Per Network | ⬜ Pass / ⬜ Fail | |
| Test 10: Close Wallet | ⬜ Pass / ⬜ Fail | |
| Test 11: Cannot Close Last | ⬜ Pass / ⬜ Fail |
Sample Wallet Addresses for Testing
Use these fake addresses when adding test wallets:| Network | Sample Address |
|---|---|
| TRC20 | TXYZtest123456789abcdef123456789abcd |
| ERC20 | 0xABCDEF1234567890ABCDEF1234567890ABCDEF12 |
| BEP20 | 0x9876543210FEDCBA9876543210FEDCBA98765432 |
Note: These are fake addresses for testing purposes only. Never use real wallet addresses during testing.
Troubleshooting
”Address already registered” or “Wallet address already exists” error
This exact address already exists for your account on this network. Either:- Use a different address, OR
- If you want to use this address, activate the existing wallet instead of adding a new one
Wallet not appearing after adding
- Refresh the page
- Check that the add operation showed a success message
- The wallet may be in “Pending Approval” status
Cannot find wallet in admin approvals
- Make sure the wallet status is “PENDING_APPROVAL”
- Try the “All Statuses” filter
- Check if it was already approved or rejected
OTP verification failing
- Make sure you’re entering the OTP from your email
- Wait for the OTP dialog to appear completely
- Try closing and re-opening the add wallet dialog
Next Steps
After completing wallet management testing, proceed to:- 03-deposit-flow.md - Test deposit requests