Skip to main content

Customers — Test Cases

Manual acceptance test cases for the customer flows. See Customers concept for the underlying model and Add a Customer for the user-facing instructions.


TC-CUST-001 — Create a residential customer with email and phone

Verifies: Add a Customer

Preconditions:

  • Logged in as Office (with customers.create).
  • No customer exists with the test email tc-cust-001@example.com.

Steps:

  1. Navigate to Customers -> Add Customer.
  2. Choose Residential for type.
  3. Enter First Name: Test.
  4. Enter Last Name: Resident.
  5. Enter Email: tc-cust-001@example.com.
  6. Enter Phone: 5551234.
  7. Select Save.

Expected:

  • Redirect to the customers index with a success flash message.
  • The new customer appears in the list with the green Residential indicator.
  • Opening the customer shows the phone normalized to the tenant's country/area code (e.g. +1-869-555-1234).

TC-CUST-002 — Create a commercial customer with company name only

Verifies: Add a Customer

Preconditions:

  • Logged in as Office.

Steps:

  1. Navigate to Customers -> Add Customer.
  2. Choose Commercial for type.
  3. Leave First Name and Last Name blank.
  4. Enter Company Name: Test Commercial Co..
  5. Select Save.

Expected:

  • Customer is created successfully.
  • Display name in the index reads Test Commercial Co..
  • Editing the customer shows blue Commercial indicator.

TC-CUST-003 — Validation rejects customer with no name fields

Verifies: Add a Customer, Customers concept

Preconditions:

  • Logged in as Office.

Steps:

  1. Navigate to Customers -> Add Customer.
  2. Choose any type.
  3. Leave First Name, Last Name, and Company Name all blank.
  4. Enter Email: tc-cust-003@example.com.
  5. Select Save.

Expected:

  • Form does not submit.
  • A validation error appears requiring at least one of First Name or Company Name.
  • No customer record is created.

TC-CUST-004 — Multi-email customer normalizes phone list

Verifies: Customers concept

Preconditions:

  • Logged in as Office.

Steps:

  1. Navigate to Customers -> Add Customer.
  2. Choose Residential.
  3. Enter First Name: Multi.
  4. Enter Email: a@example.com, b@example.com.
  5. Enter Phone: 5551111, 5552222.
  6. Select Save.

Expected:

  • Customer is created.
  • Editing the customer shows two normalized emails and two normalized phone numbers, each in its own visible chip or list row.
  • Sending a notification (e.g. via TC-QUO-004) addresses both emails.

TC-CUST-005 — Customer integration enabled hides edit fields

Verifies: Customers concept

Preconditions:

  • Logged in as Admin (so you can flip the setting).
  • Tenant setting customer_integration_enabled is initially off.

Steps:

  1. Navigate to Settings and turn customer_integration_enabled on.
  2. Navigate to Customers -> Add Customer.

Expected:

  • Editable customer fields managed by the external system are hidden or disabled.
  • Importing customers from CSV is disabled (no Import button visible, or the Import action is rejected).
  • Reset the setting to off at the end of the test.

TC-CUST-006 — Discount rate flows through to a quotation

Verifies: Customers concept

Preconditions:

  • Logged in as Office.
  • A customer exists with discount_rate set to 10 (10%).

Steps:

  1. Navigate to Quotations -> Add Quotation.
  2. Pick the customer with the 10% discount.
  3. Add a single line item priced at $100.
  4. Select Save.
  5. View the quotation totals.

Expected:

  • The subtotal is $100.
  • The discount line shows -$10.00.
  • The pre-tax total reflects the discount applied.