Skip to content

Ratepayer App — Authentication Module Acceptance Tests

Test series: RPA-AUTH-01 to RPA-AUTH-15 Objective: Validate that a ratepayer can securely register, sign in by phone or email, verify identity through OTP, recover and change their password, use biometric login, sign out, and complete the onboarding carousel. Mirrors: the web ratepayer-portal/authentication.md module (RPP-AUTH-01 to RPP-AUTH-16), adapted for the app's screens and includes app-only features (onboarding carousel, National ID autofill, biometric login).

Execution ownership

Recommended owners: Ratepayer/Public Portal users; Customer Service observer

Prerequisites: Verified and unverified ratepayer accounts, an eligible phone number and email for OTP, a registered account for password recovery, a device supporting biometrics, and a controlled UAT environment with the app enabled.

Execution control

Use approved UAT data only. Mask personal, authentication, and payment information in screenshots and attachments.

Feature overview

The Authentication module covers the app's identity journey:

  • Onboarding carousel on first launch, with Skip and Create an account shortcuts.
  • Login by phone or email with password, plus Apple, Google, and Microsoft social sign-in.
  • Registration for Individual Owner and Company/Organization, with phone/email OTP verification, including a National ID autofill option.
  • Forgot/Reset Password with OTP verification.
  • Change Password from the More menu / My Profile.
  • Biometric Login toggle for fingerprint/face unlock.
  • Logout and session management.

Coverage summary

Test ID Feature Scenario Priority
RPA-AUTH-01 Login Phone login Critical
RPA-AUTH-02 Login Email login Critical
RPA-AUTH-03 Login Validation and error handling High
RPA-AUTH-04 Login Social login (Google, Apple, Microsoft) High
RPA-AUTH-05 Registration Type selection Critical
RPA-AUTH-06 Registration Individual — Personal Info step Critical
RPA-AUTH-07 Registration National ID autofill High
RPA-AUTH-08 Registration Contact Info & Account Setup step Critical
RPA-AUTH-09 Registration Password strength and confirmation Medium
RPA-AUTH-10 Registration Company/Organization flow High
RPA-AUTH-11 Registration Submission and auto-login Critical
RPA-AUTH-12 Forgot Password Request and reset with OTP Critical
RPA-AUTH-13 Biometric Login Enable and use biometric unlock High
RPA-AUTH-14 Change Password Update signed-in account password High
RPA-AUTH-15 Onboarding Onboarding carousel Medium

Implementation observations requiring UAT confirmation

Observation from screenshots Required validation
The onboarding carousel shows a 5-dot step indicator, a Skip link, and a Create an account shortcut on the first screen. Confirm the total number of onboarding screens and their content, and whether Skip should be available on every screen.
The Personal Info step offers "Enter manually" and "Autofill (National ID)" as two selectable modes. Confirm the data source and behaviour of the autofill option, and what happens if the National ID lookup fails.
Login defaults to the Phone tab with Ghana pre-selected as the country code, distinct from web's default Email tab. Confirm the approved default tab for the app.
Registration is presented as a 2-step wizard (Personal Info, Account Setup) for Individual Owner and a 2-step wizard (Organization Info, Account Setup) for Company, versus the web's 3-step wizard (includes a Review step). Confirm whether a Review step is intentionally omitted for the app, or should be added before final submission.
The password field on Account Setup shows a 5-segment strength meter with four checklist items (length, case, number, symbol) rendered as unchecked circles that presumably fill in as requirements are met. Confirm the approved live-validation behaviour for each checklist item.
Social login icons shown are Apple, Google, and Microsoft; Facebook is not shown, consistent with the web build. Confirm Facebook remains out of scope for the app as well.

RPA-AUTH-01 — Login with phone

Feature overview

A verified ratepayer signs in using their registered phone number and password. The Login screen defaults to the Phone tab with the country selector pre-set to Ghana.

Preconditions

  • A registered and verified ratepayer account with a phone number.
  • A registered but unverified account for negative coverage.
Field Value
Priority Critical
Test action Sign in with a verified registered phone number and password; repeat with an unverified account.
Expected result Verified account opens Home; unverified account is directed to OTP 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
Login with valid phone and password 1. Open the app.
2. Ensure the Phone tab is selected.
3. Enter the registered phone number and correct password.
4. Tap LOG IN.
Success notification appears and the user lands on Home. PASS
Password visibility toggle 1. Tap the eye icon on the password field. The password is shown or hidden. PASS
Login with unverified account 1. Enter credentials for an unverified account.
2. Tap LOG IN.
An OTP is sent and the "Verify Your Identity" step is shown. PASS
Country selector 1. Tap the country flag/code selector. A list of countries is shown; Ghana is pre-selected. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-02 — Login with email

Feature overview

