A “Notification Preferences” section appears below Display Preferences with Email and Push toggles.
E10
Notification section hidden for Admin
Log in as Admin and go to Settings.
No “Notification Preferences” section is displayed.
E11
Toggle email off
Turn off the Email Notifications toggle and save.
Preference saves. You should NOT receive email notifications for subsequent booking events.
E12
Toggle email back on
Turn Email Notifications back on and save.
Preference saves. You resume receiving email notifications.
E13
Enable push — first time
In the Push Notifications section, click “Enable Push Notifications”.
Browser prompts for notification permission. After granting, the toggle switches to On.
E14
Toggle push off
Turn off Push Notifications and save.
Preference saves. You should NOT receive push notifications for subsequent booking events.
E15
Toggle push back on
Turn Push Notifications back on and save.
Preference saves. You resume receiving push notifications.
E16
Push denied state
If you previously denied notification permission in your browser, visit Settings.
The Push section shows a message explaining that notifications are blocked and how to unblock in browser settings.
Section F: Cross-Role Scenarios
Assigned to: All testers (coordinated)
These tests require actions from multiple roles in sequence. Coordinate with your fellow testers.
#
Test
Steps
Expected Result
F1
Full booking lifecycle
1. Professional: Create a shift on a future date. 2. Client: Go to Book Appointment, find the new slot, and book it. 3. Professional: Check My Bookings — the new booking appears.
Booking is visible to both Client and Professional. Both receive confirmation emails. If push is enabled, both also receive push notifications.
F2
Admin reassigns booking
1. Admin: Go to Event Bookings, find the booking from F1, and reassign it to a different timeslot.
Client receives “Booking Reassigned” email and push notification (if enabled) with old and new details. Professional(s) receive notifications. Booking details update for Client.
F3
Admin cancels booking
1. Client: Book a new appointment. 2. Admin: Cancel that booking from Event Bookings.
Client receives “Admin Cancellation” email and push (if enabled). Professional receives cancellation notification. Booking disappears from Client’s upcoming list.
F4
Role change notification
1. Admin: Change a test user’s role (e.g., Client → Professional). 2. User: Check email. 3. User: Log out and back in.
User receives “Role Changed” email. After re-login, they are redirected to the new role’s dashboard. Access to the old role’s pages is blocked.
F5
Revert role change
1. Admin: Change the user’s role back to the original.
User receives another email. After re-login, they return to their original dashboard.
Section G: Mobile Testing
Assigned to: All testers (on a phone or tablet)
Repeat your role’s critical path on a mobile device. Focus on usability, not re-testing every feature.
#
Test
Instructions
Expected Result
G1
Login on mobile
Open career-ward.app on your phone’s browser. Log in.
Login page renders correctly. Phone keyboard appears for the number input. SMS code entry works.
G2
Dashboard on mobile
View your role’s dashboard.
Stat cards stack vertically. All content is readable without horizontal scrolling.
G3
Navigation menu
Open the navigation menu (hamburger/menu icon).
Menu opens and all links are tappable. You can navigate to all pages for your role.
G4
Forms on mobile
Complete a key action for your role: Professional → create a shift, Client → book an appointment, Admin → create a resource.
Form fields are usable. Dropdowns, date pickers, and buttons work on touch. No fields are cut off.
G5
Tables on mobile
View a page with a table (shifts, bookings, appointments, users).
Table is scrollable horizontally or adapts to the screen width. Data is readable.
G6
Settings on mobile
Go to Settings and change a preference.
Dropdowns and toggles work on touch. Changes save correctly.
Section H: Email Verification Matrix
Assigned to: All testers — check your inbox for each email type you should have received during testing.
Email notifications are only sent if the user has email notifications enabled (default: on) in Settings → Notification Preferences.
#
Email Type
Trigger
Recipient
Verified?
H1
Welcome
Completing profile setup (Section A)
New user
☐
H2
Booking Confirmation
Client books appointment (D5, F1)
Client
☐
H3
New Booking (Professional)
Client books on your shift (F1)
Professional
☐
H4
Booking Cancelled (Client)
Client cancels appointment (D10)
Client
☐
H5
Booking Cancelled (Professional)
A booking on your shift is cancelled (D10, F3)
Professional
☐
H6
Admin Cancellation
Admin cancels a booking (F3)
Client
☐
H7
Booking Reassigned
Admin reassigns a booking (F2)
Client
☐
H8
Role Changed
Admin changes user role (F4)
Affected user
☐
H9
Test Email
Admin sends test email (B34)
Admin
☐
Note: Account Deletion email is skipped — it requires deleting a user on production.
For each email, verify:
Email was received (check spam/junk folder if not in inbox)
Subject line is clear and relevant
Body contains correct details (names, dates, times, locations)
Assigned to: Client and Professional testers — verify push notifications for each event type. You must have push notifications enabled in Settings before running these tests.
Pre-requisite
Push notifications enabled in Settings → Notification Preferences
Browser permission granted for notifications
#
Push Type
Trigger
Recipient
Click opens
Verified?
HP1
Booking Confirmed
Client books appointment (D5, F1)
Client
/client/appointments
☐
HP2
New Booking (Professional)
Client books on your shift (F1)
Professional
/professional/bookings
☐
HP3
Booking Cancelled (Client)
Client cancels appointment (D10)
Client
/client/appointments
☐
HP4
Booking Cancelled (Professional)
A booking on your shift is cancelled (D10, F3)
Professional
/professional/bookings
☐
HP5
Admin Cancellation
Admin cancels a booking (F3)
Client
/client/appointments
☐
HP6
Booking Reassigned
Admin reassigns a booking (F2)
Client
/client/appointments
☐
For each push notification, verify:
Notification appeared in the browser/OS notification center
Title and body contain correct details (names, dates, times)
Clicking the notification opens Ward and navigates to the correct page
Notification appears even when the Ward tab is not the active tab
Push Opt-in Banner Test
#
Test
Instructions
Expected Result
HP7
Banner appears
Log in as a Client or Professional for the first time (or clear localStorage).
A push notification opt-in banner appears at the top of the page.
HP8
Enable from banner
Click “Enable” on the banner.
Browser prompts for notification permission. After granting, the banner disappears and push is enabled.
HP9
Dismiss banner
Click “Not now” on the banner.
Banner disappears. It does not reappear on subsequent page loads.
HP10
Banner not shown for Admin
Log in as Admin.
No push notification banner is displayed.
Section I: Edge Cases & Error Handling
Assigned to: All testers (pick the ones relevant to your role)
#
Test
Instructions
Expected Result
I1
Unauthorized URL access
While logged in as your role, type a URL for a different role’s page (e.g., Client types career-ward.app/admin/dashboard).
You are redirected to an “Unauthorized” page. You cannot see the other role’s data.
I2
Direct URL while logged out
Sign out. Type career-ward.app/client/dashboard directly.
You are redirected to the login page.
I3
Profile page
Go to your Profile page.
Your name, phone, role (with colored badge), and user ID are displayed correctly.
I4
Legal pages accessible
Visit /privacy, /terms, and /communications while logged out.
All three pages load without requiring login.
I5
Health check
Visit career-ward.app/api/health.
JSON response with {"status":"healthy"} and database connected.
I6
Root URL redirect
Visit career-ward.app/ while logged in.
You are redirected to your role’s dashboard (not a 404 or blank page).
I7
Browser back button
After navigating through several pages, use the browser’s back button.
App navigates correctly without errors or blank pages.
UAT Sign-Off
Once all sections are complete, review the results:
Acceptance Criteria
All critical-path items pass — Sections A, B, C, D core items (login, CRUD, booking lifecycle)
Cross-role scenarios work — Section F confirms end-to-end workflows
Emails are delivered — Section H confirms all email notification types
Push notifications work — Section H-P confirms push delivery, click navigation, and opt-in flow
Mobile is usable — Section G confirms no major layout/usability issues
No blocking bugs remain — All uat-labeled GitHub Issues marked Critical are resolved
Sign-Off Table
Role
Tester
Sections
Status
Date
Admin
_____
A, B, E, F, G, H, I
☐ Pass ☐ Fail
//___
Professional
_____
A, C, E, F, G, H, H-P, I
☐ Pass ☐ Fail
//___
Client
_____
A, D, E, F, G, H, H-P, I
☐ Pass ☐ Fail
//___
Overall UAT Result: ☐ Accepted ☐ Accepted with conditions ☐ Not accepted