Skip to content

JNY-CRM-REG-001An administrator establishes geographic placement

Markdown

JNY-CRM-REG-001

An administrator establishes geographic placement

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaCRMModuleRegionsRevision2End-to-endRequired

Read atservices-crm a8d1364freact-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Establish automatic placement for newly saved people and companies.
Screens
/console/{tenantId}/configuration/crm/regions/console/{tenantId}/configuration/crm/regions?tab=rules/console/{tenantId}/configuration/crm/regions/assignmentRules/console/{tenantId}/crm/contacts/new/console/{tenantId}/crm/contacts/{id}

Steps

#SurfaceActionCapabilityExpectedProvenance
1/console/{tenantId}/configuration/crm/regionsCreate the regional definitions in their drawers.CAP-CRM-REG-001The active catalogue entries are listed for policy targets.test
2/console/{tenantId}/configuration/crm/regions?tab=rulesVisit Assignment Rules and open its editor.CAP-CRM-REG-003The editor begins with the saved configuration and no staged changes.test
react-console:components/regions/__tests__/assignment-rules-view.test.tsx#Edit Assignment Rules › is offered while assignment is off too, since that is where it is turned on
3/console/{tenantId}/configuration/crm/regions/assignmentRulesEnable both record kinds, selecting preferred contact addresses and Main organization addresses.CAP-CRM-REG-003The save bar reflects the staged settings changes.test
react-console:components/regions/__tests__/assignment-rules-editor.test.tsx#the settings on the editor › ask for an address only for a kind that is assigned
4/console/{tenantId}/configuration/crm/regions/assignmentRulesAdd postal, state, country and fallback coverage in the intended sequence.CAP-CRM-REG-004The staged list presents the geographic policy in that order.test
5/console/{tenantId}/configuration/crm/regions?tab=rulesSave the policy, return to its read-only tab and preview a Boston address.CAP-CRM-REG-007The saved policy’s result identifies Northeast and its first postal rule.test
react-console:e2e/dev/regions.dev.spec.ts#turns automatic assignment on for contacts and organizations, and says which rule wins an address
6/console/{tenantId}/configuration/crm/regions?tab=rulesReview the saved settings and outstanding recalculation notice.CAP-CRM-REG-004Existing placements remain intact and the tab requests recalculation.test
7/console/{tenantId}/crm/contacts/newCreate a member with a Hartford address and read the saved record after processing.CAP-CRM-REG-008The calculated Northeast placement appears asynchronously after creation.test
react-console:e2e/dev/regions.dev.spec.ts#puts a new contact in the region its address falls in, and follows the preferred address

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate5The address falls outside coverage and no fallback exists.Preview explains that no rule matches.Staff return to the editor to revise and save coverage.test
failure6A target region disappears before policy saving.The editor identifies the missing target and the service rejects the invalid policy.The saved configuration remains intact.test
react-console:components/regions/__tests__/assignment-draft.test.ts#the issues a save would be refused for › names a rule whose region no longer exists
failure2The visitor has regional read authority only.The view supplies no Edit Assignment Rules action.Saved settings remain read-only.test
react-console:e2e/dev/regions.dev.spec.ts#shows a read-only user the regions, and offers them nothing that changes one

Assertions

IdStatementProvenance
01Saving policy leaves previous record placements intact.test
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment.integration.spec.js#rule changes and the recalculation › changes no record when the rules are saved
02The new member receives calculated placement after committed creation.test
services-crm:modules/regions/tests/e2e/regions.e2e.spec.js#gives that contact its region once the change event has been delivered
03Preview leaves the saved configuration unchanged.test
services-crm:modules/regions/tests/e2e/regions.e2e.spec.js#the preview › writes nothing: the tenant still has the rules it had

End-to-end policy: required: Configuration, record creation and asynchronous placement cross console and service boundaries and need browser coverage.

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.