Partners Portal (LVD) — LVD History Module Acceptance Tests¶
Test series: LVD-HST-01 to LVD-HST-08
Objective: Validate that a partner user can access the LVD History list, search and filter imported property-rate records, paginate through them, and navigate to the import page.
Execution ownership¶
Recommended owners: Partner/Company users; LVD business owner; Revenue/Property business owner
Prerequisites: A signed-in partner session and imported LVD/property-rate records available in the UAT environment.
Execution control
Use approved UAT data only. Mask personal, authentication, and payment information in screenshots and attachments.
Feature overview¶
The LVD History module at /lvd/list is the list view of imported property-rate records:
- Page header with a breadcrumb, title, and subtitle.
- Advance Search panel with optional text filters for Account No, BLK ID, Digital Address, Phone, and Email.
- History table showing account, block, address, zone/use, financial, owner, contact, and revenue columns.
- Pagination driven by URL query parameters with configurable page sizes.
- Navigation to the dashboard via the breadcrumb and to the import page via the Import Rate button.
The module has no record-detail view, no status column, and no success/error notifications; data is loaded from the list endpoint and loading is shown while requests are pending.
Coverage summary¶
| Test ID | Feature | Scenario | Priority |
|---|---|---|---|
| LVD-HST-01 | Navigation | Page access and flow | Critical |
| LVD-HST-02 | Page Header | Title, breadcrumb and subtitle | Medium |
| LVD-HST-03 | Search | Advance Search panel and filters | High |
| LVD-HST-04 | Search | Submit and reset | Critical |
| LVD-HST-05 | History List | Table columns and rendering | Critical |
| LVD-HST-06 | Pagination | Page size, jumper and totals | High |
| LVD-HST-07 | History List | Loading and empty states | Medium |
| LVD-HST-08 | Data | URL state and data source | Medium |
Implementation observations requiring UAT confirmation¶
| Observation from implementation | Required validation |
|---|---|
| There is no record-detail or drill-down view: the table has no row click, action column, or details route. | Confirm whether individual LVD/import details are in scope for the release. |
| The table has no status column or status indicator; records display valuation and owner data only. | Confirm whether an import/record status should be shown. |
| The list issues no success or error notifications; a failed request surfaces only through the global 401 redirect or the table loading state. | Confirm the approved error-handling behaviour. |
All search filters are optional — the required flag is disabled in advanced-search mode, and empty values are dropped from the query string. |
Confirm the approved search rules. |
The reset control navigates to DATA.urls.list, which is an empty string (it clears the query string), while the Import Rate button routes to /lvd/import. |
Confirm the approved reset behaviour. |
Pagination defaults to 50 rows per page (PAGE_SIZE); the URL parameters page and limit drive the list, and searching resets to page 1 keeping the current page size. |
Confirm the approved pagination defaults. |
| The page subtitle describes "zone classes, specific rates, and affected areas" rather than LVD records. | Confirm the approved page copy. |
LVD-HST-01 — Page access and navigation flow¶
Feature overview¶
The LVD History page at /lvd/list is protected by authentication and is reachable from the sidebar, from the import page, and from the breadcrumb Home link. An Import Rate button links back to the import page.
Preconditions
- A signed-in partner user.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open the list from each entry point and navigate onward. |
| Expected result | The page loads from each entry point; unauthenticated access is blocked. |
| 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 |
|---|---|---|---|---|
| Sidebar entry | 1. Click the History icon in the sidebar. | The user is navigated to /lvd/list. |
PASS |
|
| Entry from import page | 1. Open /lvd/import.2. Click the LVD button in the import header. |
The user is navigated to /lvd/list. |
PASS |
|
| Breadcrumb Home | 1. On the list page, click Home in the breadcrumb. | The user is navigated to the dashboard. | PASS |
|
| Import Rate button | 1. Click Import Rate in the list header. | The user is navigated to /lvd/import. |
PASS |
|
| Protected access | 1. Open /lvd/list while signed out. |
The user is redirected to the login page. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-HST-02 — Page header¶
Feature overview¶
The page shows a breadcrumb (Home / LVD History), a page title, and a subtitle above the search and table sections.
Preconditions
- A signed-in partner user on the LVD History page.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Review the page header. |
| Expected result | The breadcrumb, title, and subtitle render 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 |
|---|---|---|---|---|
| Breadcrumb | 1. Inspect the breadcrumb. | It reads Home / LVD History. | PASS |
|
| Title | 1. Inspect the page title. | The title reads LVD History. | PASS |
Rendered in uppercase. |
| Subtitle | 1. Inspect the subtitle. | The subtitle text about zone classes and rate structures is shown. | PASS |
Copy to confirm; see observations. |
| Header button | 1. Inspect the list header bar. | A LVD History heading and an Import Rate button are shown. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-HST-03 — Advance search — panel and filters¶
Feature overview¶
An Advance Search accordion panel contains five optional text filters: Account No, BLK ID, Digital Address, Phone, and Email. Each field shows an icon and tooltip and is not required in search mode.
Preconditions
- A signed-in partner user on the LVD History page.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Expand the search panel and review the filters. |
| Expected result | The panel shows all five filters as optional inputs. |
| 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 |
|---|---|---|---|---|
| Panel default state | 1. Inspect the search area. | The Advance Search panel is collapsed by default. | PASS |
|
| Expand panel | 1. Click Advance Search. | The panel expands to show the filter fields. | PASS |
|
| Filter fields | 1. Inspect the filters. | Fields: Account No, BLK ID, Digital Address, Phone, and Email with their placeholders. | PASS |
Each has an icon and tooltip. |
| Optional fields | 1. Submit the form with all fields empty. | The search runs without a required-field error. | PASS |
Filters are optional in advanced search. |
| Field input | 1. Type values into the filters. | Text is accepted in each field. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-HST-04 — Advance search — submit and reset¶
Feature overview¶
Submitting the search builds a query string from the non-empty filter values, resets to page 1, updates the URL, and reloads the list. The reset control clears the filters and removes the query string.
Preconditions
- Imported records available; known values for Account No, BLK ID, Digital Address, Phone, or Email.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Run a search and then reset it. |
| Expected result | The list filters correctly and the URL reflects the search; reset clears it. |
| 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 by Account No | 1. Enter a known account number. 2. Click the search button. |
The list returns matching records and the URL contains the filter plus page=1. |
PASS |
Query built via objectToQueryString. |
| Search by BLK ID | 1. Enter a BLK ID and search. | Matching records are returned. | PASS |
|
| Search by Digital Address | 1. Enter a digital address and search. | Matching records are returned. | PASS |
|
| Search by Phone | 1. Enter a contact number and search. | Matching records are returned. | PASS |
Mapped to the contact parameter. |
| Search by Email | 1. Enter an email and search. | Matching records are returned. | PASS |
|
| Reset search | 1. Run a search, then click the reset (refresh) button. | The filters clear and the query string is removed. | PASS |
Navigates to the list URL. |
| Empty values omitted | 1. Fill one filter, leave others empty, and search. | Only the filled value appears in the query string. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-HST-05 — History list — table columns and rendering¶
Feature overview¶
The history table shows ten columns for account, block, address, zone/use, financial, owner, contact, and revenue data, loaded from the list endpoint.
Preconditions
- Imported records available in the UAT environment.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Review the table columns and record 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 |
|---|---|---|---|---|
| Table columns | 1. Inspect the table header. | Columns: Account No, Block ID, Address, Zone & Use, Rateable Value, Rate Impost, Min/Max, Property Owner, Contact Info, Revenue Info. | PASS |
|
| Account No | 1. Inspect the Account No column. | The account number is shown in a blue pill. | 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 | 1. Inspect the Min/Max 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 |
|
| Status column | 1. Look for a status indicator. | No status column is rendered in the current build. | PASS |
See observations. |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-HST-06 — Pagination¶
Feature overview¶
The table is paginated with URL-driven state: a default page size of 50, a size changer, a quick jumper, and a total-count display.
Preconditions
- More than one page of imported records available.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Change page size, jump to a page, and review the total display. |
| Expected result | Pagination works and the URL reflects the current page and limit. |
| 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 |
|
| Size changer | 1. Change the page size. | Options 50, 100, 250, and 500 are available. | PASS |
|
| Quick jumper | 1. Use the quick-jumper input to jump to a page. | The table navigates to the entered page. | PASS |
|
| Total count | 1. Inspect the pagination total. | The total reads "X–Y of Z Records". | PASS |
|
| URL state | 1. Change page/size and inspect the address bar. | The URL updates with page and limit parameters. |
PASS |
|
| Reload persistence | 1. Reload the page after changing page/size. | The table reloads on the same page/size from the URL. | PASS |
|
| Table change reload | 1. Change page/size and observe the table. | The table shows a loading indicator and reloads the data. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-HST-07 — Loading and empty states¶
Feature overview¶
While the list request is in flight, the table shows a loader indicator; when no records match, the table shows its default empty state.
Preconditions
- A signed-in partner user; data with slow or no matching results for testing.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Observe the loading and empty states. |
| Expected result | Loading is shown during fetch and an empty state when no records exist. |
| 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 |
|---|---|---|---|---|
| Loading indicator | 1. Trigger a search or page change and observe the table. | The table shows the loading indicator while the request is pending. | PASS |
Uses the loader image. |
| Refetching | 1. Change page while data is being refetched. | The table remains in a loading state during refetch. | PASS |
|
| Empty result | 1. Search for a value with no matches. | The table shows an empty/no-data state. | PASS |
|
| Recover from empty | 1. Reset or clear the search. | Records are shown again. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.
LVD-HST-08 — URL state and data source¶
Feature overview¶
The list loads from the list endpoint with the current query string. Page and limit come from the URL (defaulting to 1 and 50) and the response drives the pagination totals.
Preconditions
- A signed-in partner user with the list endpoint available.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Inspect the request URL and response-driven pagination. |
| Expected result | The list request includes the query parameters and totals come from the response. |
| 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 endpoint | 1. Open the list and inspect the request. | The request targets /lvd/lvdlists with the current query string. |
PASS |
|
| Default parameters | 1. Open /lvd/list without query parameters. |
Page defaults to 1 and limit to 50 in the request. | PASS |
|
| Response totals | 1. Inspect the pagination after load. | Current page, page size, and total are set from the response fields. | PASS |
|
| Search resets page | 1. Navigate to page 3, then run a search. | The search resets the page to 1 while keeping the current page size. | PASS |
|
| Filter in URL | 1. Run a search and inspect the URL. | The filter values are present in the query string. | PASS |
Tester notes
Record actual result, test data identifiers, device/browser/build, and any variance.