ATS-CRM-DQ-008 Dismiss false matches and reopen review: Capability Test Specification
Markdown Design / CRM / Duplicate Review and Record Merging / Review Suspected Duplicate Records / Capability Test Specification Dismiss false matches and reopen review: Capability Test Specification Coverage The rule matrix names the authored checks. A covered category means that a scenario exists; it does not report a passing execution. The coverage notes and findings identify missing checks, while execution sources retain the exact assertions inspected.
Required Rule Scenarios BR-CAP-CRM-DQ-008-01ATS-CRM-DQ-008-01 , ATS-CRM-DQ-008-08 , ATS-CRM-DQ-008-09 , ATS-CRM-DQ-008-12 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-02ATS-CRM-DQ-008-02 , ATS-CRM-DQ-008-10 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-03ATS-CRM-DQ-008-03 , ATS-CRM-DQ-008-08 , ATS-CRM-DQ-008-09 , ATS-CRM-DQ-008-13 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-04ATS-CRM-DQ-008-04 , ATS-CRM-DQ-008-08 , ATS-CRM-DQ-008-14 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-05ATS-CRM-DQ-008-05 , ATS-CRM-DQ-008-11 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-06ATS-CRM-DQ-008-06 , ATS-CRM-DQ-008-08 , ATS-CRM-DQ-008-11 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-09ATS-CRM-DQ-008-07 , ATS-CRM-DQ-008-08 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-10ATS-CRM-DQ-008-16 , ATS-CRM-DQ-008-18BR-CAP-CRM-DQ-008-11ATS-CRM-DQ-008-17 , ATS-CRM-DQ-008-18
Dismiss and undo the group, remove a member, dismiss and restore a noted pair, then introduce a shared mobile. Dismiss an outside comparison, correct a name, add a shared mobile, dismiss again and absorb one participant through a merge.
These sequences test the handoffs named in the interaction coverage record. A proposed sequence remains unbound until an executable run checks its combined outcome; component assertions alone leave that obligation open.
Show evidence (sources, provenance, origins, pinned commits)Coverage Rule covered Transition covered Validation covered Permission covered Edge covered Failure gap: FND-CRM-DQ-059 Boundary gap: FND-CRM-DQ-059 Concurrency gap: FND-CRM-DQ-059 Invariant covered Interaction covered Test Scenarios 18 scenarios proving CAP-CRM-DQ-008 ; 8 bound to an existing test.
01 Dismissal retains attribution and the reviewed evidence transition api test
Proves BR-CAP-CRM-DQ-008-01 Preconditions An open pair awaits review. Steps Dismiss it using a note padded with spaces. Expected The stored dismissal has trimmed note, author, time and fingerprint and moves from open to dismissed work. Data The existing scenario setup supplies the required records. Bound to Source services-crm:modules/duplicates/tests/e2e/duplicates.e2e.spec.js #dismisses the pair, stamping who said so, when, and the note as trimmed 02 Repeated dismissal preserves the first reviewer invariant api test
Proves BR-CAP-CRM-DQ-008-02 Preconditions Prepare a dismissed pair and group. Steps Dismiss both again. Expected Both succeed without writes and retain the earlier identity, permitted name, time and note. Data The existing scenario setup supplies the required records. Bound to Source services-crm:modules/duplicates/tests/e2e/duplicates.e2e.spec.js #tells the second request the pair was already dismissed, with the earlier who, when and note (D-34) 06 Only new strong evidence reopens a dismissal transition unit test
Proves BR-CAP-CRM-DQ-008-06 Preconditions An existing pair is dismissed. Steps Correct a name typo and then add a shared phone. Expected The typo leaves the decision intact; the new phone reopens it with an explanation. Data The existing scenario setup supplies the required records. Bound to Source services-crm:modules/duplicates/tests/unit/services/matching/fingerprint.spec.js #leaves a pair dismissed when a name typo is fixed and nothing strong changes 07 Review authority controls decisions permission api negative test
Proves BR-CAP-CRM-DQ-008-09 Preconditions Prepare reader and reviewer callers. Steps Attempt dismissal and restoration as both. Expected The reviewer succeeds and the reader is refused. Data The existing scenario setup supplies the required records. Bound to Source services-crm:modules/duplicates/tests/e2e/duplicates.e2e.spec.js #answers 403 to that reader dismissing a pair, which is a decision and not a read 09 Observe open becoming dismissed after a reviewer rejects a pair, group or one member’s comparisons transition api proposed
Proves BR-CAP-CRM-DQ-008-01 BR-CAP-CRM-DQ-008-03 Preconditions Arrange open standing with the transition guard satisfied: Review authority and a valid optional note are required. Steps A reviewer rejects a pair, group or one member’s comparisons. Expected Read the dismissed standing and inspect the associated changes: persist the author and dismissal evidence; refresh dismissed grouping. Data Fixtures for open, the guard and the affected records; a fixed clock for time-dependent changes. Source services-crm:modules/duplicates/tests/e2e/duplicates.e2e.spec.js #records the evidence the dismissal was made against, which a later score is compared with 10 Observe dismissed becoming dismissed after the same rejection is submitted again transition api proposed
Proves BR-CAP-CRM-DQ-008-02 Preconditions Arrange dismissed standing with the transition guard satisfied: A dismissal is already stored. Steps The same rejection is submitted again. Expected Read the dismissed standing and inspect the associated changes: retain the existing decision; return its attribution and already-dismissed indication. Data Fixtures for dismissed, the guard and the affected records; a fixed clock for time-dependent changes. Source services-crm:modules/duplicates/tests/integration/services/persistence/duplicate-candidates.integration.spec.js #answers the second reviewer the EARLIER dismissal: its who, its name as visibility permits, its when and its note 11 Observe dismissed becoming open after restoration or newly scored strong evidence reopens review transition api proposed
Proves BR-CAP-CRM-DQ-008-05 BR-CAP-CRM-DQ-008-06 Preconditions Arrange dismissed standing with the transition guard satisfied: Restoration needs review authority and the relevant decision; automatic reopening needs new strong evidence. Steps Restoration or newly scored strong evidence reopens review. Expected Read the open standing and inspect the associated changes: remove dismissal fields; retain the current scoring result; refresh open grouping. Data Fixtures for dismissed, the guard and the affected records; a fixed clock for time-dependent changes. Source services-crm:modules/duplicates/tests/unit/services/matching/fingerprint.spec.js #leaves a pair dismissed when a name typo is fixed and nothing strong changes 12 Observe confirmed becoming dismissed after a reviewer rejects a confirmed pair transition api proposed
Proves BR-CAP-CRM-DQ-008-01 Preconditions Arrange confirmed standing with the transition guard satisfied: Confirmation does not prevent dismissal by a reviewer. Steps A reviewer rejects a confirmed pair. Expected Read the dismissed standing and inspect the associated changes: record the rejection; refresh dismissed grouping. Data Fixtures for confirmed, the guard and the affected records; a fixed clock for time-dependent changes. Source services-crm:modules/duplicates/services/persistence/duplicate-candidates.ts :dismissDuplicateCandidate 13 Observe open group becoming dismissed group after a reviewer dismisses all open comparisons in the selected group transition api proposed
Proves BR-CAP-CRM-DQ-008-03 Preconditions Arrange open group standing with the transition guard satisfied: Review authority and at least one undecided pair are required. Steps A reviewer dismisses all open comparisons in the selected group. Expected Read the dismissed group standing and inspect the associated changes: return the resulting dismissed component and its separate identity. Data Fixtures for open group, the guard and the affected records; a fixed clock for time-dependent changes. Source services-crm:modules/duplicates/tests/integration/services/persistence/duplicate-candidates.integration.spec.js #leaves no pair of the group dismissed, a group being decided about whole or not at all 14 Observe dismissed group becoming open group after a reviewer undoes the selected group rejection transition api proposed
Proves BR-CAP-CRM-DQ-008-04 Preconditions Arrange dismissed group standing with the transition guard satisfied: Only pairs attributed to that decision reopen; an empty restoration is refused. Steps A reviewer undoes the selected group rejection. Expected Read the open group standing and inspect the associated changes: return the resulting open component. Data Fixtures for dismissed group, the guard and the affected records; a fixed clock for time-dependent changes. Source services-crm:modules/duplicates/tests/integration/services/persistence/duplicate-candidates.integration.spec.js #leaves the pair somebody dismissed on its own dismissed, that being a decision of its own 15 Dismissal cannot be stored with incomplete attribution invariant api proposed
Proves INV-DOM-CRM-DQ-001-03 Preconditions One open pair and direct writes omitting either dismissal author or time. Steps Attempt each incomplete dismissed row, then dismiss and restore through the service. Expected Incomplete direct writes are refused; the restored pair has neither dismissal stamp. Data Records, versions and caller contexts owned by the run; transaction failure injection when the invariant concerns rollback. Source services-crm:modules/duplicates/db/duplicate-candidates.table.ts :candidateConstraints 16 A note over its limit leaves the pair undecided validation api negative proposed
Proves BR-CAP-CRM-DQ-008-10 Preconditions An open workspace comparison and a note of one thousand and one characters. Steps Dismiss with the oversized note; then try an unavailable pair and group. Expected The oversized note is rejected and the unavailable records return not found, with no review decision written. Data Run-owned records and caller permissions that distinguish the two cases. Source services-crm:modules/duplicates/tests/e2e/duplicates.e2e.spec.js #refuses a dismissal note longer than a note may be (400) 17 Removing one member leaves the other comparisons open rule browser negative proposed
Proves BR-CAP-CRM-DQ-008-11 Preconditions A connected three-record group. Steps Remove one record from the displayed group and read every pair. Expected Only that record’s comparisons are dismissed; the remaining members retain their open comparison. Data Run-owned records and caller permissions that distinguish the two cases. Source react-console:acceptance/crm/playwright/journeys/merging/CRM-ACC-0234.spec.ts #CRM-ACC-0234 ← Previous Capability Test Specification ATS-CRM-DQ-007 · Review duplicate groups in a shared queue: Capability Test Specification Next Capability Test Specification → ATS-CRM-DQ-009 · Record a duplicate that matching missed: Capability Test Specification