Ratepayer Portal — Account Settings / Profile Management Module Acceptance Tests¶
Test series: RPP-SET-01 to RPP-SET-16
Objective: Validate that a ratepayer can view and manage their profile, complete missing profile fields with verification, and keep profile completion accurate across individual and organization accounts.
Execution ownership¶
Recommended owners: Ratepayer/Public Portal users; Customer Service observer
Prerequisites: A signed-in ratepayer with an incomplete profile, an individual and an organization account, eligible phone/email for OTP verification, and controlled profile data.
Execution control
Use approved UAT data only. Mask personal, authentication, and payment information in screenshots and attachments.
Feature overview¶
The Account Settings module covers the ratepayer's profile and security area at /settings:
- Profile Information tab with profile header, personal, identification & contact, and address sections for individual accounts.
- Organization Information, Contact, and Address sections for organization accounts.
- Edit modals for each section with validation and phone/email OTP verification.
- Profile completion percentage and missing-field alerts.
- Security tab with Change Password (covered under Authentication,
RPP-AUTH-12).
Coverage summary¶
| Test ID | Feature | Scenario | Priority |
|---|---|---|---|
| RPP-SET-01 | Account Settings | Page and navigation | Critical |
| RPP-SET-02 | Profile Information | Profile display | Critical |
| RPP-SET-03 | Profile Information | Completion and missing-field alerts | Critical |
| RPP-SET-04 | Edit Profile | Personal information | High |
| RPP-SET-05 | Edit Profile | Identification and contact | High |
| RPP-SET-06 | Verification | Phone verification | Critical |
| RPP-SET-07 | Verification | Email verification | High |
| RPP-SET-08 | Edit Profile | Present address | High |
| RPP-SET-09 | Edit Profile | Permanent address and "Same as present address" | High |
| RPP-SET-10 | Edit Profile | Region/district dependency | High |
| RPP-SET-11 | Organization | Organization profile sections | High |
| RPP-SET-12 | Organization | Organization information edit | High |
| RPP-SET-13 | Organization | Contact information edit | High |
| RPP-SET-14 | Organization | Organization address edit | High |
| RPP-SET-15 | Edit Profile | Validation rules | Critical |
| RPP-SET-16 | Edit Profile | Success and error messages | Critical |
Implementation observations requiring UAT confirmation¶
| Observation from implementation | Required validation |
|---|---|
| Email is optional in the identification/contact edit forms; phone is required. | Confirm the approved required-field matrix for profile contact. |
| The Date of Birth and Gender fields are optional in the personal edit form. | Confirm whether these are expected to be mandatory. |
| Full Name is disabled and auto-populated from the name fields in the personal edit form. | Confirm the approved full-name behaviour. |
| The verified badge display is commented out and is not shown in the profile header. | Confirm whether a verification indicator is expected. |
Profile completion is driven by the empty_fields list returned by the server and reflected in alerts per section. |
Confirm the approved completion logic. |
| The Country field defaults to Ghana in the address forms. | Confirm the approved default country. |
| The Security tab (Change Password) is covered under the Authentication module. | Confirm cross-referencing is acceptable. |
RPP-SET-01 — Account Settings page and navigation¶
Feature overview¶
The Account Settings page at /settings opens on the Profile Information tab and provides a Security tab for password changes.
Preconditions
- A signed-in ratepayer.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open Account Settings and review the tabs. |
| Expected result | The page opens on Profile Information with Security available. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open settings | 1. Open /settings. |
"Account Settings" is shown with the Profile Information tab active. | PASS |
|
| Security tab | 1. Click the Security tab. | The Change Password card is shown. | PASS |
Covered in RPP-AUTH-12. |
| Sidebar navigation | 1. Click Settings in the sidebar. | The user is redirected to /settings. |
PASS |
|
| User menu navigation | 1. Open the user popover and click Profile or Change Password. | The user is redirected to /settings. |
PASS |
|
| Dashboard quick action | 1. On the dashboard, click the Settings quick action. | The user is redirected to /settings. |
PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-02 — Profile information display¶
Feature overview¶
The Profile Information tab shows a header with the profile-completion avatar, name, type tag, email, and phone, followed by the profile sections.
Preconditions
- A signed-in ratepayer with a complete or incomplete profile.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Review the profile header and sections. |
| Expected result | The header and sections reflect the stored profile. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Profile header | 1. Inspect the profile header. | Avatar with completion ring, name, Individual/Organization tag, email, and phone are shown. | PASS |
|
| Individual sections | 1. For an individual account, inspect the sections. | Personal Information, Identification & Contact, and Address Information cards are shown. | PASS |
|
| Organization sections | 1. For an organization account, inspect the sections. | Organization Information, Contact Information, and Organization Address cards are shown. | PASS |
|
| Display values | 1. Compare displayed values with the stored profile. | Values match the profile data. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-03 — Profile completion and missing-field alerts¶
Feature overview¶
The profile header shows a completion percentage, and each section shows a warning alert listing missing fields.
Preconditions
- A signed-in ratepayer with an incomplete profile.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Review the completion percentage and missing-field alerts. |
| Expected result | Completion reflects the profile and alerts name the missing fields. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Completion ring | 1. Inspect the profile avatar ring. | The completion percentage is shown around the avatar. | PASS |
|
| Personal alert | 1. Inspect the Personal Information card with missing fields. | A "Missing Information" alert lists the missing fields. | PASS |
|
| Identification alert | 1. Inspect the Identification & Contact card. | Missing identification/contact fields are listed. | PASS |
|
| Address alert | 1. Inspect the Address Information card. | Missing addresses are listed. | PASS |
|
| Organization alerts | 1. For an organization account, inspect each section. | Missing organization, contact, and address fields are listed. | PASS |
|
| Completion updates | 1. Complete a missing field and save. | The completion percentage updates after the profile refreshes. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-04 — Edit personal information¶
Feature overview¶
The Personal Information edit modal updates the individual's first name, middle name, surname, full name, date of birth, and gender.
Preconditions
- A signed-in individual ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Edit the personal information section. |
| Expected result | Valid updates save and the display refreshes. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open personal edit | 1. Click Edit on Personal Information. | The edit modal opens with the current values. | PASS |
|
| Name fields | 1. Update first name, middle name, and surname. | Full Name is auto-populated from the name fields. | PASS |
Full name is disabled. |
| Date of birth | 1. Select a date of birth. | A date below the 18-year minimum is rejected. | PASS |
|
| Save changes | 1. Click Save Changes. | A success notification appears and the display updates. | PASS |
|
| Cancel | 1. Click outside or cancel the modal. | The modal closes without changes. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-05 — Edit identification and contact¶
Feature overview¶
The Identification & Contact edit modal updates the identification type, identification number, phone, and email for individual accounts.
Preconditions
- A signed-in individual ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Edit the identification and contact section. |
| Expected result | Valid updates save and verification states are respected. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open identification edit | 1. Click Edit on Identification & Contact. | The edit modal opens with current identification and contact values. | PASS |
|
| Identification type | 1. Select an identification type. | The ID number field adapts (Ghana Card, Voter ID, Passport, Driving License). | PASS |
|
| ID number | 1. Enter an identification number. | The number is validated per type. | PASS |
|
| Phone and email | 1. Review the phone and email fields. | Phone is required; email is optional. | PASS |
See RPP-SET-06 and RPP-SET-07. |
| Save changes | 1. Click Save Changes. | A success notification appears and the display updates. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-06 — Phone verification in profile¶
Feature overview¶
The phone field is verified through an OTP before changes are considered valid, using the same verification component as registration.
Preconditions
- A signed-in ratepayer at the identification or contact edit form.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Verify a phone number using OTP. |
| Expected result | Correct OTP marks the phone verified; invalid OTP is rejected. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Send OTP | 1. Enter a phone number and click Verify Now. | "OTP sent successfully" is shown and the verification modal opens. | PASS |
Uses /sys/sendphoneotp. |
| Correct OTP | 1. Enter the received code and verify. | "Phone verified successfully" is shown and the phone is marked verified. | PASS |
Uses /sys/phoneotpvalidate. |
| Incorrect OTP | 1. Enter a wrong code. | An invalid-OTP error is shown. | PASS |
|
| Resend | 1. Click Resend Code during the countdown. | Resend is disabled until the countdown finishes. | PASS |
|
| Short number | 1. Enter a phone below the minimum length. | "Please enter a valid phone number" error is shown. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-07 — Email verification in profile¶
Feature overview¶
The email field is optional but, when entered, is verified through an OTP.
Preconditions
- A signed-in ratepayer at the identification or contact edit form.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Verify an email address using OTP. |
| Expected result | Valid emails are verified; invalid or unverified emails are handled. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Invalid email | 1. Enter a malformed email address. | "Email is not valid" is shown. | PASS |
|
| Send OTP | 1. Enter a valid email and click Verify Now. | "OTP sent successfully" is shown and the verification modal opens. | PASS |
Uses /sys/sendemailotp. |
| Correct OTP | 1. Enter the received code and verify. | "Email verified successfully" is shown. | PASS |
Uses /sys/emailotpvalidate. |
| Blank email | 1. Leave the email field empty. | The form can proceed without email. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-08 — Edit present address¶
Feature overview¶
The Address edit modal includes a Present Address card with full address, house/plot number, landmark, town, village, electoral area, traditional authority, postal address, post code, region, district, and country.
Preconditions
- A signed-in individual ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Edit the present address. |
| Expected result | Valid address data saves and displays correctly. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open address edit | 1. Click Edit on Address Information. | The modal opens with Present and Permanent Address cards. | PASS |
|
| Address fields | 1. Enter the present address fields. | Required fields are validated; optional fields are accepted. | PASS |
|
| Post code | 1. Enter a post/digital code. | The value is captured. | PASS |
|
| Country default | 1. Review the country field. | The country defaults to Ghana. | PASS |
|
| Save changes | 1. Click Save Changes. | A success notification appears and the address display updates. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-09 — Permanent address and "Same as present address"¶
Feature overview¶
The Permanent Address card can be completed independently or copied from the present address using the "Same as present address" option.
Preconditions
- A signed-in individual ratepayer at the Address edit modal.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Complete the permanent address, with and without the "Same as present address" option. |
| Expected result | Permanent address is captured correctly in both cases. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Independent permanent address | 1. Enter the permanent address fields without the option. | The permanent address is saved separately. | PASS |
|
| Same as present address | 1. Tick Same as present address. | Present address values are copied to the permanent fields and the permanent fields become disabled. | PASS |
|
| Required validation | 1. Leave required permanent fields empty without the option. | Required-field errors are shown. | PASS |
|
| Untick option | 1. Untick the option after copying. | Permanent fields are re-enabled for editing. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-10 — Region/district dependency¶
Feature overview¶
Selecting a region loads the district list for that region; the district selector is disabled until a region is selected.
Preconditions
- A signed-in ratepayer at the Address edit modal.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Select regions and districts in the address forms. |
| Expected result | District options load for the selected region. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| District disabled | 1. Open the district selector before selecting a region. | The district selector is disabled. | PASS |
|
| Region selection | 1. Select a region. | Districts load for the selected region. | PASS |
|
| District selection | 1. Select a district. | The district is captured. | PASS |
|
| Change region | 1. Change the region. | The district list updates. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-11 — Organization profile sections¶
Feature overview¶
Organization accounts show Organization Information, Contact Information, and Organization Address sections.
Preconditions
- A signed-in organization ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Review the organization profile sections. |
| Expected result | The sections reflect the stored organization profile. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Organization header | 1. Inspect the profile header. | The organization name and an Organization tag are shown. | PASS |
|
| Organization information | 1. Inspect the Organization Information card. | Name, type, registration number, TIN, and category are shown. | PASS |
|
| Contact information | 1. Inspect the Contact Information card. | Phone and email are shown. | PASS |
|
| Organization address | 1. Inspect the Organization Address card. | The formatted address is shown. | PASS |
|
| Missing-field alerts | 1. Review alerts for missing organization fields. | Missing fields are listed per section. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-12 — Organization information edit¶
Feature overview¶
The Organization Information edit modal updates the organization name, type, registration number, TIN number, and sector/category.
Preconditions
- A signed-in organization ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Edit the organization information. |
| Expected result | Valid updates save and the display refreshes. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open organization edit | 1. Click Edit on Organization Information. | The edit modal opens with the current values. | PASS |
|
| Required fields | 1. Leave required fields empty. | Required-field errors are shown. | PASS |
|
| TIN validation | 1. Enter a TIN that is not 9 digits. | The TIN length is validated. | PASS |
|
| Save changes | 1. Click Save Changes. | A success notification appears and the display updates. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-13 — Organization contact information edit¶
Feature overview¶
The Contact Information edit modal updates the organization's phone and email, both verified through OTP.
Preconditions
- A signed-in organization ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Edit the organization contact information. |
| Expected result | Phone and email updates save with verification. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open contact edit | 1. Click Edit on Contact Information. | The edit modal opens with the current phone and email. | PASS |
|
| Phone verification | 1. Verify the phone number via OTP. | The phone is verified. | PASS |
|
| Email verification | 1. Verify the email via OTP. | The email is verified. | PASS |
|
| Save changes | 1. Click Save Changes. | A success notification appears and the display updates. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-14 — Organization address edit¶
Feature overview¶
The Organization Address edit modal captures the full address, house/building number, landmark, town, village, electoral area, traditional authority, postal address, digital address, region, and district.
Preconditions
- A signed-in organization ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Edit the organization address. |
| Expected result | Valid address data saves and displays correctly. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Open address edit | 1. Click Edit on Organization Address. | The edit modal opens with the organization address fields. | PASS |
|
| Address fields | 1. Enter the organization address fields. | Required fields are validated. | PASS |
|
| Region/district | 1. Select a region and district. | Districts load for the selected region. | PASS |
|
| Save changes | 1. Click Save Changes. | A success notification appears and the address display updates. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-15 — Profile update validation rules¶
Feature overview¶
The edit forms validate required fields, field formats, and dependent selectors before saving.
Preconditions
- A signed-in ratepayer at any profile edit modal.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Attempt invalid profile updates. |
| Expected result | Invalid data is rejected with field-level errors. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Required names | 1. Clear the required first name or surname. | A required-field error is shown. | PASS |
|
| Date of birth | 1. Select a date below the minimum age. | The date is rejected. | PASS |
|
| ID number | 1. Enter an invalid identification number. | The ID number is validated per type. | PASS |
|
| Phone length | 1. Enter a phone below the minimum length. | "Please enter a valid phone number" error is shown. | PASS |
|
| Email format | 1. Enter a malformed email. | "Email is not valid" is shown. | PASS |
|
| Region/district | 1. Try to save with a missing required region or district. | Required-field errors are shown. | PASS |
|
| Server input errors | 1. Trigger a server validation rejection. | Server input errors appear on the relevant fields. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-SET-16 — Profile update success and error messages¶
Feature overview¶
A successful update shows a confirmation, closes the modal, refreshes the profile, and updates the profile-completion state used by the dashboard.
Preconditions
- A signed-in ratepayer with a changeable profile field.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Save a valid profile update and trigger an error. |
| Expected result | Success and error messages are clear and the profile refreshes. |
| Execution result | PASS |
| Evidence reference | Insert link or reference |
| Defect reference | Insert ID or None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Successful update | 1. Edit a field and click Save Changes. | "Profile Updated" notification appears and the display refreshes. | PASS |
PATCH to /web/profileupdate. |
| Completion refresh | 1. Complete a missing field and revisit the dashboard. | The profile-completion percentage reflects the update. | PASS |
|
| Update failure | 1. Trigger a server error while saving. | "Update Failed" notification is shown. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.