Test Case ID Date Description
Sign Up as Coporate Mandoob (Mandoob)
TC-01 16/07/2025 Validate 'Username' is a required field
TC-02 16/07/2025 Validate username minimum length
TC-03 16/07/2025 Validate username maximum length
TC-04 16/07/2025 Check invalid email format
TC-05 16/07/2025 Check valid email address
TC-06 16/07/2025 Validate phone without UAE code
TC-07 16/07/2025 Validate correct UAE phone number
TC-08 16/07/2025 Check empty Company Name
TC-09 16/07/2025 Invalid file type for Company Logo
TC-10 16/07/2025 Valid Company Logo file
TC-11 16/07/2025 Invalid file for Trade License
TC-12 16/07/2025 Valid Trade License file types
TC-13 16/07/2025 Owner Passport invalid file type
TC-14 16/07/2025 Emirates ID field left blank
TC-15 16/07/2025 Weak password check
TC-16 16/07/2025 Password and Confirm Password mismatch
TC-17 16/07/2025 OTP should be sent on form submission
TC-18 16/07/2025 OTP screen should show countdown timer
TC-19 16/07/2025 Prevent Resend OTP before 30 seconds
TC-20 16/07/2025 Resend OTP after 30s
TC-21 16/07/2025 Enter incorrect OTP
TC-22 16/07/2025 Exceed OTP allowed attempts
TC-23 16/07/2025 OTP expires after 90 seconds
TC-24 16/07/2025 Submit valid OTP within time
TC-25 16/07/2049 Post OTP: Redirect to success screen
TC-26 16/07/2050 Show login button on success screen
TC-27 16/07/2051 Welcome email on registration
TC-28 16/07/2052 Submit empty form
TC-29 16/07/2053 Network failure during submit
TC-30 16/07/2055 Duplicate email registration
Sign up as Individual Mandoob (Mandoob)
TC-32 16/07/2057 Validate required field: Username
TC-33 16/07/2058 Validate minimum username length
TC-34 16/07/2059 Validate valid username input
TC-35 16/07/2060 Validate required field: Profile Picture
TC-36 16/07/2061 Validate profile picture format restriction
TC-37 16/07/2062 Validate valid profile picture upload
TC-38 16/07/2063 Validate incorrect email format
TC-39 16/07/2064 Validate correct email format
TC-40 16/07/2065 Validate required field: Phone number
TC-41 16/07/2066 Validate invalid phone number
TC-42 16/07/2067 Validate valid phone number
TC-43 16/07/2068 Validate required field: Mandoob License
TC-44 16/07/2069 Validate Mandoob License format restriction
TC-45 16/07/2070 Validate valid Mandoob License upload
TC-46 16/07/2071 Missing Emirates ID
TC-47 16/07/2072 Valid Emirates ID file
TC-48 16/07/2073 Validate required field: Passport
TC-49 16/07/2074 Valid Passport file
TC-50 16/07/2075 Validate weak password
TC-51 16/07/2076 Validate mismatched confirm password
TC-52 16/07/2077 Validate OTP is sent on valid form
TC-53 16/07/2078 Validate resend OTP button disabled initially
TC-54 16/07/2079 Validate resend OTP after timeout()
TC-55 16/07/2080 Validate incorrect OTP entry
TC-56 16/07/2081 Validate maximum OTP attempts
TC-57 16/07/2082 Validate OTP expiration
TC-58 16/07/2083 Validate successful OTP entry
TC-59 16/07/2084 Redirect on successful OTP
TC-60 16/07/2085 Validate login option after registration
TC-61 16/07/2086 Validate welcome email sent
TC-62 16/07/2087 Validate form with all fields empty
TC-64 16/07/2089 Upload unsupported file type
TC-65 16/07/2090 Validate duplicate email registration
Login (Mandoob)
TC-66 16/07/2091 Validate empty email field on login
TC-Login-02 16/07/2092 Validate invalid email format on login
TC-Login-03 16/07/2093 Validate empty password field on login
TC-Login-04 16/07/2094 Validate incorrect credentials
TC-Login-05 16/07/2095 Validate login with valid credentials
TC-Login-06 16/07/2096 Validate unapproved account login
TC-Login-07 16/07/2097 Validate OTP screen timer visibility
TC-Login-08 16/07/2098 Validate empty OTP submission
TC-Login-09 16/07/2099 Validate incorrect OTP entry
TC-Login-10 16/07/2100 Validate expired OTP submission
TC-Login-11 16/07/2101 Validate correct OTP within time
TC-Login-12 16/07/2102 Validate OTP retry limit exceeded
TC-Login-13 16/07/2103 Validate resend OTP before 30 seconds
TC-Login-14 16/07/2104 Validate resend OTP after 30 seconds
TC-Login-15 16/07/2105 Validate new OTP after resend
TC-Login-16 16/07/2106 Validate network issue during login
TC-Login-17 16/07/2107 Validate network issue during OTP verificatio
TC-Login-18 16/07/2108 Validate reuse of expired OTP
Forgot Password (Mandoob)
TC-084 16/07/2111 Validate empty email field in forgot passwor
TC-085 16/07/2112 Validate invalid email format in forgot passw
TC-086 16/07/2113 Validate unregistered email submission
TC-087 16/07/2114 Validate registered email submission
TC-088 16/07/2115 Validate OTP sent after valid email submissio
TC-089 16/07/2116 Validate OTP screen timer countdown
TC-090 16/07/2117 Validate empty OTP field submission
TC-091 16/07/2118 Validate incorrect OTP entry
TC-092 16/07/2119 Validate OTP submission after expiry time
TC-093 16/07/2120 Validate valid OTP submission within time
TC-094 16/07/2121 Validate resend OTP button before 90 second
TC-095 16/07/2122 Validate resend OTP button after 90 seconds
TC-096 16/07/2123 Validate maximum OTP resend attempts
TC-097 16/07/2124 Validate empty password fields on reset scre
TC-098 16/07/2125 Validate non-matching password confirmatio
TC-099 16/07/2126 Validate weak password during reset
TC-100 16/07/2127 Validate valid new password submission
TC-101 16/07/2128 Validate network failure during email check
TC-102 16/07/2129 Validate network issue during OTP verificatio
Logout (Mandoob)
TC-Logout-001 17/07/2025 Validate successful logout process
TC-Logout-002 17/07/2025 Ensure session is invalidated server-side
TC-Logout-003 17/07/2025 Clear cached user data on logout
TC-Logout-004 17/07/2025 Redirect to login after logout
TC-Logout-005 17/07/2025 Show logout success message
TC-Logout-006 17/07/2025 Prevent back navigation after logout
TC-Logout-007 17/07/2025 Verify app behavior after force-close and log
My Profile (Mandoob)
TC-110 16/07/2138 Verify that the saved address is displayed on
TC-111 16/07/2139 Verify that bank details are masked for securi
TC-112 16/07/2140 Verify that Emirates ID and Passport documents
TC-113 16/07/2141 Verify Trade License visibility for corporate a
TC-114 16/07/2142 Verify handling of missing documents in profi
TC-115 16/07/2143 Verify profile page loads properly under poo
TC-116 16/07/2144 Verify responsive UI layout on different devic
Edit My Profile (Mandoob)
TC-117 16/07/2146 Edit name and save
TC-118 16/07/2147 Edit address and save
TC-119 16/07/2148 Edit phone number and save
TC-120 16/07/2149 Edit profile picture/logo
TC-121 16/07/2150 Edit company website (corporate)
TC-122 16/07/2151 Attempt to edit email
TC-123 16/07/2152 Attempt to edit username
TC-124 16/07/2153 Leave required fields empty
TC-125 16/07/2154 Invalid phone format
TC-126 16/07/2155 Submit valid updates
TC-127 16/07/2156 Profile status remains complete
TC-128 16/07/2157 Remove required data and save
TC-129 16/07/2158 Verify success message
TC-130 16/07/2159 Slow network save
TC-131 16/07/2160 Profile edit responsiveness
Billing Card Details (Mandoob)
TC-132 16/07/2162 Submit empty bank details form
TC-133 16/07/2163 Invalid IBAN format
TC-134 16/07/2164 Valid UAE IBAN
TC-135 16/07/2165 Omit optional SWIFT/BIC code
TC-136 16/07/2166 Submit valid bank details
TC-137 16/07/2167 Masked IBAN in profile
TC-138 16/07/2168 Edit existing bank info
TC-139 16/07/2169 Short IBAN error
TC-140 16/07/2170 IBAN does not start with AE
TC-141 16/07/2171 Network error during submission
Change Password (Mandoob)
TC-142 16/07/2173 Submit empty password change form
TC-143 16/07/2174 Submit incorrect current password
TC-144 16/07/2175 New password too weak
TC-145 16/07/2176 Confirm password does not match
TC-146 16/07/2177 Valid change password flow
TC-147 16/07/2178 Invalidate other sessions after password cha
TC-148 16/07/2179 Redirect to login if session invalidated
TC-149 16/07/2180 Submit same password as current
TC-150 16/07/2181 Form responsive on mobile
Create New Service (Mandoob)
TC-152 16/07/2184 Submit empty form
TC-153 16/07/2185 Submit without service name
TC-154 16/07/2186 Submit without category selection
TC-155 16/07/2187 Submit without image
TC-156 16/07/2188 Submit with invalid image format
TC-157 16/07/2189 Enter long description (optional)
TC-158 16/07/2190 Select multiple locations
TC-159 16/07/2191 Submit with valid data
TC-160 16/07/2192 Verify service status after submit
TC-161 16/07/2193 Service appears in Pending Approval list
TC-162 16/07/2194 Verify price input accepts decimal
TC-163 16/07/2195 Estimated delivery time validation
TC-164 16/07/2196 Check responsiveness of form
TC-165 16/07/2197 Cancel before submission
View Service Details(Mandoob)
TC-166 16/07/2199 Open service detail view
TC-167 16/07/2200 View service basic info
TC-168 16/07/2201 View Mandoob info
TC-169 16/07/2202 View category info
TC-170 16/07/2203 View price and delivery time
TC-171 16/07/2204 View multiple locations
TC-172 16/07/2205 View submission date
TC-173 16/07/2206 View service status
TC-174 16/07/2207 Handle missing optional fields
TC-175 16/07/2208 Verify image rendering
TC-176 16/07/2209 Responsive layout check
TC-177 16/07/2210 Network failure during load
Request to Update Services (Mandoob)
TC-178 16/07/2212 Open approved service for edit
TC-179 16/07/2213 Edit service name and submit
TC-180 16/07/2214 Edit price only
TC-181 16/07/2215 Upload new image and submit
TC-182 16/07/2216 Leave all fields unchanged and submit
TC-183 16/07/2217 Submit valid changes
TC-184 16/07/2218 Verify service is locked after edit request
TC-185 16/07/2219 Verify customer still sees old version
TC-186 16/07/2025 Admin view of update request
TC-187 16/07/2025 Admin approves update
TC-188 16/07/2025 Admin rejects update
Approved Services Listing (Mandoob)
TC-189 20/5/2025 View approved services list
TC-190 20/5/2026 Verify approved services details
TC-191 20/5/2027 Verify status label shows "Approved"
TC-192 20/5/2028 Request update option visible
TC-193 20/5/2029 Deactivate option visible
TC-194 20/5/2030 No services available message
TC-195 20/5/2031 Layout responsive on mobile
TC-196 20/5/2032 Error handling on service fetch fail
Rejected Services listing (Mandoob)
TC-189 View rejected services list
TC-190 View rejection reason
TC-191 Status of rejected service
TC-192 Edit & Resubmit button presence
TC-193 Perform Edit & Resubmit
TC-194 Submit without changes
TC-195 Delete rejected service
TC-196 UI layout for rejected services
Security – Mandoob cannot edit others’
TC-197
rejected services
Pending Approval Service Listing (Mandoob)
TC-213 View Pending Services List
TC-214 Display Service Fields in List
TC-215 Status Shows “Pending Approval”
TC-216 Status Shows “Update Pending”
TC-217 Cancel a Pending Approval Request
TC-218 Cancel an Update Pending Request
TC-219 Verify Location is Displayed
TC-220 Attempt to Cancel Approved Service
TC-221 UI on Mobile Device
TC-222 Refresh Service List After Canceling Request
Network Failure While Loading Pending
TC-223
Services
Show Empty State if No Pending Services
TC-224
Exist
Search Service
(Mandoob)
TC-201 Search by full service name
TC-202 Search by partial service name
TC-203 Search by category name
TC-204 Real-time filtering on typing
TC-205 Search with no match
TC-206 Clear search input
TC-207 Case-insensitive search
TC-208 Search with special characters
TC-209 Search using category + partial name combo
Verify responsiveness of search input on
TC-210
mobile
Activate & Deactivate Service (Mandoob)
TC-211 Deactivate an approved service
TC-212 Confirm deactivation prompt appears
TC-213 Cancel deactivation from prompt
Deactivation does not affect current
TC-214
bookings
TC-215 Success message after deactivation
TC-216 Inactive service hidden from customer view
TC-217 Activate previously deactivated service
TC-218 Activated service visible to customers again
TC-219 Security log: action and timestamp recorded
TC-220 Change reflects instantly across views
TC-221 Attempt to activate already active service
Attempt to deactivate already inactive
TC-222
service
Mobile responsiveness of
TC-223
activate/deactivate flow
Pending Request List Waiting for Approval (Mandoob)
TC-801 Display pending booking requests
TC-802 Verify booking card fields
TC-803 Open booking details
TC-804 Open Chat with customer
TC-805 Ignore booking request
TC-806 No requests available
TC-807 Verify booking ID is unique
Verify system sends notification on Open
TC-808
Chat
TC-809 Verify system sends notification on Ignore
TC-810 Validate correct booking list filtering
TC-811 Responsiveness across devices
Booking list updates in real-time (if
TC-812
applicable)
Clicking Open Chat twice opens correct
TC-813
conversation
Ensure no access to bookings from other
TC-814
Mandoobs
Active Bookings (Mandoob)
TC-901 Display active bookings
TC-902 Booking item fields are shown
TC-903 Show correct payment status
TC-904 Open chat with customer
TC-905 Mark booking as completed
TC-906 No active bookings
TC-907 Booking detail format
TC-908 Filter active bookings correctly
TC-909 Multiple actions work independently
Status updates instantly (if real-time
TC-910
supported)
TC-911 Reopen Active Bookings page
TC-912 Ensure security for actions
TC-913 Responsive design test
TC-914 Load large number of active bookings
View Details Of Booking Request (Mandoob)
TC-1001 Open booking request detail page
TC-1002 View service information
TC-1003 View customer details
TC-1004 View uploaded documents
TC-1005 View requested time/date
TC-1006 View booking status
TC-1007 Chat with customer
TC-1008 Invoice option availability
TC-1009 Accept booking request
TC-1010 Ignore booking request
TC-1011 Cancel accepted booking
TC-1012 Prevent invalid actions based on status
TC-1013 Document handling on mobile
TC-1014 Show correct buttons based on status
Security test: Access someone else’s
TC-1015
booking
TC-1016 Booking page performance
TC-1017 UI responsiveness
TC-1018 Reopen after action
Chat with Customer
(Mandoob)
TC-1101 Open chat for a booking
TC-1102 Send a message to customer
TC-1103 Receive a message from customer
TC-1104 Check message persistence
TC-1105 Check message timestamp
TC-1106 Notification on new message
TC-1107 Restrict email sharing
TC-1108 Restrict phone number sharing
Attempt to open chat for completed
TC-1109
booking
TC-1110 Attempt to open chat for cancelled booking
TC-1111 Prevent opening unrelated chat
TC-1112 Long message handling
TC-1113 Emoji support
TC-1114 Multi-device sync
TC-1115 System message handling
TC-1116 Chat auto-closes after completion
TC-1117 Scroll old chat history
TC-1118 UI responsiveness
TC-1119 Session timeout test
Mark Service as Completed (Mandoob)
TC-1201 Mark booking as completed (valid case)
Validate visibility of “Mark as Completed”
TC-1202
button
TC-1203 Try marking a completed booking again
TC-1204 Completion timestamp saved correctly
TC-1205 Notification sent to customer
TC-1206 Notification sent to Admin
TC-1207 Booking removed from active bookings
TC-1208 Booking appears in completed bookings tab
Customer unable to mark booking as
TC-1209
completed
Attempt to mark cancelled booking as
TC-1210
completed
TC-1211 Check UI feedback after clicking
TC-1212 Session expiry before completion
TC-1213 API response validation
TC-1214 Error handling on server failure
TC-1215 Audit log created for booking completion
Cancel Request (Mandoob)
Cancel booking in "Pending Provider
TC-1301
Response"
Cancel booking in "Paid & In Progress" with
TC-1302
reason
Cancel booking in "Paid & In Progress"
TC-1303
without reason
TC-1304 Cancelled booking moves to "Cancelled" list
TC-1305 Check notifications sent after cancellation
TC-1306 Refund triggered if booking was paid
TC-1307 Cancel button not visible in other statuses
Validate confirmation prompt before
TC-1308
cancelling
TC-1309 Check audit log for cancellation
TC-1310 Attempt to cancel after session expires
TC-1311 UI feedback on successful cancellation
TC-1312 API validation on cancellation reason
TC-1313 Test for repeat cancellation (edge case)
Ensure customer cannot cancel on
TC-1314
Mandoob’s behalf
TC-1315 Check cancellation reason is saved
Chat with Admin for
Support Query
(Mandoob)
TC-1401 Access chat via Help/Support tab
TC-1402 Send message to Admin
TC-1403 Admin receives Mandoob message
TC-1404 Admin replies to message
TC-1405 Message is timestamped and persistent
TC-1406 Notification on admin reply
TC-1407 Chat history viewable later
TC-1408 Send long message or multiple lines
TC-1409 Attempt to send empty message
TC-1410 Handle slow internet connection
TC-1411 Ensure security and privacy
TC-1412 Attempt to chat without login
TC-1413 Cross-device continuity
TC-1414 Rate limit spam protection (if implemented)
TC-1415 Attachment/File restriction (if applicable)
TC-1416 Check admin online/offline status (if visible)
TC-1417 Display unread message count in tab/icon
TC-1418 Test emoji support (optional UI feature)
View Transaction History (Mandoob)
TC-1501 View completed payments list
TC-1502 Verify column headings
TC-1503 Check data population
TC-1504 Filter by status - Paid
TC-1505 Filter by status - Pending
TC-1506 Filter by status - Rejected
TC-1507 Sort by Date
TC-1508 Sort by Amount
TC-1509 Check pagination (if applicable)
TC-1510 View empty state (no payments)
TC-1511 Check date format validity
TC-1512 Ensure transaction IDs are unique
TC-1513 Check for correct amount formatting
Click payment entry for more details (if
TC-1514
applicable)
TC-1515 Handle long service or customer names
TC-1516 Check mobile responsiveness
Display rejected payments reason (if
TC-1517
supported)
TC-1518 Validate navigation from other modules
TC-1519 Attempt to access payments without login
Filter through Status (Mandoob)
TC-1601 Verify default filter is set to “All”
TC-1602 Filter by “Success” status
TC-1603 Filter by “Pending” status
TC-1604 Filter by “Rejected” status
Apply filter when no transactions match
TC-1605
selected status
TC-1606 Switch between status filters
TC-1607 Combine status filter with date range
TC-1608 Change status filter after date range applied
TC-1609 Reset filters
TC-1610 Verify UI updates in real time
Check persistence of filters on page refresh
TC-1611
(optional)
Validate case where user applies all filters
TC-1612
with no match
TC-1613 Verify accessibility of status filter on mobile
Attempt to bypass filter restrictions
TC-1614
(security test)
Download CSV/PDF (Mandoob)
TC-1701 Verify presence of download options
TC-1702 Download transaction history in CSV format
TC-1703 Download transaction history in PDF format
TC-1704 Verify CSV contains correct columns
Verify PDF contains correct layout and
TC-1705
columns
Validate file contains only visible (filtered)
TC-1706
data
TC-1707 Download full history without any filters
TC-1708 File name includes user and date
TC-1709 Handle large data exports
TC-1710 Validate encoding of special characters
TC-1711 Check download buttons on mobile view
TC-1712 Cancel file download mid-way
Error handling on download failure
TC-1713
(simulate server error)
Verify access restrictions for
TC-1714
unauthenticated users
Attempt to alter download format manually
TC-1715
in request
Steps
1) Leave field empty
2) Click Submit
1) Enter only 2 characters in 'Username'
2) Click Submit
1) Enter 21 or more characters
2) Click Submit
1) Enter email like user@com
2) Click Submit
1)Enter valid email
[email protected]2) Click Submit
1) Enter phone like 0551234567
2) Click Submit
1) Enter +971501234567
2) Click Submit
1) Leave 'Company Name' blank
2) Click Submit
1) Upload file with .jpg or .pdf extension
2) Click Submit
1) Upload a .png logo
2) Click Submit
1) Upload file with .doc extension
2) Click Submit
1) Upload file with .pdf, .png, or .jpg
2) Click Submit
1) Upload file with .exe extension
2) Click Submit
1) Leave 'Emirates ID' upload blank
2) Click Submit
1) Enter weak password abc12345
2) Click Submit
1) Enter different values in password &
confirm password
2) Click Submit
1) Fill all required fields
2) Click Submit
1) Submit form successfully
2) Land on OTP screen
Try clicking 'Resend OTP' before 30 seconds
1) Wait for 30 seconds
2) Click 'Resend OTP'
Submit incorrect 6-digit OTP
Enter wrong OTP 5 times
1) Wait more than 90 seconds
2) Enter expired OTP
Enter correct OTP within 90 seconds
Complete OTP verification
On success screen
1) Complete registration flow
2) Open email inbox
1) Leave all input fields blank
2) Click Submit
1) Disconnect internet
2) Click Submit
1) Use an email already registered
2) Click Submit
1) Navigate to registration form
2) Leave 'Username' field empty
3)Click 'Submit'
1) Enter 2 characters in 'Username' field
2) Click 'Submit'
1) Enter 5 characters in 'Username' field
2) Click 'Submit'
1) Leave profile picture field empty
2) Click 'Submit'
1) Upload a .pdf file in profile picture
2) Click 'Submit'
1) Upload .jpg or .png image
2) Click 'Submit'
1) Enter email as user@domain
2) Click 'Submit'
1) Enter
[email protected]2) Click 'Submit'
1) Leave phone number field empty
2) Click 'Submit'
1) Enter 0551234567 in phone number
2) Click 'Submit'
1) Enter +971501234567 in phone field
2) Click 'Submit'
1) Leave Mandoob License field empty
2) Click 'Submit'
1) Upload a .doc file as Mandoob License
2) Click 'Submit'
1) Upload .pdf, .jpg, or .png as Mandoob
License
2) Click 'Submit'
1) Leave Emirates ID field empty
2) Click 'Submit'
1) Upload .pdf, .jpg, or .png
2) Click 'Submit'
1) Leave Passport field empty
2) Click 'Submit'
1) Upload .pdf, .jpg, or .png
2) Click 'Submit'
1) Enter 'abc12345' in password
2) Click 'Submit'
1) Enter 'Abc@1234' in password
2) Enter 'Abc@1235' in confirm password 3)
Click 'Submit'
1) Fill all fields with valid data
2) Click 'Submit'
Try clicking 'Resend OTP' before 30 seconds
1) Wait for 30 seconds
2) Click 'Resend OTP'
1) Enter wrong OTP
2) Click 'Verify'
1) Enter wrong OTP 5 times
2) Click 'Verify'
1) Wait more than 90 seconds
2) Enter correct OTP 3)
Click 'Verify'
1) Enter correct OTP within 90 seconds
2) Click 'Verify'
1) Complete OTP verification
2) Click 'Continue'
1) View success screen after registration
2) Check for login option
1) Complete registration successfully
2) Check inbox
1) Leave all fields empty
2) Click 'Submit'
1) Upload .exe file in any file fieldy
2) Click 'Submit'
1) Enter already registered email
2) Click 'Submit'
1) Navigate to login page
2) Leave email field empty
3) Click 'Login'
1) Enter email as 'user@com'
2) Enter password
3) Click 'Login'
1) Enter valid email
2) Leave password field empty
3) Click 'Login'
1) Enter incorrect email and password
2) Click 'Login'
1) Enter valid email and password
2) Click 'Login'
1) Enter credentials for unapproved account
2) Click 'Login'
1) Login with valid credentials
2) Observe OTP screen
1) Leave OTP field blank
2) Click 'Verify'
1) Enter wrong OTP
2) Click 'Verify'
1) Wait more than 90 seconds
2) Enter valid OTP
3) Click 'Verify'
1) Enter valid OTP within 90 seconds 2)Click
'Verify'
1) Enter incorrect OTP 5 times
2) Wait
1) Click 'Verify'
for 30 seconds
2) Click 'Resend OTP'
1) Wait for 30 seconds
2) Click 'Resend OTP'
1) Use the new OTP received
2) Click 'Verify'
1) Turn off internet
2) Enter email and password
3) Click 'Login'
1) Disconnect internet
2) Enter valid OTP
3) Click 'Verify'
1) Reuse an old OTP from previous session
2) Click 'Verify'
1) Navigate to 'Forgot Password' screen
2) Leave the email field blank
3) Click on 'Submit' button
1) Navigate to 'Forgot Password' screen
2) Enter email as 'user@com'
3) Click on 'Submit' button
1) Navigate to 'Forgot Password' screen
2) Enter an email not registered in the
system
3) Click on 'Submit' button
1) Navigate to 'Forgot Password' screen
2) Enter a valid registered email
3) Click on 'Submit' button
1) Submit valid registered email on forgot
password
2) Observe system behavior
1) Reach OTP screen after email submission
2) Observe timer and resend button
1) Leave OTP field blank
2) Click on 'Verify' button
1) Enter incorrect OTP code
2) Click on 'Verify' button
1) Wait more than 90 seconds
2)Enter valid OTP 3)
Click 'Submit
1) Enter valid OTP within 90 seconds
2) Click on 'Verify' button
Attempt to click 'Resend OTP' before 90 sec
1) Wait until 90-second timer ends
2) Click on 'Resend OTP'
Click 'Resend OTP' more than 3 times
1) Leave both password and confirm
password fields empty
2) Click on 'Submit'
1) Enter password and confirm password
with different values
2) Click on 'Submit'
1) Enter a weak password (e.g., 'abcd1234')
2) Click on 'Submit'
1) Enter a strong new password and match
confirm password
2) Click on 'Submit'
1) Turn off internet connection
2) Enter email and click 'Submit'
1) Enter OTP
2) Disconnect internet
3) Click on 'Verify'
1) Login with valid credentials
2) Tap on the user profile or menu icon
3) Tap 'Logout'
1) Login with valid user
2) Tap 'Logout'
3) Try to access protected API using the old
token/session
1) Login to the app
2) Access profile and verify data is shown
3) Tap 'Logout'
4) Reopen app (without login) and check for
leftover data
1) Login to the app
2) Tap 'Logout'
1) Login to the app
2) Tap 'Logout'
1) Login to the app
2) Tap 'Logout'
3) Press device back button
1) Login to the app
2) Tap 'Logout'
3) Force close and reopen the app
1) Login to the app
2) Tap on My Profile
3) Locate the Address section
1) Go to Profile section
2) Locate the Bank Details / IBAN section
1) Open My Profile
2) Scroll to Documents section
3) Look for Emirates ID and Passport
1) Login using a Corporate account
2) Open My Profile
3) Scroll to the Trade License section
1) Login with a user who has incomplete
profile
2) Navigate to My Profile
3) Check for missing documents (e.g.,
Emirates ID not uploaded)
1) Simulate slow internet connection
2) Open the My Profile page
1) Open Profile page on mobile view
2) Open same page on a desktop or tablet
1) Go to My Profile
2) Edit the name field
3) Click the Save button
1) Navigate to My Profile
2) Change the address
3) Click Save
1) Go to My Profile
2) Edit the phone number
3) Click Save
1) Tap on profile picture
2) Upload new image
3) Click Save
1) Log in as corporate user
2) Go to profile
3) Edit company website field
4) Click Save
1) Go to profile
2) Try to click or edit the email field
1) Open profile
2) Try to edit username
1) Clear required field (e.g., name or phone)
2) Click Save
1) Enter phone number without country
code
2) Click Save
1) Change multiple fields with valid input
2) Click Save
1) Edit and save profile with all required
fields filled
2) Check profile status
1) Clear required field (e.g., phone)
2) Click Save
1) Edit any field
2) Click Save
1) Simulate network delay
2) Edit profile and click Save
1) Open profile edit screen on multiple
devices (mobile, tablet, desktop)
2) Check layout and form elements
1) Navigate to Bank Details form
2) Leave all fields blank 3)
Click on 'Save' button
1) Open Bank Details form
2) Enter IBAN that doesn’t start with 'AE' or
is not 23 characters.
3)Click 'Save'
1) Enter valid IBAN starting with 'AE' and 23
characters
2) Click 'Save'
1) Fill all required fields except SWIFT/BIC
code
2) Click 'Save
1) Enter valid Bank Name, IBAN, and
Account Holder Name
2) Click 'Save
1) Submit valid bank details
2) Go to Profile page and view saved IBAN
1)Open Bank Details form
2) Update Account Holder Name or Bank
Name
3)Click 'Save
1)Enter IBAN with fewer than 23 characters
2) Click 'Save'
1)Enter IBAN starting with PK or SA
2) Click 'Save'
1)Disconnect internet connection
2) Submit bank details form
1)Navigate to Change Password form
2) Leave all fields blank
3)Click 'Save
1)Navigate to Change Password formEnter
wrong current password and valid new
password
2) Click 'Save'
1)Enter weak password like 'abcd1234' as
new password
2) Click 'Save'
1)Enter correct current password
2) Enter different new password and
confirm password
3) Click 'Save'
1)Enter correct current password
2) Enter strong new password and confirm it
3)
Click 'Save'
1)Log in from multiple devices
2) Change password from one device
1)Change password and expire session
2) Attempt action with expired session
1)Enter same value for current and new
password
2) Click 'Save'
Open Change Password form on small device
1) Navigate to Add Service form
2) Leave all fields blank
3) Click on Submit button
1) Fill all required fields except Service
Name
2) Click on Submit button
1) Fill all required fields except Category
2) Click on Submit button
1) Fill all required fields except Image
2) Click on Submit button
1)( Upload a file in unsupported format
(e.g., .exe)
2) Click on Submit button
1) Fill all required fields with valid input
2) Add long text in description field
30 Click on Submit
1) Fill all required fields
2) Select 2–3 locations from location list
3) Submit the form
1) Fill all required fields with valid input
2) Click Submit
1) Submit a service with valid data
2) Go to admin/service list
1) Submit a new service
2) Go to 'Pending Approval' tab
Enter 199.99 as price
Enter "1–3 days"
1) Open form on mobile
2) Open form on desktop
Fill form and click "Cancel" instead of submit
1) Log in as Admin
2) Navigate to service list
3) Click on a service
Open any service details
Open service details
Open a submitted service
Open a service detail view
View a service submitted with multiple locati
Open the service detail
Open detail of service
1)Submit a service without description
2) View it in admin panel
Open detail of service with image
Open service detail view on mobile device
1) Simulate slow internet
2) Open service details
1) Log in as Mandoob
2) Go to approved services
3) Click edit
1) Change name field
2) Click Save
1)Modify price
2) Click Submit
1) Change image
2) Click Submit
1) Open edit screen
2) Submit without any changes
1) Change multiple fields
2) Submit changes
1) After submitting change request
2) Try editing again
1) Submit change request as Mandoob
2) Check customer view
1) Admin logs in
2) Views “Update Pending” tab
3) Opens request
Approve request from admin panel
Reject request from admin panel
1) Log in as Mandoob
2) Navigate to "My Services" or "Approved
Services" tab
1) Log in as Mandoob
2) Go to approved services
3) Observe fields shown for each service
1) Login as Mandoob
2) Go to Approved Services
3) Check status column
1) Go to Approved Services list
2) Look at the “Action” column for any
service
1) Go to Approved Services
2) Observe “Deactivate” button in Action
column
1) Log in as Mandoob with no approved
services
2) Navigate to Approved Services tab
1) Open Approved Services screen on
mobile
2) Check alignment and readability
1) Simulate network issue or server error
2) Load Approved Services tab
1. Log in as Mandoob 2.
Navigate to “My Services” 3.
Select the “Rejected” tab
1. Open any service under “Rejected” 2.
Check displayed message or reason
1. Open any rejected service 2.
Check the status field
Open any rejected service
1. Click “Edit & Resubmit” 2.
Modify the rejected fields 3.
Submit form
1. Click “Edit & Resubmit” 2.
Do not make any changes 3.
Click Submit
1. From rejected services list, click “Delete”
icon
2. Confirm deletion
Open rejected services list on mobile &
desktop
1. Log in as another Mandoob 2.
Try accessing a rejected service URL from
another account
1. Login as Mandoob 2.
Navigate to “Pending Services” tab
View list of pending services
1. Submit a new service 2.
View it under pending services
Edit an existing service and resubmit
Click “Cancel” on a service with status
“Pending Approval”
Click “Cancel” on a service with status
“Update Pending”
View any pending service
1. View Approved service 2.
Look for “Cancel/Delete” option
View pending services screen on mobile
1. Cancel a pending service 2.
Observe the service list
1. Disconnect internet 2.
Try to open pending services
1. Ensure no services are in pending status
2. Open pending services tab
1. Go to My Services 2.
Enter full service name in search bar
1. Go to My Services 2.
Type partial keyword from service name
1. Go to My Services 2.
Type valid category name (e.g., “Plumbing”)
1. Start typing in the search bar 2.
Observe results updating in real time
Enter an invalid/random name in the
search bar
1. Enter a keyword 2.
Then clear the search bar
Enter name in upper or lower case (e.g.,
"cleaning", "CLEANING")
Enter name with special characters (if
applicable in service name)
Type both a category and partial name (e.g.,
"Cleaning kitchen")
Perform search on mobile device
1. Go to Approved Services 2.
Click Deactivate on a service 3.
Confirm on prompt
Click Deactivate next to a service
1. Click Deactivate 2.
Click Cancel on confirmation prompt
1. Deactivate a service with existing
bookings 2.
View bookings
Confirm deactivation
1. Deactivate service 2.
Login as customer and search services
1. Go to Inactive Services 2.
Click Activate
1. Activate a service 2.
Search as a customer
Deactivate or activate a service
1. Deactivate a service
2. Refresh both customer and admin
dashboards
Click Activate on a service that’s already
Approved
Click Deactivate on a service that’s already
Inactive
Perform activation/deactivation on mobile
1. Login as Mandoob 2.
Navigate to Booking Requests page
View a booking card in the list
Tap on a booking request card
Tap “Open Chat” on a pending request
Tap “Ignore” on a pending request
Ensure no pending requests exist for
Mandoob 2.
Open Booking Requests page
1. View booking cards
2. Check multiple cards
Click “Open Chat” for a request
Click “Ignore” for a request
Login with different Mandoob accounts
(with/without pending requests)
Open booking requests page on mobile,
tablet, desktop
1. Customer creates new booking request
2. Mandoob checks Booking Requests list
Click Open Chat on two different bookings
Login as Mandoob A2. Try accessing
booking belonging to Mandoob B (if URL
manipulation possible)
1. Login as Mandoob 2.
Navigate to “Active Bookings” section
View a booking item in the list
Check payment label on a booking
Click on Open Chat button on any active
booking
Click on Mark as Completed button on an
active booking
1. Login as Mandoob with no active
bookings 2.
Navigate to Active Bookings
Check if details like date/time, customer
name, and service name are properly
formatted
1. Login with multiple Mandoob accounts 2.
Each account checks Active Bookings
Try opening chat and marking a booking as
completed in sequence
1. Mark booking as completed
2. Check if it disappears from Active
Bookings list
1. Perform action 2.
Reopen Active Bookings page
Try to mark someone else's booking as
completed (via URL or dev tools)
View active bookings on mobile, tablet, and
desktop
1. Have Mandoob with 50+ active bookings
2. Open Active Bookings list
1. Login as Mandoob 2.
Go to Booking Requests 3.
Click on a booking card
1. Open a booking request 2.
Check service name, description, category
1. Open a booking request
2. Check customer name and location
1. Open booking request with uploaded files
2.
Click to view/download documents
Open booking request
Open booking
1. Click Open Chat on booking detail page
1. Open booking request
1. Click Accept if status is "Pending"
2. Confirm action
1. Click Ignore if status is "Pending"
2. Confirm action
1. Open a booking with status Accepted 2.
Click Cancel
Try to accept/ignore a booking that is
already completed
1. Open booking on mobile device 2.
Try viewing/downloading document
. Check actions available for: Pending,
Accepted, Completed bookings
Try accessing booking not assigned to
logged-in Mandoob
Open multiple bookings quickly
Open booking detail page on mobile, tablet,
desktop
1. Accept a booking
2. Reopen the booking page
1. Login as Mandoob 2.
Go to a booking with status
Pending/Accepted 3.
Click Open Chat
1. Open chat 2.
Type a message 3.
Click send
1. Customer sends message
2. Mandoob opens the chat
1. Send and receive messages
2. Refresh or re-login3. Reopen chat
Send and receive messages
1. Keep booking page open or navigate
away
2. Customer sends a message
1. Try to send message with email format (e.g., [email protected])
Try to send a message with a number like
0501234567
Open booking with status Completed 2.
Try accessing chat
1. Open booking with status Cancelled 2.
Try accessing chat
Try accessing chat from booking not
assigned to logged-in Mandoob
Type and send a long message (>500
characters)
Send a message with emojis
1. Open chat on one device and send
messages
2. Open chat on another device
1. Ignore or Accept booking
2. Check if system sends status message in
chat (optional)
1. Complete or cancel a booking
2. Try accessing the chat
Scroll back in a long chat history
Open chat on desktop, tablet, and mobile
1. Stay idle in chat for extended time
2. Resume activity
1. Login as Mandoob
2. Open booking with status = "Paid & In
Progress" 3.
Click Mark as Completed
1. Login as Mandoob 2.
Open bookings list
3.Check each booking card
1. Mark a booking as completed 2.
Try clicking the button again
1. Complete a booking 2.
View booking details
Complete a booking as Mandoob
Complete a booking
Complete a booking
Complete a booking
1. Login as Customer 2.
Open the same booking
1. Open a booking with status = "Cancelled"
2. Try marking
it as completed
Click Mark as Completed
1. Open booking
2. Wait for session to expire 3.
Try marking as completed
1. Trigger complete booking action
2. Monitor API call
1. Simulate server failure during completion
2. Try
marking booking as completed
Complete booking
1. Login as Mandoob 2.
Open a booking with status "Pending
Provider Response"
3. Click Cancel
1. Login as Mandoob
2. Open a "Paid & In Progress" booking
3. Click Cancel
4. Enter reason
5. Submit
1. Open Paid & In Progress booking
2. Click Cancel
3. Do not enter a reason
4. Try to submit
1. Cancel any booking
2. Navigate to Cancelled Bookings tab
Cancel a booking
Cancel booking with status "Paid & In
Progress"
Open bookings with statuses like
Completed, Cancelled
Click Cancel on any booking
1. Cancel a booking
1. Open booking 2.
Wait for session timeout
3. Try canceling
Cancel booking
Submit cancellation with/without reason as
per status
1. Cancel a booking
2. Try canceling again
1. Login as customer
2. Open the same booking
1. Cancel with reason
2. View booking details
1. Login as Mandoob 2.
Click on Help or Support tab
1. Type a message 2.
Click send
1. Send a message from Mandoob
2. Login as Admin
3. Open chat
Admin sends a reply
1. Send and receive multiple messages
2. Refresh page or relogin
Wait for Admin to reply
1. Logout and login again as Mandoob
2. Open Help/Support
Paste/send a long message or multiline text
Click send without typing
1. Slow the network 2.
Send a message
Send a message
Open support page as guest/unlogged
1. Send message on mobile
2. Login on desktop/web
Rapidly send 10+ messages
1. Try uploading file (if feature exists) 2.
Upload unsupported format
Open chat when admin is offline
Receive new message while not in chat
Send emoji
1. Login as Mandoob
2. Navigate to “Payments” or “Earnings”
section
Navigate to payments list
Open the payments list
Use filter/search to select Status = Paid
Use filter/search to select Status = Pending
Use filter/search to select Status = Rejected
Click on the Date column header
Click on the Amount column header
Navigate to next page of list
Login as Mandoob with no completed
payments
View the Date column
Scan through Transaction ID column
View amount column
Click on a row or icon (if detail view
supported)
Display entry with long names
Open payments list on mobile device
1. Filter by status = Rejected
2. Open rejected entry
Navigate to Payments from Dashboard or
another module
Try to access the payments page without
logging in
1. Login as Mandoob 2.
Navigate to the Transactions screen
Select Success from the status filter
dropdown
Select Pending from the status filter
dropdown
Select Rejected from the status filter
dropdown
Select a status with no matching data (e.g.,
Rejected if none exist)
1. Change from Success → Pending →
Rejected
1. Select status = Pending
2. Select a date range (e.g., July 1–July 15)
1. Apply date filter
2. Then apply status filter (e.g., Rejected)
1. Apply status and date filters
2. Click “Reset” or clear filters
Select each status filter
1. Apply status filter
2. Refresh the page
Select Rejected + invalid date range where
no transaction exists
Open transaction page on mobile device
Manually alter status filter parameter in
URL or request (e.g., status=“unauthorized”)
1. Login as Mandoob 2.
Go to Transactions page
Click “Download CSV” button
Click “Download PDF” button
Open downloaded CSV file
Open downloaded PDF file
1. Apply a date or status filter 2.
Click “Download CSV”
1. Do not apply any filters
2. Click “Download CSV”
Download a file
1. Ensure more than 1000+ transactions
exist 2.
Click “Download CSV”
1. Have customer or service names with
special characters (e.g., accents, Urdu,
Arabic)
2. Download file
1. Open transaction page on mobile
2. Check if download buttons are
responsive and functional
1. Click “Download PDF”
2. Cancel download via browser
Simulate server error during download
1. Log out
2. Try to access download link via URL
Attempt to change format query param
from CSV to XML in download link
Expected Result Staus F/P
Show validation: 'Username is required' None
Show validation: 'Minimum 3 characters required' None
Show validation: 'Maximum 20 characters allowed' None
Show validation: 'Enter a valid email' None
No validation error None
Show validation: 'Include valid UAE code: +971...' None
No validation error None
Show validation: 'Company name is required' None
Show validation: 'Only PNG allowed' None
Accepted successfully None
Show validation: 'Only PDF, PNG, or JPG allowed' None
Accepted None
Show error: Invalid file type None
Show validation: "Required field" None
Show validation: 'Must include uppercase, symbol etc.' None
Show validation: 'Passwords do not match' None
OTP should be sent to email and redirect to OTP screen None
Timer (90 seconds) starts None
Button should be disabled None
New OTP generated, timer restarts None
Show error: 'Invalid OTP' None
Show message: 'Too many attempts. Try again later.' None
Show error: 'OTP expired' None
Redirect to success registration screen None
Redirect to 'Successful Registration' screen None
Show 'Go to Login' button None
Verify welcome email is sent to registered email None
Show all required field errors None
Show 'Network Error. Please try again.' None
Show: 'Email already in use' None
None
Show validation: 'Username is required' None
Show validation: 'Minimum 3 characters required' None
No validation error None
Show validation: 'Profile picture is required' None
Show validation: 'Only PNG or JPG allowed' None
File accepted None
Show validation: 'Enter a valid email address' None
No validation error None
Show validation: 'Phone number is required' None
Show validation: 'Use valid UAE format: +971... None
No validation error None
Show validation: 'Mandoob License is required' None
Show validation: 'Only PDF, JPG, or PNG allowed' None
File accepted None
Show validation: Required None
File accepted None
Show validation: Required None
File accepted None
Show validation: 'Password must contain uppercase and symbol' None
Show validation: 'Passwords do not match' None
Redirect to OTP screen and send OTP to email None
Button should remain disabled None
New OTP sent and timer resets None
Show: 'Invalid OTP' message None
Show: 'Maximum attempts exceeded' None
Show: 'OTP expired' None
Verification successful None
Show successful registration screen None
Show 'Go to Login' button None
Verify welcome email is received None
Show all required field errors None
File rejected with format error None
Show error: 'Email already exists' None
None
Show validation: 'Email is required' None
Show validation: 'Enter a valid email' None
Show validation: 'Password is required' None
Show error: 'Invalid credentials' None
Redirect to OTP screen, send OTP to email None
Show message: 'Account not approved yet' None
OTP screen loads with 90-second countdown None
Show validation: 'OTP is required' None
Show error: 'Invalid or expired OTP' None
Show error: 'Invalid or expired OTP' None
Redirect to dashboard None
Show error: 'Maximum attempts reached. Please try again later.' None
Button is disabled or unclickable None
New OTP is sent, timer resets to 90 seconds None
Successfully login to dashboard None
Show message: 'Network error. Please try again.' None
Show message: 'Unable to verify OTP. Check your connection.' None
Show error: 'Invalid or expired OTP' None
Show error: 'Email is required' None
Show error: 'Enter a valid email address' None
Show error: 'Email not registered' None
Send OTP and move to OTP screen None
6-digit OTP sent, redirect to OTP screen with timer None
Display 90-second countdown and disable resend button None
Show error: 'OTP is required' None
Show error: 'Invalid or expired OTP' None
Show error: 'Invalid or expired OTP' None
Redirect to reset password screen None
Resend button should be disabled None
New OTP sent, timer restarts None
Show error: 'Maximum resend attempts reached' None
Show error: 'Password is required' None
Show error: 'Passwords do not match' None
Show error: 'Password must include uppercase, number, symbol' None
Show success message and redirect to login None
Show: 'Network error. Please try again.' None
Show: 'Unable to verify OTP' None
User is immediately logged out, session/token invalidated, redirected None
API returns unauthorized/expired token error None
No sensitive data (profile, documents, token) is cached or visible None
User is redirected to the login screen None
Confirmation message: “You have been logged out successfully.” is dis None
User should not be able to return to the previous authenticated scree None
App opens to login screen with no user data preloaded None
Address field is displayed and matches the user's saved address None
Bank number is masked (e.g., ****1234) ensuring security None
Both documents are visible with thumbnail or clickable links None
Trade License document is visible (only for corporate users) None
System shows ‘Not uploaded’ label or placeholder image for missing filNone
Profile loads gracefully or shows loading placeholders without crashingNone
Profile layout adjusts properly, no content overflow or UI break None
Success message shown, and new name is saved None
Address is updated, confirmation message displayed None
Phone number is updated, success message shown None
New image is saved and displayed None
Website saved successfully None
Email field is disabled (non-editable) None
Username field is disabled (non-editable) None
Show validation error: "Field is required" None
Show error: "Enter valid phone number" None
All updates saved, show success message None
Status remains "Complete" None
Validation error shown, profile status may change if applicable None
Show message: "Your profile has been updated successfully" None
Show loading indicator, data saved once request completes None
Responsive layout, all fields appear correctly across devices None
None
Error messages shown for required fields: Bank Name, IBAN, Account None
Show validation: 'Enter valid UAE IBAN (starts with AE, 23 chars)' None
No validation error shown None
Form submits successfully without SWIFT/BIC code None
Show message: 'Your bank account details have been saved.' None
IBAN is masked as ****5678 (only last 4 digits shown) None
Updated bank info saved successfully None
Show error: 'IBAN must be 23 characters' None
Show error: 'IBAN must start with AE' None
Show error: 'Unable to save bank details. Check your connection.' None
None
Show required field errors for all fields None
Show error: 'Current password is incorrect' None
Show error: 'Password must include uppercase, symbol, and be 8+ charNone
Show error: 'Passwords do not match' None
Show message: 'Password changed successfully.' None
Other sessions are logged out (if feature enabled) None
User is redirected to login screen None
Show error: 'New password must be different from current password' None
Form adjusts correctly without layout issues None
None
Validation messages appear for required fields: Service Name, CategorNone
Show: 'Service Name is required' None
Show: 'Category is required' None
Show: 'Image is required' None
Show: 'Only JPG, PNG formats allowed' None
Form submits successfully None
All selected locations are saved correctly None
Show: 'Your service has been submitted for review.' None
Service is stored with status = 'Pending Approval' None
Service is listed with correct name and status None
Price is accepted and saved None
Value accepted correctly None
Layout adapts properly None
User is redirected and no data is saved None
None
Detail view opens showing all fields None
Shows ID, Service Name, Description, and Image None
Displays Mandoob Name and Type (Individual/Corporate) None
Correct category name is shown None
Price (e.g., AED 200) and estimated time (e.g., 2–4 days) are visible None
All selected locations are listed None
Exact date and time of submission are displayed None
Status field is shown (e.g., Pending, Approved, Rejected) None
Description shown as "Not Provided" or hidden gracefully None
Image is displayed clearly without broken UI None
Layout adapts without UI breaking None
Show loading spinner or error message if failed None
None
Editable fields: Name, Description, Image, Price, Delivery Time None
Status changes to “Update Pending” None
Status becomes “Update Pending” and price update request is submit None
System accepts image, status updates to “Update Pending” None
Show message: “No changes detected” or disable submit button None
Success message and status = “Update Pending” None
Show: “Changes pending approval. Editing disabled.” None
Original service details remain visible to public None
Admin sees proposed changes and can approve/reject None
Service details update and status changes to “Approved” None
Service details remain unchanged and status reverts to “Approved” None
List of approved services is displayed
Each service row shows: Name, Category, Price, Status = “Approved”, and Action buttons
Status is correctly displayed as “Approved”
“Request Update” button is visible and clickable
“Deactivate” button is shown next to each service
System displays: “No approved services available”
List is displayed correctly with proper alignment
Error message shown like: “Failed to load services. Please try again.”
List of rejected services is displayed
Rejection reason from Admin is visible
Status shows “Rejected”
“Edit & Resubmit” button is visible
Form is submitted again with status “Update Pending”
Show warning: “No changes detected”
Service is removed from list
Layout adjusts correctly, no overlapping
Access denied or “Service not found” message
List of submitted services not yet approved is displayed
Each item shows: Name, Category, Submission Date, Status, Location
Status is shown as “Pending Approval”
Status is shown as “Update Pending”
Confirmation prompt shown → On confirm, service is removed
Confirmation prompt shown → On confirm, service is removed
Location is shown in service card
Option not available
Layout adapts correctly
Service is removed from the list without full page reload
Show appropriate error message or retry option
Message shown: “No pending services found”
Only services matching the full name appear
Services that contain the keyword are shown
All services under that category are listed
List filters dynamically as user types
Show message: “No services found.”
All services are shown again
Matching services shown regardless of case
Correct services displayed if matches exist
List filters to matching services with that name in that category
Input is usable and filtering works without layout breaking
Service status changes to Inactive, service hidden from customers
and forms
Prompt message: “Deactivating this service will hide it from future
bookings…” is shown
Service remains Approved, no status change
All current and past bookings still visible and unchanged
Show message: “Service has been deactivated. It will no longer
appear for new bookings.”
Deactivated service should not appear in customer listings or booking
options
Status changes to Approved, service visible again for customers
Service appears again in listings and booking options
System logs action with timestamp and Mandoob ID
Service immediately hidden (on deactivation) or shown (on
activation) across all views
Show message: “Service is already active.” or disable the action
Show message: “Service is already inactive.” or disable the action
Buttons, prompts, and messages display correctly without layout
issues
Only requests with status “Pending Provider Response” are shown
Card displays: Customer name, Service requested, Date/Time,
Booking ID, Location
Full booking details page opens
Chat window opens with that customerNotification sent to customer
Request ignoredNotification sent to customer indicating Mandoob
ignored the request
Show message: “No pending booking requests.”
All Booking IDs are unique and visible
Customer receives a notification
Customer receives a notification
Only pending responses for that specific Mandoob are displayed
Cards display properly across all devices
New booking appears in the list if status = Pending Provider Response
Correct chat windows open for each specific customer
Access denied or redirected
Only bookings with status = Paid and In Progress are shown
Service name, Customer info, Scheduled time, Payment status
displayed
Status shows: Paid via Admin
Chat opens with the customer
Booking is marked as completedStatus updated
accordingly<brSuccess message shown
Show message: “No active bookings”
All fields follow consistent, readable format
Each Mandoob sees only their own active bookings
Both actions work correctly, do not interfere with each other
Booking disappears if no longer "In Progress"
Status change persists, UI shows updated info
Unauthorized action is blocked, appropriate error shown
Layout is responsive and user-friendly across all devices
List loads efficiently and pagination or infinite scroll works (if
implemented)
Booking detail page opens
All service information is displayed accurately
Customer name and location are visible
Documents open or download properly
Requested date and time are clearly displayed
Status like "Pending", "Accepted", etc., is visible
Chat interface opens with customer
Invoice button is available if applicable
Booking is marked as Accepted, success message shown
Booking is marked as Ignored, customer receives notification
Booking is cancelled, appropriate status and message shown
System prevents action and shows appropriate warning
Documents should be accessible on all screen sizes
Accept/Ignore for Pending, Cancel for Accepted, No action for
Completed
Access denied or error message shown
Detail pages load within acceptable time
Layout adjusts properly, content readable on all devices
Status and available actions update correctly (e.g., Cancel now visible
instead of Accept/Ignore)
Chat interface for the specific booking opens
Message is sent, timestamp appears
New message is visible with timestamp
All previous messages are still visible
Each message shows correct timestamp
Mandoob receives a notification (in-app or push) for new message
Message blocked or warning shown: "Sharing personal contact info is
not allowed."
Message blocked or warning shown
Chat is read-only or disabled
Chat is read-only or disabled
Access denied or error message shown
Message is sent properly with line wrapping
Emojis are displayed correctly
Chat syncs in real time
System message like “Booking accepted by Mandoob” is shown (if
implemented)
Chat is closed or moved to archived/read-only state
Older messages load without issue
Chat UI adjusts properly across devices
Chat reconnects or stays active without losing messages
Booking status changes to CompletedSuccess message shown
Mark as Completed appears only for bookings with status = "Paid & In
Progress"
Button is disabled or hidden after completion
Completion date/time is stored and shown in booking history
Customer receives notification: "Your booking has been marked as
completed. Please rate and review."
Admin receives notification: "Booking completed. Please release
payment."
Booking no longer appears under "Active" bookings tab
Booking is shown in "Completed" tab with correct status
Mark as Completed button is not visible to the customer
Action is blocked, error or no button visible
Loader/spinner or progress shown, then success message appears
Redirect to login or error message shown
API returns 200 OK with correct payload ( status = Completed,
timestamp, etc.)
Error message shown, booking status remains unchanged
Audit log entry created with action, user ID, timestamp
Booking status changes to Cancelled by MandoobNo reason
requiredSuccess message shown
Booking status changes to Cancelled by MandoobSuccess message
shown
Validation error shown: "Cancellation reason is required"
Booking is listed there with updated status
Customer and Admin receive notification: "Booking has been
cancelled by Mandoob."
Admin receives refund notification or system triggers refund
workflow
Cancel button is not visible
Confirmation popup appears: "Are you sure you want to cancel this
booking?"
Audit log contains timestamp, Mandoob ID, booking ID, and
cancellation reason (if applicable)
Redirected to login or error shown: "Session expired"
Loader/spinner appears, then success toast/message shown
Backend validates required fields, returns appropriate success or
error messages
Action disabled, message: "This booking is already cancelled."
Cancel option not visible
Reason is visible to admin and stored in system logs
Chat interface with admin opens
Message sent with timestamp, appears in chat history
Admin sees new message with notification
Mandoob receives reply in real-time with notification
All messages remain with proper timestamps
Mandoob receives push or in-app notification: "Admin replied to your
support message"
Chat history is visible
Message is sent successfully and properly displayed
Error shown: "Message cannot be empty"
Loader/spinner shown until message is sent or error appears
No other Mandoob or user can see the conversation (only visible to
Mandoob and Admin)
Redirected to login or message: "Please login to use chat support"
Full chat history is available and synchronized
Either throttling, warning or message delay logic kicks in
Validation: "File type not supported"
Status shows "Admin is currently offline. Please leave a message."
Notification badge appears in "Support" tab
Emoji is displayed correctly
A list of payment records is displayed with correct headers and data
Column titles should include:Transaction ID, Customer Name, Service
Name, Booking ID, Amount, Date, Status
All columns should display corresponding values for each payment
Only rows with status “Paid” are shown
Only rows with status “Pending” are shown
Only rows with status “Rejected” are shown
List should sort ascending/descending by transaction date
List should sort by amount ascending/descending
Payment records on page 2 are displayed correctly
Message shown: “No payments found.”
Format should be consistent (e.g., DD-MM-YYYY or MM/DD/YYYY)
Each transaction should have a unique ID
Amount should be formatted with correct currency and decimals
(e.g., AED 100.00)
A detailed view of the payment record opens
UI wraps or truncates text gracefully without breaking layout
Layout adjusts properly; horizontal scrolling or responsive stacking
applied
Rejection reason is shown
List loads correctly
Redirected to login or shown "Access Denied"
By default, status filter should be set to All, and all transactions
should be shown
Only transactions with status = Success are displayed
Only transactions with status = Pending are displayed
Only transactions with status = Rejected are displayed
Message displayed: “No transactions found.”
Results should update each time based on selected status
Transactions shown match both status and date range
Results update correctly with both filters applied
All filters are cleared; full transaction list is shown again
The list updates without page reload (real-time filtering behavior)
Either filters reset OR persist based on business logic
Message: “No transactions found.” displayed clearly
Status filter dropdown is accessible and functions correctly
System should handle gracefully or return an empty state
Download options (CSV & PDF) should be clearly visible
A .csv file is generated and downloaded containing the required
columns
A .pdf file is generated and downloaded with the formatted table of
transactions
File contains: Transaction ID, Customer Name, Service Name, Booking
ID, Amount, Date, Status
PDF includes same information in a clean, readable layout
Downloaded file should contain only the filtered results, not the full
list
File contains all transaction history
File name format:
transactions_<username>_<YYYYMMDD>.csv or .pdf
File should still download successfully without timeout or crash
File should display special characters correctly in CSV/PDF
Buttons should be accessible and initiate download on mobile device
File should not be saved; UI remains functional
Message shown: “Failed to generate report. Please try again later.”
Should redirect to login or show access denied
Should return error or ignore unsupported format
Login (Mnadoob)