Skip to main content

Task-kiosk-260 — Manual Test Cases

Feature version: V1.2.0
Reference doc: Task-kiosk-260 spec
Result notation: ✅ Pass | ❌ Fail | ⏭ Skip | 🐛 Fail + bug report


Changelog

DateVersionChangeAuthor
2026-06-20v1.0QC checklist ngắn (T-1 → T-6)
2026-06-20v1.1Mở rộng thành manual test cases đầy đủ cho QC
2026-06-20v1.2Sửa TC-001: shop/agent USD withdrawal là auto payout
2026-06-20v1.3Sửa điều hướng UI: bỏ “tab Activity”
2026-06-20v1.4Xóa TC Transaction Reversal / Refund payout-fail (không tái hiện được trên staging); đánh số lại

Mục tiêu kiểm thử

Xác nhận Admin Portal không còn dùng “Adjustment” làm nhãn chung, và phân biệt rõ các loại hiển thị có thể tái hiện trên staging:

Nghiệp vụUI label mong đợiManual QC
Admin trừ balance sửa saiBalance Correction — Debit✅ TC-001
Admin cộng balance sửa saiBalance Correction — Credit✅ TC-002
Đảo giao dịch đã postTransaction Reversal⏭ Không manual — xem §Out of scope
Trả tiền/credit cho userRefund⏭ Một phần — game wallet TC-003; payout-fail xem §Out of scope

Lưu ý: DB enum UsdWalletTransaction.type vẫn là adjustment / reversal — chỉ đổi presentation layer.


Out of scope — không manual test trên staging

Các scenario sau không tái hiện được trên môi trường QC hiện tại (shop/agent USD withdrawal luôn auto payout; không còn admin reject pending):

ScenarioLý do bỏ manual QCCoverage thay thế
Transaction Reversal (admin reject USD withdrawal)Không tạo withdrawal pending manual; reject bị chặn khi autoPayout: trueUnit test backend usdLedgerDisplayCategoryService; verify trên prod nếu có data cũ
Refund (portal payout fail → hoàn USD)Staging skip external payout → completed ngay; cần gateway fail thậtUnit test backend; prod monitoring

Điều kiện trước khi test

#Yêu cầuCách kiểm tra
P-1Backend dev (hoặc staging) đã deploy branch có K260API ledger row có displayCategory, displayLabel, audit, links
P-2Admin Portal + @kioskgaming/ui đã deploy (fix list table TYPE/amount)Row finance correction hiện Balance Correction — Debit, amount âm
P-3Tài khoản super_admin hoặc finance_adminFinance correction, refund game wallet
P-4Shop/agent có USD balance đủ testWallets → USD Wallets
P-5Ghi chú môi trườngURL, ngày, tester, build

Điều hướng Admin

USD ledger: Sidebar Wallets → USD WalletsOwner type + Owner → bảng USD wallet transactionsView mở modal detail.

Credit ledger: Wallets → Credit WalletsCredit transactions.

Kiểm tra nhanh API (tùy chọn)

DevTools → GET .../usd-wallets/.../ledger → row adjustmentdisplayLabel, displayCategory, audit.


TC-K260-001 — Balance Correction — Debit (finance correction) 🆕 NEW

Precondition: Super/finance admin; shop hoặc agent có USD balance ≥ số tiền correction.

#DescriptionStepsExpected ResultActual Result
1Mở modal correctionAccount management → shop/agent → Balance correction (debit)Modal có Balance Correction — Debit (không “Adjustment”)
2Submit correctionTicket ID, Reason, Amount nhỏ (vd. $1) → SubmitBalance giảm đúng
3Label trên ledgerUSD Wallets → cùng owner → row vừa tạoBalance Correction — Debit; amount -$… (đỏ)
4DetailView detail rowCorrection details: Ticket ID, Reason, Initiated By
5Không “Adjustment”List + detailKhông chuỗi user-facing Adjustment

TC-K260-002 — Balance Correction — Credit (shop CDN credit-adjust) 🆕 NEW

Precondition: Admin có quyền credit-adjust shop. USD wallet credit correction thuần out of scope V1.2.0.