A ratepayer can sign in using their registered email address by switching to the Email tab.

Preconditions

  • An account registered with an email address.
Field Value
Priority Critical
Test action Switch to the Email tab and sign in with a valid email and password.
Expected result Verified account opens Home; unverified account is directed to OTP 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
Login with valid email and password 1. Tap the Email tab.
2. Enter the registered email and password.
3. Tap LOG IN.
Success notification appears and the user lands on Home. PASS
Tab switch resets form 1. Enter data on Phone, switch to Email, then switch back to Phone. Fields are cleared on each switch. PASS
Unknown email 1. Enter an email not associated with any account. An error notification is shown and no session is created. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-03 — Login validation and error handling

Feature overview

The Login screen applies field validation and shows server rejection messages for invalid credentials.

Preconditions

  • Access to Login with an empty form.
  • A valid account with a deliberately incorrect password.
Field Value
Priority High
Test action Submit empty, malformed, and incorrect login data.
Expected result Field-level errors appear for missing/invalid input; server rejections show a clear error notification.
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
Empty phone/email 1. Leave the identifier blank.
2. Tap LOG IN.
A required-field error is shown. PASS
Empty password 1. Enter a valid identifier with an empty password.
2. Tap LOG IN.
A required-field error is shown for the password. PASS
Incorrect password 1. Enter a valid identifier with a wrong password.
2. Tap LOG IN.
An error notification appears; no session is created. PASS
Network failure 1. Trigger a request with no network connectivity. A clear offline/failure message is shown. PASS
In-flight submission 1. Tap LOG IN and observe the button while pending. The button shows a loading state and is disabled until the request completes. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-04 — Social login

Feature overview

The Login screen offers Apple, Google, and Microsoft sign-in as icon buttons below the OR divider.

Preconditions

  • A UAT identity for at least one enabled provider.
Field Value
Priority High
Test action Sign in with each enabled social provider.
Expected result A successful provider login creates a session and opens Home; cancellation or failure shows a safe message.
Execution result FAIL
Evidence reference Insert link or reference
Defect reference Google OAuth credentials not configured — pending setup in Google Cloud Console

Test scenarios

