Staging Test: Wallet Management

Test Area: Wallet Management
Estimated 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

Add Wallet → PENDING_APPROVAL → Admin Approves → ACTIVE (only 1 per network)
                                Admin Rejects → REJECTED

ACTIVE → User Closes → CLOSED → User Reactivates → ACTIVE (closes other ACTIVE on same network)
Important Constraint: Users can have multiple wallet addresses per network, but only ONE can be ACTIVE at a time. When activating a wallet (or when admin approves a new one), any other ACTIVE wallet on the same network is automatically CLOSED.

Supported Networks

NetworkDescription
TRC20Tron network (USDT-TRC20)
ERC20Ethereum network
BEP20Binance Smart Chain

Before You Start

URLs

PageURL
Loginhttps://zestamc.savibm.com/login
Investor Walletshttps://zestamc.savibm.com/investor/wallets
Admin Wallet Approvalshttps://zestamc.savibm.com/admin/wallet-approvals

Test Accounts

RoleEmailOTP
Investortestinvestor@zestamc.comCheck email
Adminadmin@zestamc.comCheck email

Test Cases

Test 1: View Existing Wallets

Goal: Verify investor can see their wallet addresses Steps:
  1. Log in as testinvestor@zestamc.com
  2. Click “Wallets” in the left sidebar
  3. View the wallets page
Expected Results:
ElementWhat You Should See
Page title”Wallets” or “Wallet Addresses”
Wallet cardsAt least 1 existing wallet displayed
Wallet infoNetwork type, address, label, status badge
Status badgeGreen for ACTIVE, Gray for CLOSED, Orange for PENDING_APPROVAL
Pass Criteria: ✅ Can view wallet list with all details visible

Test 2: Add New Wallet Address

Goal: Verify investor can add a new wallet address Steps:
  1. Log in as testinvestor@zestamc.com
  2. Go to the Wallets page
  3. Click “Add Wallet” button
  4. Fill in the form:
    • Network: Select “ERC20”
    • Address: Enter 0xABCDEF1234567890ABCDEF1234567890ABCDEF12
    • Label: Enter “Test ETH Wallet”
    • Make Primary: Leave unchecked
  5. Click “Add” or “Submit”
  6. When OTP prompt appears, enter OTP from email
  7. Confirm
Expected Results:
StepWhat You Should See
After clicking AddOTP verification dialog appears
After entering OTPSuccess message (“Wallet added” or similar)
In wallet listNew wallet appears with “Pending Approval” status
Status badgeOrange/yellow badge showing “PENDING_APPROVAL”
Pass Criteria: ✅ New wallet added and shows “Pending Approval” status

Test 3: Edit Wallet Label

Goal: Verify investor can edit wallet label Steps:
  1. Log in as testinvestor@zestamc.com
  2. Go to the Wallets page
  3. Find an existing wallet (preferably an ACTIVE one)
  4. Click the edit icon (pencil) or “Edit” button
  5. Change the label to “Updated Label”
  6. Click “Save” or “Update”
Expected Results:
ResultWhat You Should See
Edit dialogForm with current label pre-filled
After saveSuccess message
In wallet listLabel updated to new value
Pass Criteria: ✅ Wallet label updated successfully

Test 4: Copy Wallet Address

Goal: Verify the copy address feature works Steps:
  1. Go to the Wallets page
  2. Find any wallet
  3. Click the copy icon next to the wallet address
Expected Results:
ResultWhat You Should See
After clicking copyToast message “Address copied” or similar
ClipboardAddress is copied (paste somewhere to verify)
Pass Criteria: ✅ Address copied to clipboard with confirmation

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:
  1. Log out and log in as admin@zestamc.com
  2. Go to Admin → “Wallet Approvals” page
  3. Find the pending wallet from Test 2 (look for “ERC20” wallet)
  4. Click “View” or “Review”
  5. Review the wallet details
  6. Click “Approve”
  7. Confirm the approval
Expected Results:
StepWhat You Should See
Approval listPending wallets displayed
Wallet detailsNetwork, address, user email visible
After approveSuccess message
Status changeWallet status changes to ACTIVE
Other walletsIf user had another ACTIVE wallet on same network, it’s now CLOSED
Pass Criteria: ✅ Admin can approve wallet successfully

Test 6: Verify Approved Wallet (Investor View)

Goal: Verify investor sees their wallet is now active Preparation: Complete Test 5 first Steps:
  1. Log out and log in as testinvestor@zestamc.com
  2. Go to the Wallets page
  3. Find the wallet that was just approved
