1Business context
MediKart is an online pharmacy. It must enforce prescription rules for Rx medicines, per-medicine quantity limits and delivery-fee thresholds, while promoting cheaper generic substitutes.
Search medicines by name or salt, see cheaper generic substitutes, respect per-item quantity limits, and get blocked at checkout until you upload a prescription (or book a consult) for Rx items.
2Users & roles
- 👤 Customer (mobile 9876543210, OTP 445566) — searches medicines, uploads prescriptions or books a consult, orders and reorders
3Modules & screens
| Screen | Route | What it does |
|---|---|---|
| Sign-in gate | /apps/pharmacy | Mobile 9876543210, then OTP 445566 (passwordless); any page opened while signed out shows the login and returns there afterwards |
| Shop | /apps/pharmacy | Autocomplete search (2+ chars), category and Rx/OTC filters |
| Medicine detail | /apps/pharmacy/m/[id] | Substitutes with savings, quantity limits |
| Cart | /apps/pharmacy/cart | Prescription upload or doctor consult, delivery slot, totals |
| Orders | /apps/pharmacy/orders | Past orders with reorder |
4Main end-to-end journey
Rx order with generic substitute
- Sign in with mobile 9876543210 and OTP 445566
- Search amox and open Mox 500
- Add the generic substitute
- Add an OTC medicine twice
- In cart place order and see the Rx error
- Upload prescription.pdf, choose a slot, phone and address
- Turn on refill reminder and place order
Expected: Saving ₹50 shown, total ₹178, order MK- placed with refill reminder on
5Business rules & validations
- Mobile + OTP loginBeginner
Passwordless sign-in: mk-login-id (mobile) → mk-login → mk-code (OTP) → mk-verify. A wrong OTP shows mk-code-error; an unknown mobile counts toward the 3-attempt lock.
- Min-length autocompleteBeginner
med-suggestions only appears after 2 characters; match by brand or salt.
- Substitutes & savingsIntermediate
On Mox 500, saving-m3g shows “Save ₹50 (42%)”; add-substitute-* adds the generic.
- Quantity limitsIntermediate
inc-<id> disables at the medicine's max (antibiotics: 2–3); add-med-* disables when maxed.
- Rx gateAdvanced
With an Rx item, placing the order shows error-rx until rx-upload + prescription-file or rx-consult.
- Upload validationIntermediate
A .txt or >5 MB file shows an error under prescription-file; valid files show prescription-file-name.
- TotalsIntermediate
med-delivery is ₹40 under ₹300 and FREE above; rx-consult adds ₹199 to med-total.
- FiltersBeginner
med-category-* chips and filter-all/otc/rx narrow the med-grid.
- ReorderBeginner
reorder-<id> on the orders page refills the cart with the same lines.
6Test data & credentials
- URL
- /apps/pharmacy
- Mobile
- 9876543210
- OTP
- 445566
- Rx upload
- PDF/JPG/PNG ≤ 5 MB
- Free delivery
- ₹300+
- Consult
- ₹199
7Glossary
- Rx
- Prescription-only medicine — needs an upload or a doctor consult
- OTC
- Over-the-counter — no prescription needed
- Generic substitute
- Same salt at a lower price
8Watch-outs for automation
- ⚠️Sign in first (or reuse a saved session) — every page is behind the login
- ⚠️Prescription files: PDF/JPG/PNG up to 5 MB
- ⚠️Delivery is ₹40 under ₹300 and free above
- ⚠️Doctor consult adds ₹199
9Suggested test strategy
1 · Smoke
4
P1 positive and end-to-end cases — run on every build.
2 · Regression
17
All cases, incl. 4 negative and 3 edge — run before release.
3 · End-to-end
3
Full user journeys — run nightly.
Start with these smoke cases
- MEDIKART-01 — Mobile + OTP sign-in
- MEDIKART-03 — Order OTC medicines
- MEDIKART-04 — Order with prescription
- MEDIKART-E2E-01 — Rx order with generic substitute