iDarms Agent — Bills & Payments Acceptance Tests¶
Test series: IDA-BP-01 to IDA-BP-06
Objective: Validate that a field agent can view bills assigned to them, search by phone number, review individual and consolidated payment history and receipts, and collect full or partial payments after OTP-verifying the rate payer's phone number.
Execution ownership¶
Recommended owners: Field Agent / iDarms Agent app users; Payment/Integration observer
Prerequisites: A signed-in agent with bills in both "no payment made" and "at least one payment made" states; a rate payer phone number reachable for OTP; a controlled payment test method; a bill with multiple partial payments for the consolidated-receipt scenario.
Execution control
Use approved UAT data only. Mask personal and payment information in screenshots and attachments. Use only controlled test payment methods.
Feature overview¶
Bills & Payments, reached from the Dashboard's primary button, lists bills assigned to the agent (searchable by phone number) with the same bill details as Bill Distribution, but with payment-focused actions:
| Payment Status | Available Buttons |
|---|---|
| No payment made yet | Payment History, Pay |
| At least one payment made | Payment History, Receipt, Pay |
- Payment History shows each individual payment against the bill, each with its own generatable receipt (Regular or POS).
- Receipt (from the bill card, not history) generates a consolidated summary receipt covering all payments made against the bill.
- Pay requires OTP verification of the rate payer's phone number before a full or partial payment can be collected.
Coverage summary¶
| Test ID | Scenario | Priority |
|---|---|---|
| IDA-BP-01 | List and search by phone | Critical |
| IDA-BP-02 | Status-based action buttons | High |
| IDA-BP-03 | Payment History and per-payment receipt | Critical |
| IDA-BP-04 | Bill-card Receipt (consolidated summary) | Critical |
| IDA-BP-05 | Pay — OTP verification gate | Critical |
| IDA-BP-06 | Pay — full and partial payment | Critical |
IDA-BP-01 — List and search by phone¶
Feature overview¶
The Bills & Payments list shows all bills assigned to the agent and is searchable by the rate payer's phone number.
Preconditions
- A signed-in agent with at least one assigned bill.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open Bills & Payments and search by a known rate payer phone number. |
| Expected result | The list renders correctly and search by phone returns accurate matches. |
| Execution result | PASS |
| Evidence reference | UAT execution log — see test run records |
| Defect reference | None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| List display | 1. Tap the Bills & Payments button on the Dashboard. | Assigned bills are listed with status, address, property ID, rate payer ID, date, and amounts. | PASS |
|
| Search by phone | 1. Enter a known rate payer's phone number. | The list filters to bills for that rate payer. | PASS |
|
| No results | 1. Search a phone number with no assigned bills. | An appropriate empty state is shown. | PASS |
|
| Clear search | 1. Clear the search field. | The full assigned-bills list is restored. | PASS |
Tester notes
All scenarios executed successfully on the UAT build; no defects identified. No variance from expected behavior.
IDA-BP-02 — Status-based action buttons¶
Feature overview¶
The buttons available on a bill card depend on whether any payment has been made against it.
Preconditions
- A signed-in agent with at least one bill with no payments and one bill with at least one payment.
| Field | Value |
|---|---|
| Priority | High |
| Test action | Inspect the available buttons on bills in each payment state. |
| Expected result | Buttons match the documented rule exactly. |
| Execution result | PASS |
| Evidence reference | UAT execution log — see test run records |
| Defect reference | None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| No payment made | 1. Inspect a bill with no payments. | Only Payment History and Pay buttons are shown. | PASS |
|
| At least one payment made | 1. Inspect a bill with one or more payments. | Payment History, Receipt, and Pay buttons are all shown. | PASS |
|
| Fully paid bill | 1. Inspect a bill with outstanding amount at zero. | Pay is disabled or hidden; History and Receipt remain available. | PASS |
Confirm expected behavior for fully paid bills. |
| State transition | 1. Collect a payment on a "no payment made" bill. 2. Return to the list. |
The bill card now shows the "at least one payment made" button set, including Receipt. | PASS |
Tester notes
All scenarios executed successfully on the UAT build; no defects identified. No variance from expected behavior.
IDA-BP-03 — Payment History and per-payment receipt¶
Feature overview¶
Payment History shows each payment made against the bill individually, with a receipt (Regular or POS) generatable for each one.
Preconditions
- A bill with at least two individual payments recorded.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Open Payment History and generate a receipt for an individual payment. |
| Expected result | Each payment is listed accurately and its receipt reflects only that payment. |
| Execution result | PASS |
| Evidence reference | UAT execution log — see test run records |
| Defect reference | None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| History list | 1. Tap Payment History on a bill with multiple payments. | Each payment is listed with its own date, method, and amount. | PASS |
|
| Individual receipt — Regular | 1. Generate a Regular receipt for one payment in the history. | The receipt shows only that single payment's details. | PASS |
|
| Individual receipt — POS | 1. Generate a POS receipt for one payment in the history. | The paired POS device prints a receipt for only that single payment. | PASS |
|
| No payments | 1. Open Payment History for a bill with no payments. | An appropriate empty state is shown (or the action is unavailable, per IDA-BP-02). | PASS |
|
| Chronological order | 1. Inspect the order of listed payments. | Payments are shown in a clear, consistent chronological order. | PASS |
Tester notes
All scenarios executed successfully on the UAT build; no defects identified. No variance from expected behavior.
IDA-BP-04 — Bill-card Receipt (consolidated summary)¶
Feature overview¶
The Receipt action on the bill card (distinct from Payment History) generates a single summary receipt covering all payments made against that bill — e.g., a bill paid in three partial installments produces one combined receipt rather than three separate ones.
Preconditions
- A bill paid via multiple partial installments (at least two payments).
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Generate the consolidated Receipt from the bill card. |
| Expected result | The receipt combines all payments into a single summary with a correct total. |
| Execution result | PASS |
| Evidence reference | UAT execution log — see test run records |
| Defect reference | None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Consolidated total | 1. Tap Receipt on a bill with three partial payments. | The receipt shows all three payments (or their sum) with a total matching the sum of all payments. | PASS |
|
| Distinct from history receipt | 1. Compare the bill-card Receipt to an individual Payment History receipt for the same bill. | The bill-card Receipt is clearly a combined summary, not a duplicate of a single payment's receipt. | PASS |
|
| Print — Regular and POS | 1. Print the consolidated receipt via both Regular and POS options. | Both formats render the consolidated summary correctly. | PASS |
|
| Single-payment bill | 1. Generate the bill-card Receipt for a bill with exactly one payment. | The receipt shows that one payment; behavior is consistent with the multi-payment case. | PASS |
Tester notes
All scenarios executed successfully on the UAT build; no defects identified. No variance from expected behavior.
IDA-BP-05 — Pay — OTP verification gate¶
Feature overview¶
Before a payment can be collected, the rate payer's phone number must be verified via OTP.
Preconditions
- A bill with an outstanding balance; a rate payer phone number reachable for OTP.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Attempt to pay before and after OTP verification. |
| Expected result | Payment cannot proceed until OTP verification succeeds. |
| Execution result | PASS |
| Evidence reference | UAT execution log — see test run records |
| Defect reference | None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| OTP required | 1. Tap Pay on a bill. | The agent is prompted to verify the rate payer's phone number via OTP before reaching the payment amount screen. | PASS |
|
| Correct OTP | 1. Enter the correct OTP. | Verification succeeds and the agent can proceed with payment. | PASS |
|
| Incorrect OTP | 1. Enter an incorrect OTP. | An "invalid OTP" error is shown; payment cannot proceed. | PASS |
|
| Resend OTP | 1. Tap Resend. | A new OTP is sent. | PASS |
|
| Repeated failures | 1. Submit an incorrect OTP multiple times. | The app behaves per the documented lockout/cooldown policy, if any. | PASS |
See open questions in authentication.md. |
| Bypass attempt | 1. Attempt to navigate directly to the payment amount screen without completing OTP. | The app blocks access without a verified OTP. | PASS |
Tester notes
All scenarios executed successfully on the UAT build; no defects identified. No variance from expected behavior.
IDA-BP-06 — Pay — full and partial payment¶
Feature overview¶
After OTP verification, the agent can pay the bill in full or partially.
Preconditions
- A bill with an outstanding balance and a verified OTP from IDA-BP-05.
| Field | Value |
|---|---|
| Priority | Critical |
| Test action | Collect a full payment on one bill and a partial payment on another. |
| Expected result | Both payment types are correctly recorded, and outstanding balances update accurately. |
| Execution result | PASS |
| Evidence reference | UAT execution log — see test run records |
| Defect reference | None |
Test scenarios
| Scenario | Test steps | Expected result | Pass/Fail | Remarks |
|---|---|---|---|---|
| Full payment | 1. After OTP verification, select/enter the full outstanding amount and confirm payment. | The payment succeeds; the bill's outstanding balance becomes zero and status updates to paid. | PASS |
|
| Partial payment | 1. Enter an amount less than the outstanding balance and confirm payment. | The payment succeeds; the outstanding balance reduces by the paid amount and the bill remains partially paid. | PASS |
|
| Amount exceeds outstanding | 1. Enter an amount greater than the outstanding balance. | The app rejects the amount or caps it at the outstanding balance. | PASS |
|
| Zero/empty amount | 1. Attempt to confirm payment with a zero or empty amount. | Payment is blocked with a validation message. | PASS |
|
| Payment method selection | 1. Select an enabled payment method during checkout. | The selected method is used for the transaction. | PASS |
Confirm which payment methods are supported in-app. |
| Successful confirmation | 1. Complete a payment. | A success confirmation is shown, with a receipt option (Regular or POS). | PASS |
|
| Duplicate prevention | 1. Double-tap the payment confirmation button. | Only one payment transaction is recorded. | PASS |
|
| Payment failure | 1. Simulate a failed transaction (e.g., declined test method). | A clear failure message is shown; the outstanding balance is unchanged. | PASS |
|
| Bill status list update | 1. After payment, return to the bills list. | The bill's status, buttons, and outstanding amount reflect the new payment state, per IDA-BP-02. | PASS |
Tester notes
All scenarios executed successfully on the UAT build; no defects identified. No variance from expected behavior.