Skip to content

Ratepayer Portal — Disputes Module Acceptance Tests

Test series: RPP-DSP-01 to RPP-DSP-13
Objective: Validate that a ratepayer can view, search, and filter their dispute tickets; create a new dispute with category, title, related record, and supporting documents; review dispute details and conversation history; and reply to an open dispute.

Execution ownership

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

Prerequisites: A signed-in ratepayer with dispute tickets in several statuses, an eligible category and title for a new dispute, and controlled dispute data.

Execution control

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

Feature overview

The Disputes module covers the ratepayer's dispute/claim journey:

  • My Disputes list with search, status filter, and pagination.
  • Create Dispute with category, title, related property/bill, description, attachments, and contact selection.
  • Dispute Details with a ticket snapshot, a conversation thread, a progress timeline, and a reply form.
  • Reply to dispute with attachments and a read-only state for resolved tickets.

Coverage summary

Test ID Feature Scenario Priority
RPP-DSP-01 Disputes List List display and navigation Critical
RPP-DSP-02 Disputes List Search High
RPP-DSP-03 Disputes List Status filter High
RPP-DSP-04 Disputes List Pagination Medium
RPP-DSP-05 Create Dispute Category and title selection Critical
RPP-DSP-06 Create Dispute Details and validation High
RPP-DSP-07 Create Dispute Attachments High
RPP-DSP-08 Create Dispute Submission Critical
RPP-DSP-09 Dispute Details Snapshot and status Critical
RPP-DSP-10 Dispute Details Conversation and history Critical
RPP-DSP-11 Reply Reply to dispute Critical
RPP-DSP-12 Reply Validation and resolved state High
RPP-DSP-13 Navigation Dispute navigation flow Medium

Implementation observations requiring UAT confirmation

Observation from implementation Required validation
Priority is hardcoded to High when creating a dispute; the form offers no priority selection. Confirm the approved priority handling.
The list search is sent to the API as the title parameter. Confirm the approved search fields.
Reply is disabled only when the ticket status is Resolved or Closed; the on-screen "Reply Rules" note states replies are available while Open or In Review. Confirm the intended reply availability by status.
Attachment uploads in creation and replies send only the file name to the API, not file content or a URL. Confirm the approved attachment handling.
Changing the Dispute Category resets the selected Dispute Title. Confirm the expected behaviour.

RPP-DSP-01 — Disputes list display and navigation

Feature overview

The My Disputes page at /disputes lists the ratepayer's dispute tickets with ticket number, title, category, status, and an action to open details.

Preconditions

  • A signed-in ratepayer with at least one dispute ticket.
Field Value
Priority Critical
Test action Open the My Disputes page and open a ticket.
Expected result Tickets render with correct data and open the details 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
Page header 1. Open /disputes. The heading "My Disputes" with a Create Dispute button is shown. PASS
Table columns 1. Inspect the disputes table. Ticket, Title, Category, Status, and Action columns are shown. PASS
Open via ticket link 1. Click a ticket number. The user is redirected to /disputes/<id>. PASS
Open via action 1. Click the view icon on a ticket row. The user is redirected to /disputes/<id>. PASS
Empty state 1. Open the page with no tickets. "No dispute tickets found" is shown. PASS

Tester notes

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

Feature overview

The search box filters tickets by ticket number or title. The search resets the page to one.

Preconditions

  • A signed-in ratepayer with tickets distinguishable by ticket number or title.
Field Value
Priority High
Test action Search for a ticket by ticket number or title.
Expected result The list updates with matching tickets.
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 ticket 1. Type a ticket number or title in the search box. The list shows matching tickets and resets to page 1. PASS Sent as the title parameter.
Clear search 1. Click the clear icon. The search is cleared. PASS
No results 1. Search for a value with no match. "No dispute tickets found" is shown. PASS

Tester notes

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

RPP-DSP-03 — Disputes list status filter

Feature overview

Tickets can be filtered by status: Pending, Open, In Review, Resolved, and Rejected. Each status has a coloured tag.

Preconditions

  • A signed-in ratepayer with tickets in several statuses.
