Acceptance Criteria (AC)
Luồng ngoại lệ (Exception Flows) & Validations
- Nhập số lượng thủ công quá tồn kho:
- Validation: Người dùng chạm vào ô số lượng, mở bàn phím và gõ số lượng cực lớn (VD: 999).
- Error UI: Ngay khi mất focus (blur), ô số lượng tự động trả về bằng đúng số tồn kho tối đa. Toast message: “Sản phẩm chỉ còn [X] mặt hàng trong kho.”
- Sản phẩm bị khoá/xóa khi đang xem:
- Flow: User treo màn hình chi tiết. Trong lúc đó Merchant xoá/khoá sản phẩm. User bấm “Thêm vào giỏ”.
- Error UI: API trả về lỗi HTTP 400. Màn hình hiện Popup: “Sản phẩm này hiện đã ngừng kinh doanh.” Đi kèm nút quay lại trang chủ.
- Shop bị khoá tài khoản:
- Flow: Tương tự như trên, Merchant vi phạm chính sách và bị Admin vô hiệu hoá tài khoản.
- Error UI: Hệ thống ẩn nút Mua/Giỏ hàng, thay bằng dòng chữ “Shop đang tạm ngưng hoạt động”.
Quy tắc nghiệp vụ (Business Rules)
- Rule 1: Chặn tài khoản nội bộ: Pet Owner có thể nhấn xem chi tiết sản phẩm của bất kỳ ai, nhưng nếu đó chính là sản phẩm do tài khoản Merchant của họ đăng bán (Self-buy), hệ thống sẽ ẩn nút Thêm Giỏ hàng/Mua ngay để tránh việc tự cày lượt bán.