Ratepayer App — Property Management Module Acceptance Tests¶
Test series: RPA-PROP-01 to RPA-PROP-06
Objective: Validate that a ratepayer can view their property portfolio, search and filter properties, add a new property, and open property details in the app.
Mirrors: ratepayer-portal/property-management.md (RPP-PROP-01 to RPP-PROP-17). Full property-details sub-sections (ownership, verification workflow, inspection workflow, documents) should be tested against the same criteria as the web module once those screens are captured; this file currently covers the confirmed list-level screens from the screenshots.
Execution ownership¶
Recommended owners: Ratepayer/Public Portal users; Customer Service observer
Prerequisites: A signed-in ratepayer with registered properties in different statuses (Pending, Approved, etc.) and an eligible digital address for adding a new property.
Execution control
Use approved UAT data only. Mask personal, authentication, and payment information in screenshots and attachments.
Feature overview¶
The Properties tab covers the ratepayer's property portfolio:
- My Properties list with search, All / Multiple / Single filter tabs, and a property count.
- Property cards showing ID, ownership badge (Single), status badge (Pending/Approved/etc.), name, digital address, MMDA/municipal area, and land size.
- Add Property shortcut (dashed tile) inline with the property cards.
- Property Details (reached by tapping a card) — to be validated against
ratepayer-portal/property-management.mdRPP-PROP-11 to RPP-PROP-17 once details screens are captured.
Coverage summary¶
| Test ID | Feature | Scenario | Priority |
|---|---|---|---|
| RPA-PROP-01 | Property List | List display and navigation | Critical |
| RPA-PROP-02 | Property List | Search | High |
| RPA-PROP-03 | Property List | All / Multiple / Single filter tabs | High |
| RPA-PROP-04 | Property List | Empty and error states | Medium |
| RPA-PROP-05 | Add Property | Add Property entry point | Critical |
| RPA-PROP-06 | Property Details | Details screen (pending confirmation) | Critical |
Implementation observations requiring UAT confirmation¶
| Observation from screenshots | Required validation |
|---|---|
| The filter tabs are All / Multiple / Single, not Status / Ownership Type / Owner Type / Region as in the web build. | Confirm what "Multiple" and "Single" represent (e.g., properties with multiple owners/units vs. single ownership), and whether the web's status/ownership/owner-type/region filters exist elsewhere in the app (e.g., behind a filter icon not visible in the screenshot). |
| Each property card shows an ownership badge ("Single") and a status badge (e.g., "Pending", "Approved") together. | Confirm the full set of possible status badges match the web's Pending, Approved, Under Inspection, Inspection Completed, Rejected. |
| The Add Property tile is shown as a dashed placeholder card within the grid, rather than a header button as on web. | Confirm this is the only entry point to Add Property in the app, or whether a header/quick-action entry point also exists (see dashboard.md RPA-DSH-05). |
| Land size is shown as "—" when not set (e.g., the Approved property card). | Confirm "—" is the approved placeholder for missing values across the app. |
| Property Details, Add Property step screens (Location & GIS, Documents, Review), and the verification/inspection workflow were not captured in the supplied screenshots. | Supply screenshots of these screens so app test cases can be written to the same depth as ratepayer-portal/property-management.md RPP-PROP-06 to RPP-PROP-17. |
RPA-PROP-01 — Property list display and navigation¶
Feature overview¶
The Properties tab displays the ratepayer's properties as cards in a grid. Each card shows the property ID, ownership badge, status badge, name, digital address, MMDA, and land size. Tapping a card opens property details.
Preconditions
- A signed-in ratepayer with at least one registered property.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open My Properties and open a property from the grid. |
| Expected result | Properties render as cards with correct data; tapping a card opens details. |
| 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 header and count | 1. Tap the Properties tab. | "My Properties" heading and "You have N properties" are shown. | PASS |
|
| Property card content | 1. Inspect a property card. | #<id>, ownership badge, status badge, property name, digital address, MMDA/municipal area, and land size (or "—") are shown. |
PASS |
|
| Open property details | 1. Tap a property card. | Property details open for the correct property. | PASS |
|
| Responsive layout | 1. Rotate the device or test on different screen sizes. | Cards reflow correctly without overlap. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-PROP-02 — Property list search¶
Feature overview¶
The search box filters the property grid by name or ID.
Preconditions
- A signed-in ratepayer with properties that have distinct names/IDs.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Search for a property by name and by ID. |
| Expected result | The grid updates to show only matching properties. |
| 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 |
|---|---|---|---|---|
| Match by name | 1. Enter a known property name in "Search by name or ID". | Only matching properties are displayed. | PASS |
|
| Match by ID | 1. Enter a known property ID. | The matching property is displayed. | PASS |
|
| No matches | 1. Enter text with no matching property. | An empty state ("No properties found" or equivalent) is shown. | PASS |
|
| Clear search | 1. Clear the search field. | The full property grid is restored. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-PROP-03 — All / Multiple / Single filter tabs¶
Feature overview¶
The list provides All, Multiple, and Single filter tabs above the property grid.
Preconditions
- A signed-in ratepayer with properties covering both ownership categories, if applicable.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Apply each filter tab. |
| Expected result | Results respect the selected filter. |
| 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 |
|---|---|---|---|---|
| All | 1. Tap All. | All of the ratepayer's properties are shown. | PASS |
|
| Single | 1. Tap Single. | Only single-ownership properties are shown. | PASS |
Confirm definition — see observations. |
| Multiple | 1. Tap Multiple. | Only multiple-ownership properties are shown. | PASS |
Confirm definition — see observations. |
| Count updates | 1. Switch filters and check "You have N properties". | The count updates to match the filtered result. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-PROP-04 — Property list empty and error states¶
Feature overview¶
The list shows an empty state when no properties exist and an error state when the request fails.
Preconditions
- An account with no properties for the empty state; a network/API failure for the error state.
| Field | Value |
|---|---|
| Priority | Medium |
| Test action | Trigger empty and error states on the property list. |
| Expected result | Each state is clear and recoverable. |
| 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 state | 1. Open Properties for an account with no properties. | An empty-state message is shown along with the Add Property tile. | PASS |
|
| Loading state | 1. Open Properties while the request is pending. | A loading indicator is shown. | PASS |
|
| Error state | 1. Trigger an API failure. | An error message with a retry action is shown. | PASS |
|
| Recovery | 1. Retry after restoring connectivity. | The grid loads successfully. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-PROP-05 — Add Property entry point¶
Feature overview¶
An Add Property tile sits inline within the property grid; tapping it opens the registration flow.
Preconditions
- A signed-in ratepayer.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Tap the Add Property tile. |
| Expected result | The Add Property flow opens (subject to profile-completion guard, if implemented). |
| 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 |
|---|---|---|---|---|
| Tile visibility | 1. Inspect My Properties. | The dashed Add Property tile is shown after the last property card. | PASS |
|
| Open Add Property | 1. Tap Add Property. | The property registration flow opens. | PASS |
|
| Profile completion guard | 1. Tap Add Property with an incomplete profile. | Confirm whether the app blocks registration until the profile is 100% complete, as on web (RPP-PROP-06). | PASS |
Needs screenshot confirmation. |
| From Home quick action | 1. Tap Add Property on the Home quick actions. | The same Add Property flow opens. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance.
RPA-PROP-06 — Property details screen (pending confirmation)¶
Feature overview¶
Tapping a property card is expected to open a details screen equivalent to the web's Property Details page (header, rate payer information, property/location/financial information, bill information, verification status, and documents).
Preconditions
- A signed-in ratepayer with a registered property.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open a property's details screen and review each section against ratepayer-portal/property-management.md RPP-PROP-11 to RPP-PROP-17. |
| Expected result | All sections present on web are present and accurate on the app, or confirmed as intentionally omitted. |
| 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 |
|---|---|---|---|---|
| Header and status | 1. Open property details. | Property name, registration date, and status tag are shown. | PASS |
Pending screenshot confirmation. |
| Rate payer information | 1. Inspect owner information. | Name/organization, phone, and email are shown with an Individual/Organization tag. | PASS |
|
| Property/location/financial information | 1. Inspect property, location, and financial sections. | Values match the central property record. | PASS |
|
| Bill information | 1. Inspect the bill section. | Current bill figures and a link to the bill are shown. | PASS |
|
| Verification status | 1. Inspect the verification status section. | Status, activity logs, inspectors, and reports (if any) are shown. | PASS |
|
| Documents and images | 1. Inspect documents/images. | Uploaded property images and documents are viewable. | PASS |
Tester notes
Record actual result, test data identifiers, device/OS/build, and any variance. This section should be expanded to full parity with ratepayer-portal/property-management.md once details, Add Property (Location & GIS, Documents, Review), and verification/inspection screens are captured from the app.