Files / tests /test_wallet.py
lea97338's picture
Upload 100 files (#1)
680fa2b
Raw
History Blame Contribute Delete
1.43 kB
import pytest
def test_wallet_ledger_audit(client):
# Register customer
client.post(
"/api/auth/signup",
json={
"name": "Audit Customer",
"phone": "9876543209",
"role": "customer",
"city": "Jaipur"
}
)
# Login customer
login_res = client.post(
"/api/auth/login",
json={
"phone": "9876543209",
"role": "customer",
"otp": "123456"
}
)
token = login_res.json()["access_token"]
# Retrieve initial transactions
res_initial = client.get(
"/api/wallet/transactions",
headers={"Authorization": f"Bearer {token}"}
)
assert res_initial.status_code == 200
assert len(res_initial.json()) == 0
# Execute a wallet topup
topup_res = client.post(
"/api/wallet/topup",
json={"amount": 1500},
headers={"Authorization": f"Bearer {token}"}
)
assert topup_res.status_code == 200
assert topup_res.json()["wallet_balance"] == 9700
# Verify transactions ledger log
res_after = client.get(
"/api/wallet/transactions",
headers={"Authorization": f"Bearer {token}"}
)
assert res_after.status_code == 200
txs = res_after.json()
assert len(txs) == 1
assert txs[0]["amount"] == 1500
assert txs[0]["type"] == "credit"
assert "top-up" in txs[0]["label"].lower()