Test plansPatient app
Test Plan: Patient App - Booking Flow
Module: Patient App - Booking Flow URL: https://patient-stg.kulcare.com/search Status: 🔄 Pending (Blocked by Bug #30)
⚠️ Testing Blocked
Bug #30: Newly created doctors/hospitals not appearing in search.
Testing can begin once Bug #30 is fixed.
Test Data Requirements
| Type | Data | Purpose |
|---|---|---|
| Doctor A | Active, with availability | Test booking |
| Doctor B | No availability | Test "No slots" scenario |
| Patient A | Existing patient account | Test authenticated booking |
| Patient B | New (via OTP) | Test unauthenticated booking |
| Test Phone | Valid, can receive OTP | OTP testing |
Test Cases
Section 1: Search & Discovery
| # | Test Case | Priority | Status |
|---|---|---|---|
| 1 | Search doctors by name | P0 | Blocked |
| 2 | Search doctors by specialty | P0 | Blocked |
| 3 | Search doctors by city | P1 | Blocked |
| 4 | Search with combined filters | P1 | Blocked |
| 5 | Search with no results | P1 | ✅ UI Works |
| 6 | Search hospitals | P1 | ✅ UI Works |
| 7 | Pagination - Next page | P2 | ✅ UI Works |
| 8 | Pagination - Previous page | P2 | ✅ UI Works |
| 9 | Filter by consultation type | P1 | ✅ UI Works |
| 10 | View doctor details | P0 | Blocked |
Section 2: Doctor Profile & Facilities
| # | Test Case | Priority | Status |
|---|---|---|---|
| 11 | View doctor profile | P0 | Pending |
| 12 | View facilities list | P0 | Pending |
| 13 | View consultation fees | P0 | Pending |
| 14 | View telemedicine fees | P1 | Pending |
| 15 | No facilities available | P1 | Pending |
| 16 | Select clinic location | P0 | Pending |
| 17 | Only one facility | P1 | Pending |
| 18 | View specializations | P1 | Pending |
| 19 | View languages | P2 | Pending |
| 20 | View experience years | P2 | Pending |
Section 3: Time Slots
| # | Test Case | Priority | Status |
|---|---|---|---|
| 21 | Get available time slots | P0 | Pending |
| 22 | Slots for today | P0 | Pending |
| 23 | Slots for future date | P0 | Pending |
| 24 | No slots available | P1 | Pending |
| 25 | Slots across days | P1 | Pending |
| 26 | View slot time in timezone | P1 | Pending |
| 27 | Slot already booked | P1 | Pending |
| 28 | In-person slots | P0 | Pending |
| 29 | Telemedicine slots | P0 | Pending |
| 30 | Minimum date validation | P1 | Pending |
Section 4: OTP & Verification
| # | Test Case | Priority | Status |
|---|---|---|---|
| 31 | Send OTP - Valid phone | P0 | Pending |
| 32 | Send OTP - Invalid phone | P0 | Pending |
| 33 | Send OTP - Empty phone | P0 | Pending |
| 34 | Verify OTP - Correct | P0 | Pending |
| 35 | Verify OTP - Wrong | P0 | Pending |
| 36 | Verify OTP - Expired | P1 | Pending |
| 37 | Resend OTP | P1 | Pending |
| 38 | Max OTP attempts | P2 | Pending |
| 39 | Existing user detection | P1 | Pending |
| 40 | New user flow | P1 | Pending |
Section 5: Booking (Unauthenticated)
| # | Test Case | Priority | Status |
|---|---|---|---|
| 41 | Complete booking - In-person | P0 | Pending |
| 42 | Complete booking - Telemedicine | P0 | Pending |
| 43 | Enter patient details | P0 | Pending |
| 44 | Enter reason for visit | P1 | Pending |
| 45 | Booking confirmation | P0 | Pending |
| 46 | Duplicate booking prevention | P1 | Pending |
| 47 | Missing required fields | P0 | Pending |
| 48 | Invalid email format | P0 | Pending |
| 49 | Future date booking | P1 | Pending |
| 50 | Same doctor, different facility | P1 | Pending |
Section 6: Booking (Authenticated)
| # | Test Case | Priority | Status |
|---|---|---|---|
| 51 | Book as logged-in user | P0 | Pending |
| 52 | First-time at facility consent | P0 | Pending |
| 53 | Acknowledge consent | P0 | Pending |
| 54 | Skip consent | P0 | Pending |
| 55 | Auto-provision patient | P1 | Pending |
| 56 | Return user at facility | P1 | Pending |
Section 7: Post-Booking Actions
| # | Test Case | Priority | Status |
|---|---|---|---|
| 57 | View appointments list | P0 | Pending |
| 58 | View appointment details | P0 | Pending |
| 59 | Cancel appointment | P0 | Pending |
| 60 | Cancel confirmation | P1 | Pending |
| 61 | Cancel - Past appointment | P1 | Pending |
| 62 | Reschedule appointment | P1 | Pending |
| 63 | View appointment status | P1 | Pending |
| 64 | Appointment reminder | P2 | Pending |
Section 8: Error Handling
| # | Test Case | Priority | Status |
|---|---|---|---|
| 65 | Network error - Search | P1 | Pending |
| 66 | Network error - Time slots | P1 | Pending |
| 67 | Network error - Booking | P1 | Pending |
| 68 | Session timeout during booking | P1 | Pending |
| 69 | Slot no longer available | P1 | Pending |
| 70 | Facility unavailable | P1 | Pending |
| 71 | Doctor unavailable | P1 | Pending |
Section 9: Edge Cases
| # | Test Case | Priority | Status |
|---|---|---|---|
| 72 | Double-click prevention | P1 | Pending |
| 73 | Back navigation during booking | P2 | Pending |
| 74 | Close modal during booking | P2 | Pending |
| 75 | Browser refresh during booking | P2 | Pending |
| 76 | Concurrent booking same slot | P1 | Pending |
| 77 | Long idle time | P2 | Pending |
API Reference
| Endpoint | Method | Purpose |
|---|---|---|
/identity/practitioners/search | GET | Search doctors |
/identity/practitioners/{id}/public_profile | GET | Get doctor profile |
/patient/public_appointments/time_slots | GET | Get time slots |
/patient/public_appointments/send_code | POST | Send OTP |
/patient/public_appointments/{id}/verify | POST | Verify OTP |
/patient/public_appointments/{id} | PUT | Create appointment |
/patient/appointment_orders | POST | Create (authenticated) |
/patient/appointments | GET | List appointments |
/patient/appointments/{id}/cancel | POST | Cancel appointment |
Test Execution Checklist
Pre-Flight
- Bug #30 fixed
- Test accounts ready
- Test data: doctors with availability
Section 1: Search & Discovery
- TC-1 to TC-10
Section 2: Doctor Profile
- TC-11 to TC-20
Section 3: Time Slots
- TC-21 to TC-30
Section 4: OTP & Verification
- TC-31 to TC-40
Section 5: Booking (Unauthenticated)
- TC-41 to TC-50
Section 6: Booking (Authenticated)
- TC-51 to TC-56
Section 7: Post-Booking Actions
- TC-57 to TC-64
Section 8: Error Handling
- TC-65 to TC-71
Section 9: Edge Cases
- TC-72 to TC-77
Test Plan Status: 🔄 Pending Total Test Cases: 77 Blocker: Bug #30