🏦 Bank App
Financial transaction system for testing account management, money transfers, and balance calculations
Overview
The Bank App simulates a banking backend with accounts, transactions, and balance tracking. Perfect for testing financial workflows and data integrity.
What You Can Test
- Accounts: Create and manage bank accounts
- Transactions: Transfers, deposits, withdrawals
- Balance Tracking: Real-time balance updates
- Transaction History: View all account activities
- Validation: Insufficient funds, negative amounts
Requirements & Fields
Account Fields
name- string, required, account holder nametype- string (checking, savings, business)currency- string (USD, EUR, GBP)balance- decimal, default 0.00is_active- boolean, default true
Transaction Fields
from_account_id- UUID, required for transfersto_account_id- UUID, required for transfersamount- decimal, required, min 0.01type- string (transfer, deposit, withdrawal)description- string, optionalstatus- string (pending, completed, failed)
Test Case Examples
TC-001: Create Account with Initial Balance
Objective: Verify account can be created with starting balance
Steps:
- Send POST request to
/api/bank/accounts - Include balance = 1000.00
- Verify response status 201
- Verify account created with balance = 1000.00
Expected: Account created with correct initial balance
TC-002: Transfer Between Accounts
Objective: Verify money can be transferred between accounts
Steps:
- Create Account A with balance = 500
- Create Account B with balance = 200
- Transfer 100 from Account A to Account B
- Verify Account A balance = 400
- Verify Account B balance = 300
Expected: Balances updated correctly after transfer
TC-003: Insufficient Funds Scenario
Objective: Verify transfer fails when insufficient funds
Steps:
- Create account with balance = 50
- Attempt to transfer 100
- Verify response status 400
- Verify error message indicates insufficient funds
- Verify balance unchanged
Expected: Transfer rejected, balance unchanged
TC-004: Balance Calculation Accuracy
Objective: Verify balance calculations are precise
Steps:
- Create account with balance = 1000.00
- Withdraw 250.50
- Deposit 100.75
- Withdraw 50.25
- Verify final balance = 1000 - 250.50 + 100.75 - 50.25 = 800.00
Expected: Balance calculated accurately with decimals
TC-005: Transaction History
Objective: Verify transaction history is tracked
Steps:
- Create account
- Perform 5 different transactions
- Get transaction history
- Verify all 5 transactions appear
- Verify transactions ordered by date (newest first)
Expected: Complete transaction history available
TC-006: Negative Amount Validation
Objective: Verify negative amounts are rejected
Steps:
- Attempt to create transaction with amount = -50
- Verify response status 400
- Verify error message indicates invalid amount
Expected: Negative amounts rejected
TC-007: Currency Consistency
Objective: Verify transfers only between same currency
Steps:
- Create Account A with currency = USD
- Create Account B with currency = EUR
- Attempt transfer from A to B
- Verify response status 400
- Verify error indicates currency mismatch
Expected: Cross-currency transfers rejected