Customer Requests — Test Cases
Manual acceptance test cases for the customer request flows. See Customer Requests concept and the customer request guides for context.
TC-CR-001 — Office logs a customer request manually with a verified contact
Verifies: Create a Customer Request
Preconditions:
- Logged in as Office.
- A test customer exists with phone
5551234. - The customer has at least one unit attached (use the unit from TC-UNIT-001).
Steps:
- Navigate to Customer Requests -> New.
- Pick the unit owned by the test customer.
- Enter
Request:Test — AC not cooling, called in 04/22. - Set
Preferred Dateto today andTimetoMorning. - Enter
Contact Info:5551234. - Select Create Request.
Expected:
- Request is created with status
openand the edit page opens. - The contact info shows a Verified badge (matches the unit's customer's phone).
- The request text is preserved exactly.
- An alert is created naming the customer, the unit, and a snippet of the request.
TC-CR-002 — Customer scans QR code and submits a request
Verifies: QR Codes concept
Preconditions:
- A unit exists with an assigned QR code (use TC-UNIT-004).
Steps:
- Open the unit's
/u/<guid>URL in an incognito browser (no login). - Submit the request form:
Request:Test — leaking from the indoor unitPreferred Date: todayTime:MorningContact Info: a phone number not on the unit's customer record.
- Submit.
Expected:
- A confirmation message appears: "Your service request has been submitted."
- Back in the office, navigate to Customer Requests. The new request is listed with status
open. - The request is pre-tagged with the unit (and therefore the customer who owns the unit).
- The contact info shows as Unverified because it doesn't match the unit's customer's phone or email.
TC-CR-003 — Phone normalization matches a returning caller
Verifies: Customer Requests concept
Preconditions:
- A test customer exists with phone
+1-869-555-1234and a unit with an assigned QR code.
Steps:
- Open the unit's
/u/<guid>URL in an incognito browser. - Submit the request form with
Contact Info:5551234(no formatting), and the other required fields filled in. - Open the resulting request in the office UI.
Expected:
- The contact info shows a Verified badge.
- The match holds even though the input was the unformatted local number — phone normalization strips formatting before comparison.
TC-CR-004 — Triage converts a request to a work order
Verifies: Triage a Customer Request
Preconditions:
- An open request exists, linked to a customer (use the request from TC-CR-001).
- Logged in as Office.
Steps:
- Open the request.
- In the Convert to Work Order card, pick the work order
Type(e.g.Repair). - Select the Create Work Order button.
Expected:
- A new work order is created with status
unassignedand the request text in its Customer Requests field. - A status history row is logged for the new work order: "Created from customer request #<id>".
- The customer request status moves to
closedand is stamped with the converter as last editor. - The browser is redirected to the new work order's edit page.
TC-CR-005 — Triage closes a request without dispatching
Verifies: Triage a Customer Request, Customer Requests concept
Preconditions:
- An open request exists.
- Logged in as Office.
Steps:
- Open the request.
- In the Internal Notes card, add a note:
Test — resolved over the phone, no truck-roll needed. Select the + button. - In the Status card, change the dropdown to
Closed. - Select Update Status.
Expected:
- Request status moves to
closed. - No work order is created.
- The note is preserved at the top of the Internal Notes list with the user's name and timestamp.
- The closed request is filtered out when the index is filtered to
Open.