Skip to main content

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:

  1. Navigate to Customer Requests -> New.
  2. Pick the unit owned by the test customer.
  3. Enter Request: Test — AC not cooling, called in 04/22.
  4. Set Preferred Date to today and Time to Morning.
  5. Enter Contact Info: 5551234.
  6. Select Create Request.

Expected:

  • Request is created with status open and 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:

  1. Open the unit's /u/<guid> URL in an incognito browser (no login).
  2. Submit the request form:
    • Request: Test — leaking from the indoor unit
    • Preferred Date: today
    • Time: Morning
    • Contact Info: a phone number not on the unit's customer record.
  3. 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-1234 and a unit with an assigned QR code.

Steps:

  1. Open the unit's /u/<guid> URL in an incognito browser.
  2. Submit the request form with Contact Info: 5551234 (no formatting), and the other required fields filled in.
  3. 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:

  1. Open the request.
  2. In the Convert to Work Order card, pick the work order Type (e.g. Repair).
  3. Select the Create Work Order button.

Expected:

  • A new work order is created with status unassigned and 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 closed and 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:

  1. Open the request.
  2. In the Internal Notes card, add a note: Test — resolved over the phone, no truck-roll needed. Select the + button.
  3. In the Status card, change the dropdown to Closed.
  4. 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.