Partners Portal (LVD) — Dashboard Module Acceptance Tests¶
Test series: LVD-DSH-01 to LVD-DSH-08
Objective: Validate that the partner dashboard loads after sign-in, displays summary statistics with inline charts, provides quick-access navigation to the portal's core functions, and renders the recent-changes/records table with working pagination.
Execution ownership¶
Recommended owners: Partner/Company users; LVD business owner
Prerequisites: A signed-in partner session, the IPRMS layout with the 120px sidebar, and controlled property-rate/LVD reference data.
Execution control
Use approved UAT data only. Mask personal, authentication, and payment information in screenshots and attachments.
Feature overview¶
The Dashboard is the landing page shown after sign-in (/dashboard, also served at /):
- Header with a breadcrumb, the dashboard title and subtitle, a global search box, and a refresh button.
- KPI summary cards showing Total Properties, Unassigned Properties, Imports (This Year), and Last Adjusted, three of which include inline sparkline charts.
- Quick actions that provide shortcut cards to Entities, Property Rate Import, Change History, Rate Modify, Approvals, Partners, Reports, and Settings.
- Recent Changes table listing property-rate/LVD records with account, block, address, zone, rateable value, impost, owner, contact, and revenue columns, plus full pagination controls.
The module contains no data-entry forms; therefore no field validation rules or success/error notifications apply to the dashboard itself. All displayed values are hardcoded demo data; no API call is made.
Coverage summary¶
| Test ID | Feature | Scenario | Priority |
|---|---|---|---|
| LVD-DSH-01 | Dashboard | Overview and navigation | Critical |
| LVD-DSH-02 | Header Toolbar | Search and refresh | High |
| LVD-DSH-03 | Summary Cards | KPI statistics | Critical |
| LVD-DSH-04 | Charts | KPI sparklines | Medium |
| LVD-DSH-05 | Quick Actions | Quick-action cards | High |
| LVD-DSH-06 | Recent Changes | Data columns and rendering | Critical |
| LVD-DSH-07 | Recent Changes | Pagination and layout | High |
| LVD-DSH-08 | Dashboard Data | Data source and loading | Medium |
Implementation observations requiring UAT confirmation¶
| Observation from implementation | Required validation |
|---|---|
All KPI values, quick-action data, and table rows are hardcoded demo data (component defaults and a static LVDData array); no API call is made. |
Confirm whether the dashboard should consume a live partner/LVD endpoint in the release. |
The Quick Action cards render with an Open button and are keyboard-focusable, but the onAction callback is not wired when the dashboard is mounted via the Page wrapper; clicking a card or button produces no navigation and no message. |
Confirm the approved destination for each quick action. |
| The card titled "Recent Changes" displays LVD property-rate records (Account No, Zone, Rateable Value, Owner, etc.) rather than change-history entries, and the View All button calls an un-wired handler. | Confirm the intended content of the Recent Changes section. |
| The KPI label reads "Unassest Properties" in the code (spelling of "Unassigned"). | Confirm the approved label text. |
| The global search box (placeholder "Search entities / property / uploads") has no filtering logic; typing or clearing the box has no effect on the page. | Confirm whether entity/property search is expected to filter the table. |
The Refresh button reloads the entire page (window.location.reload()). |
Confirm the approved refresh behaviour. |
An alternate Dashboard component (Dashboard.tsx with Welcome, Summary, Quick Actions grid, Payment History, My Properties, and Chart.js charts) exists in the module but is not registered in the router; the running portal uses DemoDashboard. |
Confirm which dashboard is in scope for the release. |
The page title is "{partnerName} Dashboard" with a default of "Partner", and the breadcrumb reads Home / Partner Portal. |
Confirm the approved partner display name and breadcrumb. |
LVD-DSH-01 — Dashboard overview and navigation¶
Feature overview¶
The Dashboard at /dashboard (also served at /) is the landing page after sign-in and is protected by authentication. It shows a breadcrumb, the dashboard title and subtitle, the header toolbar, KPI cards, quick actions, and the Recent Changes table within the IPRMS layout.
Preconditions
- A signed-in partner user.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open the dashboard after sign-in and after direct navigation. |
| Expected result | The dashboard loads with its header, KPI, quick action, and table sections. |
| 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 |
|---|---|---|---|---|
| After sign-in | 1. Sign in with a valid account. | The user is redirected to the dashboard. | PASS |
|
| Root path | 1. Open / while signed in. |
The dashboard is displayed. | PASS |
|
| Protected access | 1. Open /dashboard while signed out. |
The user is redirected to the login page. | PASS |
|
| Title and breadcrumb | 1. Inspect the page header. | The breadcrumb reads Home / Partner Portal and the title is "Partner Dashboard" with the subtitle "Quick access to entities, rate imports, approvals and change history." | PASS |
Default partner name is "Partner". |
| Section layout | 1. Inspect the dashboard layout. | KPI cards, quick actions, and the Recent Changes table are shown in order. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-DSH-02 — Header toolbar — search and refresh¶
Feature overview¶
The header toolbar contains a global search box ("Search entities / property / uploads") with a clear action and a refresh button.
Preconditions
- A signed-in partner user on the dashboard.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Type in the search box and use the refresh button. |
| Expected result | The search box accepts and clears input; the refresh button reloads the 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 |
|---|---|---|---|---|
| Search input | 1. Type text in the search box. | The input accepts the text; no filtering occurs in the current build. | PASS |
See observations. |
| Clear search | 1. Click the clear (X) control. | The search box is cleared. | PASS |
|
| Refresh | 1. Click the refresh button. | The page reloads. | PASS |
Uses window.location.reload(). |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-DSH-03 — KPI summary cards¶
Feature overview¶
Four KPI cards show Total Properties, Unassigned Properties, Imports (This Year), and Last Adjusted. Three cards include a small sparkline chart beneath the value.
Preconditions
- A signed-in partner user on the dashboard.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Review the four KPI cards. |
| Expected result | The cards render with the expected titles and values. |
| 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 |
|---|---|---|---|---|
| Total Properties | 1. Inspect the first card. | The card is titled Total Properties and shows the total count with an area sparkline. | PASS |
Demo value 12,840. |
| Unassigned Properties | 1. Inspect the second card. | The card is titled Unassest Properties and shows the count with a line sparkline. | PASS |
Label spelling to confirm; demo value 7. |
| Imports (This Year) | 1. Inspect the third card. | The card is titled Imports (This Year) and shows the count with a bar sparkline. | PASS |
Demo value 5. |
| Last Adjusted | 1. Inspect the fourth card. | The card is titled Last Adjusted and shows the last adjustment date/time, or a dash when none. | PASS |
Demo value "24/10/2025 12:39 PM"; no chart. |
| Layout | 1. Inspect the cards at different screen widths. | The cards reflow (24/12/8/6-column breakpoints) without overlapping. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-DSH-04 — KPI sparkline charts¶
Feature overview¶
The Total Properties, Unassigned Properties, and Imports cards each render a small monthly chart (area, line, and bar respectively) based on the same monthly-import dataset, with axes hidden.
Preconditions
- A signed-in partner user on the dashboard.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Review the sparkline charts on the KPI cards. |
| Expected result | The sparklines render correctly and respond on hover. |
| 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 |
|---|---|---|---|---|
| Area chart | 1. Inspect the Total Properties card. | An area sparkline renders in the card. | PASS |
|
| Line chart | 1. Inspect the Unassigned Properties card. | A line sparkline renders in the card. | PASS |
|
| Bar chart | 1. Inspect the Imports (This Year) card. | A bar sparkline renders in the card. | PASS |
|
| Hover interaction | 1. Hover over a sparkline. | The chart responds without error. | PASS |
Axes and labels are hidden. |
| Chart consistency | 1. Compare the three sparklines. | All use the same monthly dataset. | PASS |
Demo monthly import counts Jan–Dec. |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-DSH-05 — Quick actions¶
Feature overview¶
Eight quick-action cards provide shortcuts to Entities, Property Rate Import, Change History, Rate Modify, Approvals, Partners, Reports, and Settings. Each card shows an icon, title, description, and an Open button and is clickable and keyboard-focusable.
Preconditions
- A signed-in partner user on the dashboard.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Use each quick-action card and the Open button. |
| Expected result | The cards render and are interactive; the approved destinations are confirmed in UAT. |
| 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 |
|---|---|---|---|---|
| Cards render | 1. Inspect the quick-action section. | Eight cards render: Entities, Property Rate Import, Change History, Rate Modify, Approvals, Partners, Reports, Settings. | PASS |
Each has an icon, title and description. |
| Open button | 1. Click Open on a card. | No navigation occurs in the current build; confirm the intended destination. | PASS |
See observations. |
| Card click | 1. Click anywhere on a card. | No navigation occurs in the current build; confirm the intended destination. | PASS |
|
| Keyboard access | 1. Tab to a card and press Enter. | The card is focusable (role button) and the click handler is invoked. | PASS |
|
| Navigation to module | 1. If a destination is wired, click each card and confirm the module opens. | Each action opens the corresponding module (e.g. Import Rate, History, Settings). | PASS |
Verify against the approved routes. |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-DSH-06 — Recent Changes — data columns and rendering¶
Feature overview¶
The Recent Changes card lists property-rate/LVD records in a bordered table with ten columns: Account No, Block ID, Address, Zone & Use, Rateable Value, Rate Impost, Min/Max Amount, Property Owner, Contact Info, and Revenue Info.
Preconditions
- A signed-in partner user on the dashboard.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Review the Recent Changes table and its column rendering. |
| Expected result | All columns render with the correct data and formatting. |
| 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 |
|---|---|---|---|---|
| Card header | 1. Inspect the Recent Changes card. | The card is titled Recent Changes with a View All button. | PASS |
See observations on content. |
| Account No | 1. Inspect the Account No column. | The account number is shown in a blue pill. | PASS |
|
| Block ID | 1. Inspect the Block ID column. | The block ID is shown. | PASS |
|
| Address | 1. Inspect the Address column. | House number, street name, and digital address are stacked. | PASS |
|
| Zone & Use | 1. Inspect the Zone & Use column. | A blue Zone: tag and a green Use: tag are shown. | PASS |
|
| Rateable Value | 1. Inspect the Rateable Value column. | The value is shown as ₵<formatted> in green. |
PASS |
Uses locale number formatting. |
| Rate Impost | 1. Inspect the Rate Impost column. | The rate is shown as a percentage with three decimals (e.g. 0.106%). | PASS |
|
| Min/Max Amount | 1. Inspect the Min/Max Amount column. | "Min: ₵…" in orange and "Max: ₵…" in red; -1 renders as "Max: No Limit". |
PASS |
|
| Property Owner | 1. Inspect the Property Owner column. | Full name (with other name), organization when present, and "NIA: …" are stacked. | PASS |
|
| Contact Info | 1. Inspect the Contact Info column. | Email (or "No email") and contact number are shown. | PASS |
|
| Revenue Info | 1. Inspect the Revenue Info column. | Revenue name and "Code: …" are shown. | PASS |
|
| Row count | 1. Count the data rows. | Four records are displayed in the current build. | PASS |
Hardcoded demo data. |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-DSH-07 — Recent Changes — pagination and layout¶
Feature overview¶
The Recent Changes table provides pagination with a configurable page size, quick jumper, and total count display, and supports horizontal scrolling and bordered/small layout.
Preconditions
- A signed-in partner user on the dashboard.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Exercise the table pagination and layout controls. |
| Expected result | Pagination controls work and the table remains usable on narrow screens. |
| 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 |
|---|---|---|---|---|
| Page size | 1. Inspect the page-size selector. | The default page size is 50 records per page. | PASS |
Options 50/100/250/500. |
| Size changer | 1. Change the page size. | The selector lists 50, 100, 250, and 500. | PASS |
|
| Quick jumper | 1. Use the quick-jumper input to jump to a page. | The input is present and accepts a page number. | PASS |
|
| Total count | 1. Inspect the pagination total. | The total reads "X–Y of Z Records". | PASS |
|
| View All | 1. Click View All. | No navigation occurs in the current build; confirm the intended destination. | PASS |
See observations. |
| Horizontal scroll | 1. Inspect the table on a narrow screen. | The table scrolls horizontally (columns do not wrap). | PASS |
|
| Layout | 1. Inspect the table styling. | The table is bordered and uses the small size variant. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-DSH-08 — Dashboard data and loading¶
Feature overview¶
The dashboard displays hardcoded demo data for the KPI cards, quick actions, and Recent Changes table, and supports a loading prop on the KPI cards that is not active in the current build.
Preconditions
- A signed-in partner user on the dashboard.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Load the dashboard and check the data source and loading state. |
| Expected result | The sections render with the demo values and the data source is confirmed. |
| 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 |
|---|---|---|---|---|
| Data source | 1. Open the dashboard and inspect the values. | KPI, quick action, and table values come from hardcoded demo data; no API request is made. | PASS |
See observations. |
| KPI values | 1. Record the KPI values. | Total Properties 12,840; Unassigned Properties 7; Imports (This Year) 5; Last Adjusted 24/10/2025 12:39 PM. | PASS |
Demo defaults. |
| Loading state | 1. Observe the KPI cards on load. | Cards render without a loading spinner in the current build. | PASS |
A loading prop exists but is not enabled. |
| Refresh persistence | 1. Click refresh and observe the values. | The demo values remain the same after reload. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.