Field Value
Priority High
Test action Filter tickets by status.
Expected result The list shows only tickets with the selected status.
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
Status filter 1. Select Resolved in the status filter. Only resolved tickets are shown. PASS
Status tags 1. Inspect the status tags. Pending, Open, In Review, Resolved, and Rejected each have a distinct colour. PASS
Reset filters 1. Click Reset Filters. Search and status filter are cleared and the full list is restored. PASS

Tester notes

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

RPP-DSP-04 — Disputes list pagination

Feature overview

The table is paginated with a page-size changer and a ticket counter.

Preconditions

  • A signed-in ratepayer with more tickets than the page size.
Field Value
Priority Medium
Test action Navigate pages and change the page size.
Expected result Pagination updates the list and shows correct totals.
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 navigation 1. Go to the next page. The next set of tickets is displayed. PASS
Page size change 1. Change the page size. The list shows more tickets per page. PASS
Ticket counter 1. Inspect the counter. "X of Y ticket(s) shown" is displayed. PASS

Tester notes

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

RPP-DSP-05 — Create dispute — category and title selection

Feature overview

The Create Dispute page at /disputes/create requires a dispute category and a dispute title. The title list is loaded for the selected category and resets when the category changes.

Preconditions

  • A signed-in ratepayer on the Create Dispute page.
Field Value
Priority Critical
Test action Select a dispute category and title.
Expected result The title list depends on the selected category.
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
Category selection 1. Select a dispute category. Category options load and a title can be selected. PASS Loads from /sys/disputecategories.
Title dependency 1. Select a category and open the title list. Titles load for the selected category. PASS Loads from /sys/disputetitles.
Title disabled before category 1. Open the title list before selecting a category. The title selector is disabled. PASS
Category change resets title 1. Select a title, then change the category. The selected title is cleared. PASS See observations.

Tester notes

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

RPP-DSP-06 — Create dispute — details and validation

Feature overview

The form captures the related property/bill, a description of the issue, a preferred contact method, and contact information. Required fields are validated before submission.

Preconditions

  • A signed-in ratepayer on the Create Dispute page.
Field Value
Priority High
Test action Complete and validate the dispute details.
Expected result Required fields are enforced and contact fields adapt to the contact method.
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
Related property/bill 1. Select a related property or bill. Options load and a value can be selected. PASS Loads from /sys/disputerelatedtypes.
Description 1. Enter a description of the issue. The description is captured. PASS
Contact method 1. Select Phone or Email. The contact-information placeholder changes accordingly. PASS Email is the default.
Contact information 1. Enter phone or email contact information. The value is captured. PASS
Required validation 1. Submit with required fields empty. Field-level errors appear for missing values. PASS
Server input errors 1. Trigger a server validation rejection. Server input errors are displayed on the relevant fields. PASS

Tester notes

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

RPP-DSP-07 — Create dispute — attachments

Feature overview

Supporting documents can be uploaded (up to five files). Files must be JPG, JPEG, PNG, or PDF up to 5MB each.

Preconditions

  • A signed-in ratepayer on the Create Dispute page.
Field Value
Priority High
Test action Upload supporting documents.
Expected result Valid files are accepted and invalid files 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
Upload valid file 1. Upload a JPG/PNG/PDF file. The file is accepted. PASS
Invalid type 1. Upload a non-image/non-PDF file. "You can only upload jpg, jpeg, png, pdf file only!" is shown. PASS
Oversized file 1. Upload a file above 5MB. "Please upload file smaller than 5MB!" is shown. PASS
Max count 1. Upload more than five files. "You can only upload 5 file only!" is shown. PASS
Remove file 1. Remove an uploaded file. A confirmation prompt appears and the file is removed. PASS

Tester notes

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

RPP-DSP-08 — Create dispute — submission

Feature overview

Submitting the form creates the dispute and returns the ratepayer to the My Disputes list.

Preconditions

  • A fully completed Create Dispute form.
Field Value
Priority Critical
Test action Submit a new dispute.
Expected result A success notification appears and the user returns to the list.
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
Submit dispute 1. Complete the form and click Submit Dispute. A "Dispute Created" notification appears and the user is redirected to /disputes. PASS Posts to /web/disputeclaim.
Cancel 1. Click Cancel. The user returns to /disputes without creating a dispute. PASS
In-flight state 1. Submit and observe the button while pending. The submit button shows a loading state. PASS
Server rejection 1. Submit data the server rejects. An error notification appears with the server message. PASS