#DescriptionStepsExpected ResultActual Result
1Credit-adjust creditShop → credit adjust credit (amount nhỏ) + reasonCredit wallet tăng
2Credit ledger labelCredit Wallets → shop → row adjustBalance correction / Balance Correction — Credit — không “Adjustment”
3Debit adjust (nếu có quyền)Credit adjust debitLabel debit rõ ràng

TC-K260-003 — Refund (admin refund game wallet) 🆕 NEW

Precondition: Game wallet có transaction refundable.

#DescriptionStepsExpected ResultActual Result
1Refund transactionGame Wallets → Refund failed tx + reasonThành công
2Table labelRow vừa refundRefund (không Reversal / Adjustment)
3FilterFilter direction/typeOption adjustment = Balance correction

TC-K260-004 — Legacy row / fallback 🆕 NEW

Precondition: Row adjustment cũ (metadata thưa) nếu có.

#DescriptionStepsExpected ResultActual Result
1Legacy adjustmentUSD Wallets → row adjustment cũKhông crash; fallback Credit/Debit theo delta — không “Adjustment”
2Reason trốngDetail không có reasonNo reason recorded.

TC-K260-005 — USD Wallet UI (list + detail) 🆕 NEW

Precondition: Đã chạy TC-001 (và TC-002 nếu có).

#DescriptionStepsExpected ResultActual Result
1List column TypeBảng USD wallet transactionsCột type = displayLabel
2Detail CorrectionView row TC-001Section Correction details
3Amount signRow debit correctionBalance before > after; amount hiển thị âm

TC-K260-006 — CSV export USD ledger 🆕 NEW

#DescriptionStepsExpected ResultActual Result
1ExportUSD WalletsExport CSV (period chứa TC-001)File OK
2Correction labelCSV row correctionBalance Correction — Debit khớp UI
3Raw typeCột raw type (nếu có)Vẫn adjustment

TC-K260-007 — Các màn Admin khác 🆕 NEW

#DescriptionStepsExpected ResultActual Result
1Player wallet txPlayers → transactionsFilter adjustmentBalance correction
2Agent CDN txAgents → wallet txadjustmentBalance correction
3Finance correction modalMở modal debitBalance Correction — Debit
4Game wallet filterGame wallet filteradjustment = Balance correction

TC-K260-008 — Regression & Acceptance Criteria 🆕 NEW

#DescriptionStepsExpected ResultActual Result
1AC-1 — Không “Adjustment”Quét USD/Credit/Game/Player wallet + exportKhông label Adjustment in-scope
2AC-2 — Credit vs DebitTC-001 vs TC-002Hai label khác nhau
3AC-5 — Reason + Initiated ByDetail correction (TC-001)Reason + Initiated By (hoặc empty state)
4Deposit / withdrawal unchangedRow deposit + withdrawalDeposit / Withdraw không đổi nhầm

TC-K260-009 — API filter & tương thích ngược 🆕 NEW

#DescriptionStepsExpected ResultActual Result
1Filter type=adjustmentFilter ledger adjustmentRows vẫn trả; displayLabel đổi
2Filter type=reversalFilter reversal (nếu có row)Filter OK; label từ API/fallback

Checklist ký duyệt QC

MụcPass?Ghi chú
TC-K260-001 Balance Correction — Debit
TC-K260-002 Balance Correction — Credit
TC-K260-003 Game wallet Refund
TC-K260-004 Legacy fallback
TC-K260-005 USD UI list + detail
TC-K260-006 CSV export
TC-K260-007 Other admin surfaces
TC-K260-008 Regression / AC
TC-K260-009 API filter
Out of scope: Transaction Reversal / payout Refund☐ N/AUnit test / prod only

Tester: _______________
Ngày: _______________
Môi trường: _______________
Kết luận: ☐ Pass release · ☐ Fail — bug list attached


Ghi chú khi báo bug

  1. Screenshot list + detail.
  2. Ledger row id / transactionId.
  3. JSON: type, displayCategory, displayLabel, audit.
  4. Steps từ bảng test case.