Kulcare Docs
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

TypeDataPurpose
Doctor AActive, with availabilityTest booking
Doctor BNo availabilityTest "No slots" scenario
Patient AExisting patient accountTest authenticated booking
Patient BNew (via OTP)Test unauthenticated booking
Test PhoneValid, can receive OTPOTP testing

Test Cases

Section 1: Search & Discovery

#Test CasePriorityStatus
1Search doctors by nameP0Blocked
2Search doctors by specialtyP0Blocked
3Search doctors by cityP1Blocked
4Search with combined filtersP1Blocked
5Search with no resultsP1✅ UI Works
6Search hospitalsP1✅ UI Works
7Pagination - Next pageP2✅ UI Works
8Pagination - Previous pageP2✅ UI Works
9Filter by consultation typeP1✅ UI Works
10View doctor detailsP0Blocked

Section 2: Doctor Profile & Facilities

#Test CasePriorityStatus
11View doctor profileP0Pending
12View facilities listP0Pending
13View consultation feesP0Pending
14View telemedicine feesP1Pending
15No facilities availableP1Pending
16Select clinic locationP0Pending
17Only one facilityP1Pending
18View specializationsP1Pending
19View languagesP2Pending
20View experience yearsP2Pending

Section 3: Time Slots

#Test CasePriorityStatus
21Get available time slotsP0Pending
22Slots for todayP0Pending
23Slots for future dateP0Pending
24No slots availableP1Pending
25Slots across daysP1Pending
26View slot time in timezoneP1Pending
27Slot already bookedP1Pending
28In-person slotsP0Pending
29Telemedicine slotsP0Pending
30Minimum date validationP1Pending

Section 4: OTP & Verification

#Test CasePriorityStatus
31Send OTP - Valid phoneP0Pending
32Send OTP - Invalid phoneP0Pending
33Send OTP - Empty phoneP0Pending
34Verify OTP - CorrectP0Pending
35Verify OTP - WrongP0Pending
36Verify OTP - ExpiredP1Pending
37Resend OTPP1Pending
38Max OTP attemptsP2Pending
39Existing user detectionP1Pending
40New user flowP1Pending

Section 5: Booking (Unauthenticated)

#Test CasePriorityStatus
41Complete booking - In-personP0Pending
42Complete booking - TelemedicineP0Pending
43Enter patient detailsP0Pending
44Enter reason for visitP1Pending
45Booking confirmationP0Pending
46Duplicate booking preventionP1Pending
47Missing required fieldsP0Pending
48Invalid email formatP0Pending
49Future date bookingP1Pending
50Same doctor, different facilityP1Pending

Section 6: Booking (Authenticated)

#Test CasePriorityStatus
51Book as logged-in userP0Pending
52First-time at facility consentP0Pending
53Acknowledge consentP0Pending
54Skip consentP0Pending
55Auto-provision patientP1Pending
56Return user at facilityP1Pending

Section 7: Post-Booking Actions

#Test CasePriorityStatus
57View appointments listP0Pending
58View appointment detailsP0Pending
59Cancel appointmentP0Pending
60Cancel confirmationP1Pending
61Cancel - Past appointmentP1Pending
62Reschedule appointmentP1Pending
63View appointment statusP1Pending
64Appointment reminderP2Pending

Section 8: Error Handling

#Test CasePriorityStatus
65Network error - SearchP1Pending
66Network error - Time slotsP1Pending
67Network error - BookingP1Pending
68Session timeout during bookingP1Pending
69Slot no longer availableP1Pending
70Facility unavailableP1Pending
71Doctor unavailableP1Pending

Section 9: Edge Cases

#Test CasePriorityStatus
72Double-click preventionP1Pending
73Back navigation during bookingP2Pending
74Close modal during bookingP2Pending
75Browser refresh during bookingP2Pending
76Concurrent booking same slotP1Pending
77Long idle timeP2Pending

API Reference

EndpointMethodPurpose
/identity/practitioners/searchGETSearch doctors
/identity/practitioners/{id}/public_profileGETGet doctor profile
/patient/public_appointments/time_slotsGETGet time slots
/patient/public_appointments/send_codePOSTSend OTP
/patient/public_appointments/{id}/verifyPOSTVerify OTP
/patient/public_appointments/{id}PUTCreate appointment
/patient/appointment_ordersPOSTCreate (authenticated)
/patient/appointmentsGETList appointments
/patient/appointments/{id}/cancelPOSTCancel 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

On this page