Skip to content

Test Cases: CRM

ModuleCORE-09URDCRM URD

1. Coverage Summary

AreaURD reqsTest casesCovered
Customer Profiles (CUS)78⚠️
Loyalty Points (PNT)55
Newsletter Subscribers (SUB)55
Sales Inquiries (INQ)45

⚠️ URD-CUS-007 (customer-to-user promotion) is In-progress — its test case is written but not yet passing. See the Traceability section.

2. Test Cases

TC-<AREA>-NNN lines up with URD-<AREA>-NNN. Priority = P1 (critical) / P2 (major) / P3 (minor).

Customer Profiles

TC IDURD refScenarioStepsExpectedP
TC-CUS-001URD-CUS-001Create customer with required fields1. Open new-customer form 2. Enter name, one phone, one email 3. SaveCustomer is created and scoped to the brandP1
TC-CUS-002URD-CUS-001Reject missing name1. Open form 2. Leave name blank 3. SaveCreation rejected; name is requiredP1
TC-CUS-003URD-CUS-002Brand scoping on create1. Staff of Brand A creates a customerCustomer belongs to Brand A onlyP1
TC-CUS-004URD-CUS-003Update profile1. Open existing customer 2. Change email 3. SaveEmail updated; other fields unchangedP1
TC-CUS-005URD-CUS-004Soft-delete preserves history1. Customer has linked orders 2. Owner soft-deletesCustomer leaves active list; record and orders remainP1
TC-CUS-006URD-CUS-005Brand isolation on read1. Brand B owner searches for a Brand A customerNo result; data is isolated by brandP1
TC-CUS-007URD-CUS-006Attach customer at checkout1. Cashier selects a customer for the open orderCustomer is linked to the orderP2
TC-CUS-008URD-CUS-007Promote customer to user1. Owner promotes a profile to a sign-in accountAccount gains credentials; conflicts are detectedP2

Loyalty Points

TC IDURD refScenarioStepsExpectedP
TC-PNT-001URD-PNT-001Earn points on completion1. Customer on order; rate set 2. Order completes paymentPoints added to balanceP1
TC-PNT-002URD-PNT-002Award = total × rate1. Order total 100,000; rate 0.01 2. Order completes1,000 points awardedP2
TC-PNT-003URD-PNT-003Running balance1. Customer earns on two ordersBalance equals the sum of both awardsP2
TC-PNT-004URD-PNT-004Idempotent award1. Payment-success event for one order is redeliveredPoints awarded once only; balance unchanged on retryP1
TC-PNT-005URD-PNT-005No-award guards1a. No customer attached, or 1b. rate zero/unset 2. Order completesNo points awardedP2

Newsletter Subscribers

TC IDURD refScenarioStepsExpectedP
TC-SUB-001URD-SUB-001New subscribe1. New email subscribes with topics + localeSubscriber created with an unsubscribe tokenP2
TC-SUB-002URD-SUB-002Email uniqueness1. Subscribe with an email already registeredNo duplicate row; existing record keptP2
TC-SUB-003URD-SUB-003One-click unsubscribe1. Click the token linkSubscriber is deactivatedP2
TC-SUB-004URD-SUB-004Resubscribe reactivates1. Deactivated subscriber subscribes againSubscriber is reactivated (idempotent)P2
TC-SUB-005URD-SUB-005Statistics1. Open subscriber statisticsTotals, monthly-new, and by-status counts shownP3

Sales Inquiries

TC IDURD refScenarioStepsExpectedP
TC-INQ-001URD-INQ-001Capture inquiry1. Visitor submits name, business info, messageInquiry stored with status NEWP2
TC-INQ-002URD-INQ-002Real-time admin notice1. Visitor submits an inquiryAdmin observation room receives a live notificationP2
TC-INQ-003URD-INQ-003Assign and reply1. Sales assigns to self 2. RepliesAssignee, reply author, and timestamp recordedP2
TC-INQ-004URD-INQ-004Convert1. Sales marks inquiry convertedOutcome and conversion timestamp recordedP2
TC-INQ-005URD-INQ-004Lost with reason1. Sales marks inquiry lost with a reasonStatus lost; reason recordedP3

QE Assessment Finding — promotion & order-link gaps

Source: developer docs review of @nx/identity, @nx/sale.

  1. Customer-to-user promotion (URD-CUS-007 / TC-CUS-008) is In-progress — the promotion path is not yet shipped, so TC-CUS-008 is written but not expected to pass.
  2. Customer-order link verify — confirm the sale-order carries the customer reference end to end before treating TC-CUS-007 and the points flow as fully covered; loyalty awards skip when no customer is attached.
  3. Conversion rate source — points use a per-merchant rate read from configuration that defaults to zero; TC-PNT-001/002 require the rate to be set for the test merchant.

3. Traceability

Every Must requirement must map to ≥1 test case. Flag gaps explicitly.

URD requirementTest case(s)Status
URD-CUS-001TC-CUS-001, TC-CUS-002✅ Covered
URD-CUS-002TC-CUS-003✅ Covered
URD-CUS-003TC-CUS-004✅ Covered
URD-CUS-004TC-CUS-005✅ Covered
URD-CUS-005TC-CUS-006✅ Covered
URD-CUS-006TC-CUS-007✅ Covered
URD-CUS-007TC-CUS-008⚠️ In-progress (promotion not yet shipped)
URD-PNT-001TC-PNT-001✅ Covered
URD-PNT-002TC-PNT-002✅ Covered
URD-PNT-003TC-PNT-003✅ Covered
URD-PNT-004TC-PNT-004✅ Covered
URD-PNT-005TC-PNT-005✅ Covered
URD-SUB-001TC-SUB-001✅ Covered
URD-SUB-002TC-SUB-002✅ Covered
URD-SUB-003TC-SUB-003✅ Covered
URD-SUB-004TC-SUB-004✅ Covered
URD-SUB-005TC-SUB-005✅ Covered
URD-INQ-001TC-INQ-001✅ Covered
URD-INQ-002TC-INQ-002✅ Covered
URD-INQ-003TC-INQ-003✅ Covered
URD-INQ-004TC-INQ-004, TC-INQ-005✅ Covered

All four Must requirements (URD-CUS-001004) are covered. The only open item is URD-CUS-007, a Could-priority feature still In-progress.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.