Scenario Test steps Expected result Pass/Fail Remarks
Google sign-in 1. Tap the Google icon.
2. Complete the Google flow.
The user is signed in and lands on Home. FAIL Google sign-in does not complete. The required OAuth client credentials (client ID/secret and the app's signing certificate fingerprint) have not yet been configured in the Google Cloud Console for this application. Credential must be provided by the client.
Apple sign-in 1. Tap the Apple icon.
2. Complete the Apple flow.
The user is signed in and lands on Home. PASS
Microsoft sign-in 1. Tap the Microsoft icon.
2. Complete the provider flow.
The user is signed in and lands on Home. PASS
Cancelled flow 1. Start a provider flow and cancel it. No session is created; the loading state resets. PASS
Provider failure 1. Complete a provider flow the backend rejects. An error notification is shown and no session is created. PASS
Facebook button 1. Inspect the Login screen for a Facebook option. No Facebook option is shown. PASS Consistent with web observation.

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-05 — Registration type selection

Feature overview

The Registration screen asks the user to choose Individual Rate Payer or Company/Organization.

Preconditions

  • Access to the Registration screen (via onboarding Create an account or Login's Sign Up link).
Field Value
Priority Critical
Test action Open Registration and review the type-selection cards.
Expected result Both cards are shown and each opens the correct flow.
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
Type cards 1. Open Registration. "Individual Rate Payer" and "Company/Organization" cards are shown with descriptions. PASS
Enter individual flow 1. Tap the Individual Rate Payer card. "Individual Owner" registration opens on the Personal Info step. PASS
Enter company flow 1. Tap the Company/Organization card. "Company Registration" opens on the Organization Info step. PASS
Back to Login 1. Tap Back to Login. The user returns to the Login screen. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-06 — Individual registration — Personal Info step

Feature overview

Step 1 of Individual Owner registration captures First Name, Middle Name (optional), Surname, Identification Type, and ID Number.

Preconditions

  • A signed-out session on the Individual Owner registration flow.
Field Value
Priority Critical
Test action Complete the Personal Info step.
Expected result Required fields are enforced and the step advances with valid data.
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 fields 1. Leave First Name and Surname empty.
2. Tap Next.
Field-level errors appear for First Name and Surname. PASS
Optional middle name 1. Leave Middle Name empty and complete other required fields.
2. Tap Next.
The step advances without requiring Middle Name. PASS
Identification type 1. Open the Identification Type selector. Ghana Card, Voter ID, Passport, and Driving License options are available. PASS
ID number format 1. Select Ghana Card and enter an ID number. The field guides entry with the GHA-XXXXXXXXX-X placeholder/mask. PASS
Previous 1. Tap Previous. The user returns to the type-selection screen. PASS
Step indicator 1. Inspect the step indicator. "Step 1 of 2" and the Personal Info / Account Setup progress markers are shown. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-07 — National ID autofill

Feature overview

The Personal Info step offers an "Autofill (National ID)" mode as an alternative to manual entry.

Preconditions

  • A signed-out session on the Personal Info step, and a valid National ID for lookup.
Field Value
Priority High
Test action Switch to Autofill mode and complete the lookup.
Expected result A valid ID pre-fills the personal information fields; an invalid ID is handled gracefully.
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
Switch to autofill 1. Tap Autofill (National ID). The form switches to the autofill entry mode. PASS Confirm the resulting UI.
Valid ID lookup 1. Enter a valid National ID and trigger the lookup. First Name, Middle Name, and Surname are pre-filled from the ID. PASS Confirm the data source.
Invalid ID lookup 1. Enter an invalid or unknown ID. A clear error is shown and no fields are filled. PASS
Edit after autofill 1. After a successful autofill, edit a pre-filled field. The field remains editable. PASS Confirm whether fields should be locked after autofill.
Switch back to manual 1. Tap Enter manually after using autofill. The form switches back; confirm whether autofilled data is retained or cleared. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-08 — Contact Info & Account Setup step

Feature overview

Step 2 of Individual Owner registration captures Contact Number, optional Email, Password, and Confirm Password.

Preconditions

  • A completed Personal Info step.
Field Value
Priority Critical
Test action Complete the Contact Info & Account Setup step.
Expected result Required fields are enforced and the account can be submitted.
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 contact number 1. Leave Contact Number empty.
2. Tap Submit.
A required-field error is shown. PASS
Optional email 1. Leave Email Address empty. The form does not block submission for a missing email. PASS
Country code 1. Inspect the Contact Number field. The Ghana flag and country selector are pre-set, matching Login. PASS
Submit button state 1. Inspect the Submit button before required fields are complete. The button is disabled/greyed out. PASS
Step indicator 1. Inspect the step indicator. "Step 2 of 2" is shown with Personal Info marked complete. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-09 — Password strength and confirmation

Feature overview

The password field shows a live strength meter and a checklist (at least 8 characters, upper & lower case, at least one number, at least one symbol). Confirm Password must match.

Preconditions

  • A signed-out session at the Account Setup step.
Field Value
Priority Medium
Test action Enter passwords of varying strength and confirmation values.
Expected result The checklist and strength bar update live; mismatches are 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
Minimum length 1. Enter a password shorter than 8 characters. The "At least 8 characters" checklist item remains unmet and an error is shown on submit. PASS
Checklist items 1. Enter a password meeting each rule incrementally. Each of the four checklist items updates as it is satisfied. PASS
Strength bar 1. Enter passwords of increasing complexity. The 5-segment strength bar fills accordingly. PASS
Visibility toggle 1. Tap the eye icon on Password and Confirm Password. Each field's visibility toggles independently. PASS
Mismatch 1. Enter different Password and Confirm Password values. A "Passwords do not match" error is shown. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-10 — Company/Organization registration flow

Feature overview

The company flow captures Organization Name, Organization Type, Registration No, TIN Number, and Sector/Category in step 1, then contact and account setup in step 2.

Preconditions

  • Access to the Company/Organization registration flow.
Field Value
Priority High
Test action Complete the company registration flow.
Expected result Organization data validates correctly and the flow proceeds to account setup.
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 organization fields 1. Leave Organization Name, Organization Type, Registration No, TIN Number, or Sector/Category empty.
2. Tap Next.
Field-level errors are shown for each missing required field. PASS
Registration number format 1. Enter a registration number. The placeholder format (CS123456789 or BN000123456) guides entry. PASS
TIN number format 1. Enter a TIN number. The placeholder format (TL/AMA/2024/012345) guides entry. PASS
Organization Type options 1. Open the Organization Type selector. A list of organization types is shown. PASS
Sector/Category options 1. Open the Sector/Category selector. A list of sectors/categories is shown. PASS
Proceed to account setup 1. Complete step 1 and tap Next. Step 2 (Contact Info & Account Setup) is shown. PASS
Previous 1. Tap Previous. The user returns to the type-selection screen. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-11 — Registration submission and auto-login

Feature overview

Submitting a completed registration form creates the account, stores the session token, and opens Home automatically.

Preconditions

  • A fully completed Individual or Company registration form with verified phone (and email if entered).
Field Value
Priority Critical
Test action Submit a completed registration and confirm the resulting session.
Expected result Registration succeeds once and the account is auto-logged-in to Home.
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 submission 1. Complete all required fields and tap Submit. A success notification appears; the user lands on Home. PASS
In-flight state 1. Tap Submit and observe the button while pending. The button shows a loading state and is disabled. PASS
Server rejection 1. Submit data the server rejects (e.g., duplicate phone). An error notification is shown; the user remains on the form. PASS
Duplicate account prevention 1. Attempt to register twice with the same phone number. The second attempt is rejected with a clear message. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-12 — Forgot password — request and reset with OTP

Feature overview

The Forgot Password flow accepts the registered identifier, sends an OTP, and allows entry of a new password.

Preconditions

  • A registered account whose identifier is known.
  • Access to the registered phone/email for the OTP.
Field Value
Priority Critical
Test action Request an OTP and reset the password.
Expected result A valid identifier and OTP allow the password to be reset; invalid data 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
Request OTP 1. Tap Forgot Password? on Login.
2. Enter a registered identifier.
3. Submit.
An OTP is sent and the OTP entry step is shown. PASS
Unknown identifier 1. Enter an unregistered identifier and submit. An error is shown; no OTP is sent. PASS
Reset with correct OTP 1. Enter the received OTP, a new password, and confirmation.
2. Submit.
The password is reset and the user returns to Login. PASS
Incorrect OTP 1. Enter a wrong OTP and submit. An error notification is shown. PASS
Weak new password 1. Enter a new password below 8 characters. A field error is shown. PASS
Password mismatch 1. Enter mismatched new/confirm passwords. A "Passwords do not match" error is shown. PASS
Login with new password 1. Sign in using the newly reset password. Login succeeds and Home opens. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-13 — Biometric login

Feature overview

The More menu offers a Biometric Login toggle that lets the ratepayer use fingerprint or face recognition to open the app on the device.

Preconditions

  • A signed-in ratepayer on a device that supports biometric authentication with at least one biometric enrolled.
Field Value
Priority High
Test action Enable biometric login and use it to unlock the app.
Expected result Biometric unlock opens the app only after a successful match; failure falls back to password login.
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
Enable toggle 1. Open More and turn on Biometric Login. The OS biometric enrollment/consent prompt is shown and the toggle turns on upon success. PASS
Unlock with correct biometric 1. Close and reopen the app with biometric login enabled.
2. Present a valid fingerprint/face.
The app unlocks directly to Home without a password prompt. PASS
Unlock with incorrect biometric 1. Present a non-enrolled fingerprint/face. The unlock attempt fails and the password login form remains available. PASS
No biometrics enrolled 1. Attempt to enable the toggle on a device with no enrolled biometrics. A clear message directs the user to enrol biometrics in device settings. PASS
Disable toggle 1. Turn off Biometric Login. Subsequent app opens require the password/OTP login flow. PASS
Session expiry 1. Let the stored session expire, then attempt biometric unlock. The user is returned to full login rather than being granted access. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

RPA-AUTH-14 — Change password

Feature overview

A signed-in ratepayer can change their password from the More menu or My Profile.

Preconditions

  • A signed-in ratepayer session.
Field Value
Priority High
Test action Change the account password.
Expected result A valid change succeeds and the form clears; validation and server rejections 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
Successful change 1. Open More → Change Password.
2. Enter old, new, and confirmation passwords.
3. Submit.
A success message is shown and the form clears. PASS
Missing old password 1. Submit with an empty old password. A required-field error is shown. PASS
Weak new password 1. Enter a new password below 8 characters. A field error is shown. PASS
Mismatched confirmation 1. Enter non-matching new/confirm passwords. A "Passwords do not match" error is shown. PASS
Wrong old password 1. Submit with an incorrect old password. A server error message is shown; the password is not changed. PASS
Entry from Profile 1. Open My Profile and tap the equivalent change-password action. The Change Password screen opens. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.

Feature overview

On first launch, a carousel introduces the app with a step indicator, a Skip shortcut, and a Create an account shortcut.

Preconditions

  • A fresh app install or cleared app data.
Field Value
Priority Medium
Test action Step through and skip the onboarding carousel.
Expected result Carousel content is accurate and each shortcut works 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
First screen content 1. Launch the app for the first time. The iDARMS logo, "Welcome to iDARMS" title, and description are shown with a NEXT button. PASS
Step indicator 1. Inspect the dot indicator. It reflects the current step out of the total carousel screens. PASS
Next through carousel 1. Tap NEXT repeatedly. Each screen advances correctly through all steps. PASS
Skip 1. Tap Skip on the first screen. The user is taken directly to Login. PASS
Create an account 1. Tap Create an account. The user is taken to Registration. PASS
Repeat launch 1. Complete or skip onboarding, close, and relaunch the app. Confirm whether onboarding reappears or the app goes straight to Login. PASS

Tester notes

Record actual result, test data identifiers, device/OS/build, and any variance.