Skip to content

ATS-CRM-DQ-002Explain the strength of a duplicate suggestion: Capability Test Specification

Markdown

ATS-CRM-DQ-002

Explain the strength of a duplicate suggestion: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CRM-DQ-002

Design

Executed by
TST-CRM-DQ-176

KindAcceptance test setProduct areaCRMModuleDuplicate Review and Record MergingRevision1

Read atservices-crm a8d1364freact-console baf6dae3

Coverage

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

Test Scenarios

11 scenarios proving CAP-CRM-DQ-002; 10 bound to an existing test.

01 Contact evidence uses the fixed point scheduleruleunittest
Proves
BR-CAP-CRM-DQ-002-01
Preconditions
Build contact pairs representing every supported evidence item.
Steps
Score each fixture.
Expected
Each evidence item contributes its specified number of points.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/unit/services/matching/contact-scoring.spec.js#takes 40 off for dates of birth that are both present and different
Source
services-crm:modules/duplicates/tests/unit/services/matching/bands.spec.js#declares the weight of every row of §5.1
02 Contradictions limit contact confidenceedgeunittest
Proves
BR-CAP-CRM-DQ-002-02 BR-CAP-CRM-DQ-002-12
Preconditions
Prepare conflicting names, birth dates and suffixes alongside household and spouse examples.
Steps
Evaluate each pair.
Expected
The conflicts apply ceilings of 49, 49 and 35 with the lowest prevailing; household confidence is low and the spouse example falls below storage.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/unit/services/matching/contact-scoring.spec.js#scores a household sharing one e-mail address low, not high
services-crm:modules/duplicates/tests/unit/services/matching/contact-scoring.spec.js#scores a spouse pair below the band floor, which is what fixes 1.0’s “spouses score 94”
Source
services-crm:modules/duplicates/tests/unit/services/matching/contact-scoring.spec.js#holds a pair whose names both disagree to 49
03 Organization evidence applies its weights and ceilingsruleunittest
Proves
BR-CAP-CRM-DQ-002-03
Preconditions
Prepare each organization evidence type, a domain-only resemblance and an ancestor pair.
Steps
Score the fixtures.
Expected
Points follow the schedule, domain-only resemblance caps at 69 and ancestry at 35.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/unit/services/matching/organization-scoring.spec.js#holds a parent and its child to 35, however alike they read
Source
services-crm:modules/duplicates/tests/unit/services/matching/bands.spec.js#declares the weight of every row of §5.2
04 Band boundaries distinguish stored suggestionsboundaryunittest
Proves
BR-CAP-CRM-DQ-002-04
Preconditions
Use scores 0, 34, 35, 49, 50, 69, 70, 89, 90 and 100.
Steps
Resolve the confidence band for each score.
Expected
Values below 35 have no band; the remaining boundaries produce low, medium, high and very high correctly.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/unit/services/matching/bands.spec.js#gives 34 no band at all, so the pair is not stored
Source
services-crm:modules/duplicates/tests/unit/services/matching/bands.spec.js#gives 34 no band at all, so the pair is not stored
05 Reasons explain points before score ceilingsruleunittest
Proves
BR-CAP-CRM-DQ-002-05
Preconditions
A pair contains several evidence contributions and a score limit.
Steps
Render the explanation.
Expected
Reasons follow scoring order with their points, followed by the ceiling explanation.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/unit/services/matching/explanation.spec.js#renders one sentence per piece of evidence, in the order the scorer found it
Source
services-crm:modules/duplicates/tests/unit/services/matching/explanation.spec.js#renders one sentence per piece of evidence, in the order the scorer found it
06 Explanations mask private matching valuesinvariantunitnegativetest
Proves
BR-CAP-CRM-DQ-002-06
Preconditions
A pair agrees on e-mail, phone and birth date.
Steps
Generate the masked evidence explanation.
Expected
E-mail retains only its first character and domain, phone its last four digits and no full birth date appears.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/duplicates/tests/unit/services/matching/explanation.spec.js#never carries a full e-mail address into a sentence
07 Scoring does not depend on record orderinvariantunittest
Proves
BR-CAP-CRM-DQ-002-08
Preconditions
Prepare one contact pair.
Steps
Score twice and reverse the participants.
Expected
Score, reasons and ceilings remain identical.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/unit/services/matching/contact-scoring.spec.js#answers the same reasons and caps whichever record is first
Source
services-crm:modules/duplicates/tests/unit/services/matching/contact-scoring.spec.js#answers the same reasons and caps whichever record is first
08 Queue confidence is explained for member variantsinteractionbrowsertest
Proves
BR-CAP-CRM-DQ-002-01 BR-CAP-CRM-DQ-002-04 BR-CAP-CRM-DQ-002-05
Preconditions
Create five variants of a member through the console.
Steps
Review their Data Quality suggestions.
Expected
Evidence explains the displayed bands, private values are masked and sub-threshold pairs are absent.
Data
Provide fixtures for create five variants of a member through the console.
Bound to
Source
react-console:acceptance/crm/playwright/journeys/merging/CRM-ACC-0230.spec.ts#CRM-ACC-0230
09 Evidence totals remain boundedboundaryunittest
Proves
BR-CAP-CRM-DQ-002-13
Preconditions
Prepare pairs with excess positive evidence and conflicting evidence.
Steps
Score each pair and inspect the final total and applied ceilings.
Expected
Totals remain between zero and 100 and respect the lowest ceiling.
Data
Use the records and caller described in this scenario.
Bound to
Source
services-crm:modules/duplicates/services/matching/scoring.ts:scoreOf
10 The confidence floor separates two adjacent scoresinvariantunittest
Proves
INV-DOM-CRM-DQ-001-02
Preconditions
Pairs with computed scores of thirty-four and thirty-five.
Steps
Assign a confidence band to each score.
Expected
The lower score has no band; the higher score receives the low band.
Data
Records, versions and caller contexts owned by the run; transaction failure injection when the invariant concerns rollback.
Bound to
services-crm:modules/duplicates/tests/unit/services/matching/bands.spec.js#gives 34 no band at all, so the pair is not stored
Source
services-crm:modules/duplicates/tests/unit/services/matching/bands.spec.js#gives 34 no band at all, so the pair is not stored
11 Confidence controls both creation advice and review visibilityinteractionapiproposed
Proves
BR-CAP-CRM-DQ-002-01 BR-CAP-CRM-DQ-002-02 BR-CAP-CRM-DQ-002-12 BR-CAP-CRM-DQ-002-03 BR-CAP-CRM-DQ-002-04 BR-CAP-CRM-DQ-002-05 BR-CAP-CRM-DQ-002-06 BR-CAP-CRM-DQ-002-08 BR-CAP-CRM-DQ-002-13
Preconditions
Run-owned contact and organization records, the relevant staff permissions and the related state described by the sequence.
Steps
Score matching and contradictory contact variants, evaluate the configured action for each, and open their queue explanations.
Expected
The configured response and queue evidence use the same scored outcome and mask the private values.
Data
An isolated workspace with related records and fixed timestamps; owned participant failure injection where requested.
Source
CAP-CRM-DQ-002; CAP-CRM-DQ-003; CAP-CRM-DQ-007; WF-CRM-DQ-001

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.