Ratepayer Portal — Portal Navigation Module Acceptance Tests¶
Test series: RPP-NAV-01 to RPP-NAV-10
Objective: Validate that the ratepayer can navigate the portal through the sidebar and user menu, that protected routes enforce sign-in, and that navigation, logout, and error pages behave correctly.
Execution ownership¶
Recommended owners: Ratepayer/Public Portal users; Customer Service observer
Prerequisites: A signed-in ratepayer and a signed-out browser session for route-protection checks.
Execution control
Use approved UAT data only. Mask personal, authentication, and payment information in screenshots and attachments.
Feature overview¶
The Portal Navigation module covers the ratepayer's navigation experience:
- Sidebar navigation with the portal's main sections.
- Active menu highlighting for the current route.
- Protected routes that redirect unauthenticated users to login.
- User menu with profile, change-password, and logout actions.
- Logout that clears the session and returns to login.
- Page-specific breadcrumbs on Bill and Payment details.
- 404 page for unknown routes.
Coverage summary¶
| Test ID | Feature | Scenario | Priority |
|---|---|---|---|
| RPP-NAV-01 | Sidebar Navigation | Sidebar menu | Critical |
| RPP-NAV-02 | Sidebar Navigation | Active menu state | High |
| RPP-NAV-03 | Route Navigation | Between modules | Critical |
| RPP-NAV-04 | Protected Routes | Route protection | Critical |
| RPP-NAV-05 | User Menu | User and profile menu | High |
| RPP-NAV-06 | Logout | Sign out | Critical |
| RPP-NAV-07 | Breadcrumbs | Page breadcrumbs | Medium |
| RPP-NAV-08 | 404 Page | Unknown route | Medium |
| RPP-NAV-09 | Access | Unauthorized access | High |
| RPP-NAV-10 | Layout | Root redirect and layout | Medium |
Implementation observations requiring UAT confirmation¶
| Observation from implementation | Required validation |
|---|---|
| The active default layout uses the iPRMS-style sidebar with Home, Properties, Bill, Payment, Reports, Disputes, Help & Support, Settings, and Logout. An alternative server-driven menu sidebar exists in other layout variants. | Confirm the approved sidebar source for the release. |
| Breadcrumbs are page-specific (Bill Details, Payment Details, Create Dispute); there is no global breadcrumb component. | Confirm whether a global breadcrumb is expected. |
| The 404 page includes a search box and a "Go to home" button. | Confirm the approved error-page content. |
On the root path /, the layout redirects to /dashboard. |
Confirm the approved landing route. |
| During route protection, the loading state renders an empty fragment before redirect. | Confirm the approved loading behaviour. |
RPP-NAV-01 — Sidebar menu¶
Feature overview¶
The left sidebar provides the portal's main navigation: Home, Properties, Bill, Payment, Reports, Disputes, Help & Support, Settings, and Logout.
Preconditions
- A signed-in ratepayer.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Review the sidebar menu. |
| Expected result | All sidebar items are shown and navigate 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 |
|---|---|---|---|---|
| Menu items | 1. Inspect the sidebar. | Home, Properties, Bill, Payment, Reports, Disputes, Help & Support, Settings, and Logout are shown. | PASS |
|
| Home | 1. Click Home. | The user is redirected to /dashboard. |
PASS |
|
| Properties | 1. Click Properties. | The user is redirected to /properties. |
PASS |
|
| Bill | 1. Click Bill. | The user is redirected to /bill. |
PASS |
|
| Payment | 1. Click Payment. | The user is redirected to /payment. |
PASS |
|
| Reports | 1. Click Reports. | The user is redirected to /reports. |
PASS |
|
| Disputes | 1. Click Disputes. | The user is redirected to /disputes. |
PASS |
|
| Help & Support | 1. Click Help & Support. | The user is redirected to /help. |
PASS |
|
| Settings | 1. Click Settings. | The user is redirected to /settings. |
PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-02 — Active menu state¶
Feature overview¶
The sidebar highlights the item that matches the current route.
Preconditions
- A signed-in ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Move between routes and check the highlighted menu item. |
| Expected result | The active sidebar item matches the current page. |
| 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 |
|---|---|---|---|---|
| Exact route | 1. Open /payment. |
The Payment item is active. | PASS |
|
| Child route | 1. Open /paymentdetails/<id>. |
The Payment item remains active. | PASS |
|
| Refresh | 1. Refresh the page on a route. | The correct item remains active. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-03 — Route navigation between modules¶
Feature overview¶
Users can move between modules through sidebar links, page links, and buttons.
Preconditions
- A signed-in ratepayer with data in the relevant modules.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Navigate between modules. |
| Expected result | Links and buttons open the correct pages. |
| 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 |
|---|---|---|---|---|
| Bill to details | 1. On /bill, click a bill number or View. |
The user is redirected to /bill/<id>. |
PASS |
|
| Details to bill list | 1. On a bill details page, click Back. | The user returns to /bill. |
PASS |
|
| Payment to details | 1. On /payment, open a payment. |
The user is redirected to the payment details page. | PASS |
|
| Dashboard quick actions | 1. On /dashboard, use a quick action. |
The user is redirected to the chosen page. | PASS |
|
| Browser back/forward | 1. Use the browser back and forward buttons. | Navigation history works between pages. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-04 — Protected routes¶
Feature overview¶
Authenticated pages are protected; unauthenticated users are redirected to the login page.
Preconditions
- A signed-out browser session and protected page URLs.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open protected routes while signed out. |
| Expected result | The user is redirected to /auth/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 |
|---|---|---|---|---|
| Dashboard | 1. Open /dashboard while signed out. |
The user is redirected to /auth/login. |
PASS |
|
| Properties | 1. Open /properties while signed out. |
The user is redirected to /auth/login. |
PASS |
|
| Bill | 1. Open /bill while signed out. |
The user is redirected to /auth/login. |
PASS |
|
| Payment | 1. Open /payment while signed out. |
The user is redirected to /auth/login. |
PASS |
|
| Reports | 1. Open /reports while signed out. |
The user is redirected to /auth/login. |
PASS |
|
| Disputes | 1. Open /disputes while signed out. |
The user is redirected to /auth/login. |
PASS |
|
| Settings | 1. Open /settings while signed out. |
The user is redirected to /auth/login. |
PASS |
|
| Help | 1. Open /help while signed out. |
The user is redirected to /auth/login. |
PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-05 — User and profile menu¶
Feature overview¶
The user popover in the header shows the profile completion ring, name, and email, with a menu for Profile, Change Password, and Logout.
Preconditions
- A signed-in ratepayer.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Open the user menu and use its options. |
| Expected result | The menu shows the profile and its actions work. |
| 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 user menu | 1. Click the user area in the header. | The profile card with name and email and the menu open. | PASS |
|
| Profile option | 1. Click Profile. | The user is redirected to /settings. |
PASS |
|
| Change Password option | 1. Click Change Password. | The user is redirected to /settings. |
PASS |
|
| Profile completion ring | 1. Inspect the avatar. | The profile-completion ring is shown when available. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-06 — Logout¶
Feature overview¶
Logout ends the session, clears local auth data, and returns the user to the login page.
Preconditions
- A signed-in ratepayer.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Log out from the portal. |
| Expected result | The session ends and the user is redirected to 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 |
|---|---|---|---|---|
| Logout from sidebar | 1. Click Logout in the sidebar. | The user is redirected to /auth/login. |
PASS |
|
| Logout from user menu | 1. Open the user menu and click Logout. | The user is redirected to /auth/login. |
PASS |
|
| Session cleared | 1. After logout, open a protected page. | The user is redirected to the login page. | PASS |
|
| Refresh after logout | 1. Refresh the browser after logout. | The user remains signed out. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-07 — Page breadcrumbs¶
Feature overview¶
Bill Details and Payment Details pages show breadcrumbs back to their module, and the Create Dispute page shows a text path.
Preconditions
- A signed-in ratepayer with a bill and a payment.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Review the breadcrumbs on the details pages. |
| Expected result | Breadcrumbs link back to the correct pages. |
| 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 |
|---|---|---|---|---|
| Bill details breadcrumb | 1. Open a bill details page. | Dashboard → All Bills → Bill Details is shown. | PASS |
|
| Payment details breadcrumb | 1. Open a payment details page. | Dashboard → Payment → Payment Details is shown. | PASS |
|
| Create dispute breadcrumb | 1. Open /disputes/create. |
"My Disputes > Create Dispute" is shown. | PASS |
|
| Breadcrumb navigation | 1. Click an intermediate breadcrumb item. | The user is redirected to the corresponding page. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-08 — 404 page¶
Feature overview¶
Unknown routes show the Not Found page with a "Go to home" action.
Preconditions
- A signed-in or signed-out browser session.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Open an unknown route. |
| Expected result | The 404 page is shown. |
| 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 |
|---|---|---|---|---|
| Unknown route | 1. Open a non-existent URL. | "Oops, an error has occurred. Page not found!" is shown. | PASS |
|
| Go to home | 1. Click Go to home. | The user is redirected to /dashboard. |
PASS |
|
| Search box | 1. Inspect the 404 page. | A search box is shown. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-09 — Unauthorized access¶
Feature overview¶
Protected pages and data cannot be accessed by an unauthenticated user, including through direct URLs and browser history.
Preconditions
- A signed-out session and knowledge of protected URLs.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Attempt to access protected content directly. |
| Expected result | Access is denied and the user is redirected to 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 |
|---|---|---|---|---|
| Direct URL | 1. Type a protected URL directly in the address bar. | The user is redirected to /auth/login. |
PASS |
|
| Browser history | 1. After logout, use browser Back. | No protected content is exposed. | PASS |
|
| Public routes | 1. Open a public route, such as a receipt, while signed out. | The public page is accessible. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
RPP-NAV-10 — Root redirect and layout¶
Feature overview¶
The root path redirects to the dashboard, and signed-in pages render inside the portal layout with header, sidebar, and footer.
Preconditions
- A signed-in ratepayer.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Open the root path and review the layout. |
| Expected result | The root redirects to the dashboard and the layout renders 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 |
|---|---|---|---|---|
| Root redirect | 1. Open / while signed in. |
The user is redirected to /dashboard. |
PASS |
|
| Layout parts | 1. Inspect a signed-in page. | Header, sidebar, and content render in the layout. | PASS |
|
| Sidebar width | 1. Inspect the sidebar. | The compact iPRMS-style sidebar is shown. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.