Expected Results:
ResultWhat You Should See
Wallet statusGreen badge showing “ACTIVE”
No longer pendingNot in pending state
Pass Criteria: ✅ Investor sees wallet is now active

Test 7: Admin Rejects Wallet

Goal: Verify admin can reject a pending wallet Preparation: Add another test wallet using Test 2 steps Steps:
  1. Add a new wallet as investor (use address 0x1111222233334444555566667777888899990000)
  2. Log in as admin@zestamc.com
  3. Go to Admin → “Wallet Approvals”
  4. Find the new pending wallet
  5. Click “Reject”
  6. Enter rejection reason: “Test rejection - invalid address format”
  7. Confirm rejection
Expected Results:
StepWhat You Should See
Reject buttonPrompts for rejection reason
After rejectSuccess message
WalletRemoved from pending list or shows rejected status
Pass Criteria: ✅ Admin can reject wallet with reason

Test 8: Duplicate Address Prevention

Goal: Verify system prevents adding the same wallet address twice on the same network Steps:
  1. Log in as testinvestor@zestamc.com
  2. Go to the Wallets page
  3. Note an existing wallet address and network (e.g., TRC20 address)
  4. 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)
  5. Submit the form with OTP from email
Expected Results:
ResultWhat You Should See
Error message”Wallet address already exists on this network” or similar
Wallet not addedForm stays open or shows error
Note: The same address CAN be added on a different network (e.g., same address on ERC20 and BEP20 is allowed since they’re EVM-compatible chains). Also, you CAN add multiple different addresses on the same network, but only one can be ACTIVE at a time. Pass Criteria: ✅ System prevents duplicate wallet addresses on the same network

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:
  1. Add a second TRC20 wallet using Test 2 steps (use different address: TTest2222222222222222222222222222)
  2. Have admin approve it using Test 5 steps
Steps:
  1. Log in as testinvestor@zestamc.com
  2. Go to the Wallets page
  3. Verify you have 2 TRC20 wallets:
    • One should be ACTIVE
    • One should be CLOSED (or just approved)
  4. Find the CLOSED TRC20 wallet
  5. Click “Activate” or “Set as Active”
  6. Enter OTP from email when prompted
  7. Confirm activation
Expected Results:
ResultWhat You Should See
After activationSuccess message
New active walletThis wallet now shows green “ACTIVE” badge
Old active walletPrevious ACTIVE TRC20 wallet now shows gray “CLOSED” badge
Other network walletsWallets on different networks (ERC20, BEP20) unaffected
Pass Criteria: ✅ Only one wallet is ACTIVE per network; activating one automatically closes the other

Test 10: Close Active Wallet

Goal: Verify investor can close an active wallet Steps:
  1. Log in as testinvestor@zestamc.com
  2. Go to the Wallets page
  3. Find an ACTIVE wallet
  4. Click “Close” or “Deactivate”
  5. Enter OTP from email when prompted
  6. Confirm
Expected Results:
ResultWhat You Should See
After closeSuccess message
WalletStatus changes from ACTIVE to CLOSED
Note: You cannot close your last ACTIVE wallet. The system will show an error if you try. Pass Criteria: ✅ Wallet closed successfully

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:
  1. Log in as testinvestor@zestamc.com
  2. Go to the Wallets page
  3. If you have multiple ACTIVE wallets, close them until only 1 remains
  4. Try to close the last ACTIVE wallet
  5. Enter OTP from email when prompted
Expected Results:
ResultWhat You Should See
Error message”Cannot close last active wallet” or similar error
Wallet statusWallet remains ACTIVE
Pass Criteria: ✅ System prevents closing the last active wallet

Test Results Summary

TestStatusNotes
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:
NetworkSample Address
TRC20TXYZtest123456789abcdef123456789abcd
ERC200xABCDEF1234567890ABCDEF1234567890ABCDEF12
BEP200x9876543210FEDCBA9876543210FEDCBA98765432
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:
  1. Use a different address, OR
  2. If you want to use this address, activate the existing wallet instead of adding a new one
Note: If another user has this address, you’ll get a different error (“Address in use by another user”).

Wallet not appearing after adding

  1. Refresh the page
  2. Check that the add operation showed a success message
  3. The wallet may be in “Pending Approval” status

Cannot find wallet in admin approvals

  1. Make sure the wallet status is “PENDING_APPROVAL”
  2. Try the “All Statuses” filter
  3. Check if it was already approved or rejected

OTP verification failing

  1. Make sure you’re entering the OTP from your email
  2. Wait for the OTP dialog to appear completely
  3. Try closing and re-opening the add wallet dialog

Next Steps

After completing wallet management testing, proceed to: