Skip to content

ATS-CRM-DQ-019Inspect merge outcomes and attribution: Capability Test Specification

Markdown

ATS-CRM-DQ-019

Inspect merge outcomes and attribution: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CRM-DQ-019

Design

Executed by
TST-CRM-DQ-176, TST-CRM-DQ-181, TST-CRM-DQ-183

KindAcceptance test setProduct areaCRMModuleDuplicate Review and Record MergingRevision1

Read atservices-crm a8d1364freact-console baf6dae3

Coverage

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

Test Scenarios

10 scenarios proving CAP-CRM-DQ-019; 8 bound to an existing test.

01 Workspace history filters retain paging orderboundaryapitest
Proves
BR-CAP-CRM-DQ-019-01
Preconditions
Prepare both record types, several requesters and a failed attempt.
Steps
List defaults, all statuses and each filter, then page.
Expected
Default results contain successes, requested status and filters narrow correctly and pages preserve order.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/merges/tests/integration/services/merges/tenant-merge-history.integration.spec.js#answers the merges that succeeded, which is what a history screen asks for by default
02 Absorbed and surviving identities share lineageruleapitest
Proves
BR-CAP-CRM-DQ-019-02
Preconditions
A merge has succeeded.
Steps
Request history through survivor and absorbed identity.
Expected
Both return the survivor's same history.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#answers the merge in the survivor’s history
03 Historical identity remains readable after absorptionruleapitest
Proves
BR-CAP-CRM-DQ-019-03
Preconditions
Prepare deleted participants and visible or unavailable requesters.
Steps
List their merges.
Expected
Participant names come from originals and requester names are current or blank.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#names the survivor and the records it took away, so a history list needs no further read
04 Outcome details preserve decisions and gap fillsruleapitest
Proves
BR-CAP-CRM-DQ-019-04
Preconditions
A completed merge includes a reviewer choice and an automatic fill.
Steps
Inspect its details.
Expected
The choice retains author and source, the fill retains its source and originals accompany the stored outcome.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/merges/tests/integration/services/merges/merge-outcome.integration.spec.js#keeps the reviewer’s choice with what it was, who made it, and the record it was taken from
05 Permanent outcomes cannot be erased or relocatedinvariantapinegativetest
Proves
BR-CAP-CRM-DQ-019-05
Preconditions
Prepare a merge record.
Steps
As the application, delete, truncate or move it between workspaces.
Expected
Every attempted mutation is refused.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/merges/tests/integration/db/record-merges.table.integration.spec.js#may not erase a merge, which holds the only copy left of the records it deleted
06 Record readers receive appropriately restricted lineagepermissionapinegativetest
Proves
BR-CAP-CRM-DQ-019-07 BR-CAP-CRM-DQ-019-08
Preconditions
Prepare a contact reader without merge management and an organization-only reader.
Steps
Read a contact's history and one outcome.
Expected
The contact reader sees history and field outcomes without login actions, carried decisions or checks; the other reader is denied.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/merges/tests/e2e/merged-from-history.e2e.spec.js#answers the reader the survivor’s merged-from history, naming the merge and the record it absorbed
07 Console history connects summaries and outcomespermissionbrowsertest
Proves
BR-CAP-CRM-DQ-019-09
Preconditions
Prepare several completed merges.
Steps
Filter Recently Merged, open details and follow a record history entry.
Expected
Attribution and participants accompany retained, moved and discarded values, and history links open their merge.
Data
The existing scenario setup supplies the required records.
Bound to
Source
react-console:acceptance/crm/playwright/journeys/merging/CRM-ACC-0266.spec.ts#CRM-ACC-0266
08 An application cannot erase the only retained originalinvariantapitest
Proves
INV-DOM-CRM-DQ-004-10
Preconditions
A completed merge with absorbed originals and the ordinary application role.
Steps
Attempt to delete the merge row.
Expected
The row remains and the operation is refused.
Data
Records, versions and caller contexts owned by the run; transaction failure injection when the invariant concerns rollback.
Bound to
Source
services-crm:modules/merges/tests/integration/db/record-merges.table.integration.spec.js#may not erase a merge, which holds the only copy left of the records it deleted
09 Privacy removal preserves a minimal attributed outcomeruleapinegativeproposed
Proves
BR-CAP-CRM-DQ-019-06
Preconditions
A completed merge with personal values in originals and discarded outcomes, plus an authorized privacy request.
Steps
Remove the requested person’s original values, then inspect history and retained non-personal merge metadata.
Expected
Requested personal values are unavailable while minimal attribution remains. This proposed obligation is not implemented by the pinned suites.
Data
Run-owned records and caller permissions that distinguish the two cases.
Source
FND-CRM-DQ-010
10 History and workload retain the same committed outcomeinteractionapiproposed
Proves
BR-CAP-CRM-DQ-019-01 BR-CAP-CRM-DQ-019-02 BR-CAP-CRM-DQ-019-03 BR-CAP-CRM-DQ-019-04 BR-CAP-CRM-DQ-019-05 BR-CAP-CRM-DQ-019-07 BR-CAP-CRM-DQ-019-08 BR-CAP-CRM-DQ-019-09 BR-CAP-CRM-DQ-019-06
Preconditions
Run-owned contact and organization records, the relevant staff permissions and the related state described by the sequence.
Steps
Complete a merge, read it through the survivor and an alias, inspect record history as a reader and compare the recent-merge overview.
Expected
Lineage, attribution and the recent count agree; restricted management details remain unavailable to the record-only reader.
Data
An isolated workspace with related records and fixed timestamps; owned participant failure injection where requested.
Source
CAP-CRM-DQ-019; CAP-CRM-DQ-011; CAP-CRM-DQ-018; CAP-CRM-ENT-016; WF-CRM-DQ-006; WF-CRM-DQ-009

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.