Skip to content

ATS-CRM-REG-010Identify placements that need recalculation: Capability Test Specification

Markdown

ATS-CRM-REG-010

Identify placements that need recalculation: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaCRMModuleRegionsRevision3

Read atservices-crm a8d1364freact-console baf6dae3

Coverage

  • Rule gap: FND-CRM-REG-055
  • Transition covered
  • Validation gap: FND-CRM-REG-055
  • Permission gap: FND-CRM-REG-055
  • Edge covered
  • Failure gap: FND-CRM-REG-055
  • Boundary covered
  • Concurrency covered
  • Invariant covered
  • Interaction covered

Test Scenarios

9 scenarios proving CAP-CRM-REG-010; 6 bound to an existing test.

01 Policy saves preserve existing placementsinvariantapitest
Proves
BR-CAP-CRM-REG-010-01 AS-JNY-CRM-REG-001-01
Preconditions
Records were placed under an enabled older policy.
Steps
Save coverage that would choose different regions and read the records.
Expected
Their regions remain as previously stored.
Data
Contact records with existing regional values.
Bound to
Source
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
02 A successful current-generation run clears needtransitionapitest
Proves
BR-CAP-CRM-REG-010-02
Preconditions
Automatic placement is enabled.
Steps
Save rules, read settings, recalculate and read settings again.
Expected
Recalculation is needed after saving and no longer needed after successful current-policy processing.
Data
A single policy entry.
Bound to
Source
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment-rules.integration.spec.js#whether a recalculation is needed › says a recalculation is needed once the rules have been saved and nothing has recalculated
03 Policy-affecting writes raise needtransitionapitest
Proves
BR-CAP-CRM-REG-010-03
Preconditions
A successful run covers the current policy.
Steps
Add a rule, recalculate and deactivate an enabled rule’s target.
Expected
The rule write and relevant deactivation each raise the need signal.
Data
A single policy entry.
Bound to
Source
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment-rules.integration.spec.js#whether a recalculation is needed › says one is needed again as soon as a rule is added
04 Changes during processing remain outstandingconcurrencyapitest
Proves
BR-CAP-CRM-REG-010-04
Preconditions
A recalculation is running.
Steps
Add a rule, finish the run and inspect settings.
Expected
The settings still request recalculation.
Data
Record volume exceeding one processing batch.
Bound to
Source
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment-rules.integration.spec.js#whether a recalculation is needed › a rule saved while a recalculation is under way › says one is still needed, because the run was recorded under the rules as they were before
05 Equal timestamps do not hide changesboundaryapitest
Proves
BR-CAP-CRM-REG-010-05
Preconditions
A completed run establishes a successful generation.
Steps
Add a rule with a timestamp equal to that run’s start.
Expected
The generation comparison still requests recalculation.
Data
A fixed clock for coincident timestamps.
Bound to
Source
services-crm:modules/regions/tests/integration/services/region-assignment/region-assignment-rules.integration.spec.js#whether a recalculation is needed › a rule change stamped at the very instant the last run started › says one is needed after a rule is added at the very instant the run started
06 Disabled or absent settings suppress neededgeapitest
Proves
BR-CAP-CRM-REG-010-06
Preconditions
One workspace has no settings and another has disabled assignment.
Steps
Read both settings records.
Expected
Neither reports recalculation needed.
Data
Two distinct customer workspaces.
Bound to
Source
services-crm:modules/regions/tests/integration/services/persistence/region-assignment-settings.queries.integration.spec.js#a tenant that has saved no settings › says no recalculation is needed, because a tenant with no settings assigns nothing to recalculate
07 An unchanged save still raises neededgeapiproposed
Proves
BR-CAP-CRM-REG-010-08
Preconditions
A successful run covers the current policy.
Steps
Save an identical settings replacement.
Expected
The change counter advances and recalculation becomes needed.
Data
An existing assignment configuration.
Source
services-crm:modules/regions/services/persistence/region-assignment-settings.ts:saveRegionAssignmentSettings
08 Currency follows accepted policy changes and successful run coverageinteractionapiproposed
Proves
BR-CAP-CRM-REG-010-02 BR-CAP-CRM-REG-010-03 BR-CAP-CRM-REG-011-05 BR-CAP-CRM-REG-012-01
Preconditions
A saved policy has a completed run for its current generation.
Steps
Edit settings, then one rule, and retire an enabled target; inspect need after each change, run recalculation and read the completed run and settings.
Expected
Each policy-affecting change raises need; only successful coverage of the current generation clears it.
Data
A saved policy has a completed run for its current generation.
Source
WF-CRM-REG-003
09 Accepted unchanged saves still leave coverage outstandinginvariantapiproposed
Proves
BR-CAP-CRM-REG-010-08 INV-DOM-CRM-REG-002-08
Preconditions
An enabled policy has a completed current-generation run.
Steps
Save identical settings with the current settings version, then read need and completed-run coverage.
Expected
The accepted save advances generation and reports another recalculation needed.
Data
An enabled policy has a completed current-generation run.
Source
services-crm:modules/regions/services/persistence/region-assignment-settings.ts:saveRegionAssignmentSettings

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.