Tester notes

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

RPP-DSP-09 — Dispute details — snapshot and status

Feature overview

The details page at /disputes/<id> shows the ticket header, an info summary, a ticket snapshot, and a status display.

Preconditions

  • A signed-in ratepayer with a dispute ticket.
Field Value
Priority Critical
Test action Open a dispute's details page and review the snapshot.
Expected result Ticket information and status are accurate.
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 1. Open /disputes/<id>. Title, status badge, and info boxes (Ticket ID, Created, Request From, Contact) are shown. PASS
Ticket snapshot 1. Inspect the Ticket Snapshot. Ticket ID, created at, category, related type, related ID, contact method, contact information, created by, and summary are shown. PASS
Ticket status 1. Inspect the Ticket Status card. The current status is shown. PASS
Resolved banner 1. Open a resolved ticket. A read-only banner is shown for resolved tickets. PASS
Not found 1. Open an invalid dispute ID. "Dispute ticket not found." is shown with a Back to disputes action. PASS

Tester notes

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

RPP-DSP-10 — Dispute details — conversation and history

Feature overview

The Conversation section shows the claim and all replies as a thread, and the Progress Timeline lists the reply history.

Preconditions

  • A signed-in ratepayer with a dispute that has replies.
Field Value
Priority Critical
Test action Review the conversation thread and progress timeline.
Expected result Messages and history are accurate and ordered.
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
Conversation thread 1. Inspect the Conversation section. The original claim and all replies are shown with author and timestamp. PASS
Message count 1. Inspect the message counter. The number of messages is shown. PASS
Auto-scroll 1. Open the conversation. The thread scrolls to the latest message. PASS
Progress timeline 1. Inspect the Progress Timeline. Each reply is listed with the sender and time. PASS

Tester notes

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

RPP-DSP-11 — Reply to dispute

Feature overview

An open dispute can be answered using the reply form, which supports a message and optional attachments.

Preconditions

  • A signed-in ratepayer with a dispute that is not resolved or closed.
Field Value
Priority Critical
Test action Send a reply to an open dispute.
Expected result The reply is sent and appears in the conversation.
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
Send reply 1. Enter a reply message and click Send Reply. A "Reply Sent" notification appears and the conversation refreshes with the new reply. PASS Posts to /web/disputeclaimreply.
Reply with attachment 1. Attach a file and send the reply. The file is referenced in the reply. PASS
Reply rules 1. Inspect the Reply Rules card. The rules explain reply availability, attachments, and read-only behaviour. PASS

Tester notes

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

RPP-DSP-12 — Reply validation and resolved state

Feature overview

The reply message is required, and the reply form becomes read-only for resolved or closed tickets.

Preconditions

  • A signed-in ratepayer with an open dispute and a resolved dispute.
Field Value
Priority High
Test action Test reply validation and the resolved state.
Expected result Empty replies are rejected and resolved tickets cannot be replied to.
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 reply 1. Click Send Reply with an empty message. A field-level error requires the reply message. PASS
Resolved ticket 1. Open a resolved/closed ticket. The message box and Send Reply button are disabled. PASS
Reply failure 1. Trigger a server error while replying. An error notification is shown. PASS

Tester notes

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

RPP-DSP-13 — Dispute navigation flow

Feature overview

The module provides navigation between the list, creation, and details pages.

Preconditions

  • A signed-in ratepayer.
Field Value
Priority Medium
Test action Move between the dispute pages.
Expected result Navigation works in both directions.
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
List to create 1. On /disputes, click Create Dispute. The user is redirected to /disputes/create. PASS
Create breadcrumb 1. On the create page, click My Disputes. The user returns to /disputes. PASS
List to details 1. On /disputes, open a ticket. The user is redirected to /disputes/<id>. PASS
Details back 1. On the details page, click Back to disputes. The user returns to /disputes. PASS
Create to list after submit 1. Submit a dispute. The user is redirected to /disputes. PASS

Tester notes

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