drtydrtydrtygfhfghgfhfghfghfghtydrtydrtydrtydrtydrtydfhfghfhrtydrtydrt
MMCT TEAM
Server IP : 162.241.148.128  /  Your IP : 216.73.216.231
Web Server : Apache
System : Linux md-ht-9.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : caribhll ( 2226)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0750) :  /home3/caribhll/chopdo.com/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home3/caribhll/chopdo.com/qa-pos-cashier-handoff.txt
POS Cashier QA Handoff
Project: chopdo
Date: 2026-05-05

Build / Version Information
- Branch: develop
- Commit: ee658d3
- Laravel: 12.32.5
- PHP: 8.2.27
- Frontend build stack: Vite 7, Tailwind 4

POS Cashier Scope (What QA Should Test)
1) POS Access and Permissions
- Open POS from /frontend/pos
- Confirm module permission gate works (pos,read)

2) Product and Category Flow
- Load categories (including nested descendants)
- Load items by category
- Search items by Name and SKU
- Only active items should be visible/selectable

3) Cart, Price, Discount, Tax
- Base/Card price behavior in cart
- Item-level tax calculation
- Discount behavior including do_not_apply_manual_discount item flag
- Line total and grand total calculations

4) Customer Operations from POS
- Select existing customer
- Create new customer from POS
- Verify duplicate prevention:
  - Same email should block duplicate
  - Same phone (normalized digits) should block duplicate
- Update customer note
- Update customer percent discount
- Update per-item customer discount

5) Loyalty Points
- Redeem points with customer selected
- Validation checks:
  - customer required for redeem
  - redeemed points must be > 0
  - cannot exceed customer point balance
  - redeemed amount must match 1 point = 0.05
- After checkout:
  - redeemed points deducted
  - new points awarded based on total amount

6) Payments
- Test payment methods:
  - cash
  - card
  - mixed
  - ebt
  - other
- Mixed payment test with multiple payment rows and amount split
- Verify tender and change behavior

7) Receipt Save and Data Integrity
- Complete sale should save:
  - receipt header
  - receipt items
  - receipt payment rows
- Receipt number format: REC-YYYYMMDD-XXXX
- Transaction is atomic (all-or-nothing behavior)

8) Inventory Update on Checkout
- Item stock decreases after successful sale
- Negative stock is currently allowed by design

9) Receipts (Cashier-Scoped)
- Get last receipt
- Get all receipts with date filters:
  - today
  - yesterday
  - this_week
  - this_month
  - manual date_from/date_to
- Get receipt by ID
- Verify cashier sees only their own receipts

10) Hold Orders
- Save hold order
- List hold orders
- Update hold order reference
- Delete hold order
- Verify user isolation (cannot edit/delete other cashier hold orders)

11) POS Message and Notifications
- Top POS message should show active admin POS message
- Bell dropdown should show:
  - user-specific task notifications
  - active POS message
- Task-type notifications should not appear as top center POS message

High-Priority QA Scenarios
A) Walk-in quick checkout
- No customer, 1 item, cash payment
- Validate receipt, totals, stock update

B) Customer checkout with loyalty redeem
- Redeem valid points
- Validate point deduction + earned points after sale

C) Mixed payment checkout
- Split payment (example: cash + card)
- Validate stored payments and total consistency

D) Validation failures
- Redeem without selecting customer
- Redeem amount mismatch vs points
- Add duplicate customer email/phone
- Invalid checkout payload values

E) Receipt history checks
- Verify latest receipt appears immediately
- Verify date filter behavior
- Verify cashier-based data isolation

Important Notes
- EBT is accepted as POS payment method in checkout flow.
- In single-payment storage flow, EBT may be stored as card in receipt_payments.
- Confirm expected display/report behavior with this mapping.

Handoff Completed.

MMCT - 2023