# Step 9 test checklist (run on staging only)
- [ ] Migration 003 imports successfully after migrations 001 and 002.
- [ ] Active product + default active variant + MAIN inventory can be added to cart.
- [ ] CSRF-less add/update/remove/checkout POST is rejected.
- [ ] Quantity below 1 or above 99 is rejected/removed safely.
- [ ] Cart rejects quantity beyond available stock.
- [ ] Checkout server-recalculates price from current database values, not submitted totals.
- [ ] COD order stores price snapshots, delivery fee, address and note.
- [ ] Reposting the same idempotency key does not create a second order.
- [ ] Two simultaneous checkouts for the last unit: only one reservation succeeds.
- [ ] Failed reservation rolls back order, items and cart deletion.
- [ ] Guest checkout toggle and delivery fee settings work as expected.
- [ ] Test on mobile and desktop; verify database backups before launch.
