Acceptance Criteria (AC)
Luồng ngoại lệ (Exception Flows) & Validations
- Vượt quá định mức tồn kho:
- Validation: Nếu người dùng gõ số “10” vào ô số lượng, nhưng tồn kho chỉ có 5.
- Error UI: Hệ thống tự động đẩy số lượng về 5 và hiển thị Toast: “Shop chỉ còn 5 sản phẩm. Chúng tôi đã điều chỉnh số lượng giúp bạn.”
- Sản phẩm bị xoá đột ngột (Race condition):
- Flow: Người dùng tick chọn sản phẩm đang còn hàng, nhưng vừa lúc đó Merchant xóa sản phẩm. Người dùng nhấn “Mua hàng”.
- Error UI: Hệ thống chặn chuyển trang, load lại giỏ hàng, làm mờ sản phẩm đó và báo: “Sản phẩm [Tên SP] đã ngừng kinh doanh. Vui lòng bỏ chọn để tiếp tục.”
Quy tắc nghiệp vụ (Business Rules)
- Rule 1: Giới hạn lưu trữ Giỏ hàng: Để đảm bảo hiệu năng và UI gọn gàng, giỏ hàng của một user chỉ chứa tối đa 50 mặt hàng khác nhau. Nếu thêm món thứ 51, hiển thị cảnh báo: “Giỏ hàng đã đầy (Tối đa 50 sản phẩm). Vui lòng thanh toán hoặc xoá bớt trước khi thêm mới.”
- Rule 2: Final Stock Check: Nút “Mua hàng” là Trigger Point. Ngay khi bấm, hệ thống gọi API check tồn kho real-time lần cuối. Nếu pass, chuyển sang trang Thanh toán (US-OWN-16).