Skip to main content

QC — Cashier Management

Test cases mapped to acceptance criteria in spec.

AC-01 Shop tạo Cashier

IDStepsExpected
QC-CA-01Shop tạo cashier với username, email, phoneCashier active, thuộc đúng shop
QC-CA-02Suspend cashier đang active shiftSessions revoked, shift → suspended
QC-CA-03Unsuspend cashierStatus active, có thể login lại

AC-02 Cashier login

IDStepsExpected
QC-AU-01Login bằng usernameToken + session
QC-AU-02Login bằng email/phoneToken + session
QC-AU-03Login trên device chưa approveDevice pending (shop approve)

AC-03 Scheduled shift

IDStepsExpected
QC-SH-01Shop tạo shift với cashier + device + timeStatus scheduled
QC-SH-02Tạo shift overlap cùng cashier409 SHIFT_OVERLAP
QC-SH-03Tạo shift overlap cùng device409 SHIFT_OVERLAP
QC-SH-04No-show sau graceStatus no_show, notify shop

AC-04 Start shift

IDStepsExpected
QC-ST-01Cashier start với opening denominationsStatus active, actualStartAt set
QC-ST-02Start trên device sai fingerprint403 DEVICE_MISMATCH
QC-ST-03Start khi đã có active shift khác409 SHIFT_ALREADY_ACTIVE

AC-05 Transactions

IDStepsExpected
QC-TX-01Deposit cashCredit cộng, cashDelta +, deviceId ghi
QC-TX-02Redeem dưới thresholdImmediate complete
QC-TX-03Redeem vượt thresholdpending_approval
QC-TX-04Shop approve redemptionCredit trừ, tx completed
QC-TX-05Tx khi shift auto_locked409 SHIFT_LOCKED

AC-06 Cash drop

IDStepsExpected
QC-CD-01Cashier tạo droppending_receiver_confirmation
QC-CD-02Shop confirm dropconfirmed, trừ expected closing

AC-07 Blind closing

IDStepsExpected
QC-CL-01Close không thấy expected trước submitAPI không leak expected
QC-CL-02Close balancedpending_reconciliation
QC-CL-03Close có discrepancypending_manager_review

AC-08 Reconciliation

IDStepsExpected
QC-RC-01Manager reconcile + finalizecompleted / completed_with_discrepancy
QC-RC-02Manager add adjustmentExpected recalculated

AC-09 Platform

IDStepsExpected
QC-PF-01Shop Portal add cash (CDN flow)200, credits moved; no cashier/shift ledger
QC-PF-02Cashier deposit cash (active shift)200, cashier_transactions + cashDelta recorded
QC-PF-03Auto-lock sau scheduled endauto_locked, notify

Ship gate checklist

  • All QC cases above pass manual or automated
  • No production path uses POST /cashier/shifts/open|close (410 deprecated)
  • Shop 10 screens + Cashier 7 screens reachable
  • Migration applied on target DB