Skip to content

ATS-CRM-DQ-012Prepare a merge and choose its survivor: Acceptance Scenarios

Markdown

ATS-CRM-DQ-012

Prepare a merge and choose its survivor: Acceptance Scenarios

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CRM-DQ-012

KindAcceptance test setProduct areaCRMModuleDuplicate Review and Record MergingRevision1

Read atservices-crm a8d1364freact-console baf6dae3

Test Scenarios

7 scenarios proving CAP-CRM-DQ-012; 7 bound to an existing test.

01 Participant validation prevents invalid plansapinegativetest
Proves
BR-CAP-CRM-DQ-012-01
Preconditions
Prepare workspace records and an absorbed identity.
Steps
Try one participant, eleven, a repeat, an outside survivor and the absorbed record.
Expected
Invalid selections fail and the absorbed participant reports its survivor.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/merges/tests/integration/services/persistence/record-merge-plans.integration.spec.js#refuses a plan of one record, which is not a merge, as ObjectInvalid naming the field
services-crm:modules/merges/tests/integration/services/merges/merge-execution.integration.spec.js#refuses to plan a merge of an id it has merged away, naming the merged record
Source
services-crm:modules/merges/tests/integration/services/persistence/record-merge-plans.integration.spec.js#refuses a plan of one record, which is not a merge, as ObjectInvalid naming the field
02 Plan authority requires the type's complete permission pairapinegativetest
Proves
BR-CAP-CRM-DQ-012-02
Preconditions
Prepare contact-only authority, organization merge-only, read-only and merge-without-read callers.
Steps
Request contact and organization plans.
Expected
Every incomplete type-specific read-and-merge pair is refused.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#refuses the plan to a caller who may merge contacts but not organizations
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#refuses the plan of contacts to a caller who may merge organizations alone
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#refuses an organization plan to a caller who may read organizations but not merge them
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#refuses every plan route to a caller who may read contacts but not merge them
Source
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#refuses the plan to a caller who may merge contacts but not organizations
03 Survivor ranking explains the winning signalunittest
Proves
BR-CAP-CRM-DQ-012-03 BR-CAP-CRM-DQ-012-05
Preconditions
Prepare participants distinguished by login, integration identity, inbound references and creation age.
Steps
Compute the recommendation.
Expected
Signals apply in that order, reasons use record names, age-only ranking is weak and recency or completeness does not win.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/merges/tests/unit/services/planning/survivor-recommendation.spec.js#keeps the only participant an integration addresses, when no login separates them
services-crm:modules/merges/tests/unit/services/planning/survivor-recommendation.spec.js#keeps the participant the most rows outside the merge name, when no identity separates them
services-crm:modules/merges/tests/unit/services/planning/survivor-recommendation.spec.js#keeps the record created first, when nothing else separates them
services-crm:modules/merges/tests/unit/services/planning/survivor-recommendation.spec.js#is not decisive when the top two are still level after the references rule
services-crm:modules/merges/tests/unit/services/planning/survivor-recommendation.spec.js#never keeps the newest record, whatever it holds beyond the rules
services-crm:modules/merges/tests/unit/services/planning/survivor-recommendation.spec.js#never hands a reader a record id, the records being named by their names instead
Source
services-crm:modules/merges/tests/unit/services/planning/survivor-recommendation.spec.js#keeps the only participant a portal login names
04 Administrators can override the survivor suggestionapitest
Proves
BR-CAP-CRM-DQ-012-04
Preconditions
A named participant differs from the recommendation.
Steps
Create plans with and without an explicit survivor.
Expected
The named selection remains, while omission uses the recommendation.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/merges/tests/integration/services/merges/survivor-recommendation.integration.spec.js#leaves the survivor the request named alone, the recommendation being advisory
services-crm:modules/merges/tests/integration/services/merges/survivor-recommendation.integration.spec.js#is the survivor of a plan that named none, the default being the recommendation
Source
services-crm:modules/merges/tests/integration/services/merges/survivor-recommendation.integration.spec.js#leaves the survivor the request named alone, the recommendation being advisory
05 Participant changes preserve only applicable decisionsapitest
Proves
BR-CAP-CRM-DQ-012-08
Preconditions
A three-record plan holds decisions.
Steps
Remove one participant and read again after data changes.
Expected
Two participants remain and invalidated decisions are removed with explanations.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#answers the change with the two records that are left, in record_ids and in records
services-crm:modules/merges/tests/unit/services/planning/merge-decisions.spec.js#is dropped and reported when the plan is simply read again after the data moved on
Source
services-crm:modules/merges/tests/e2e/merges.e2e.spec.js#answers the change with the two records that are left, in record_ids and in records
06 Expiry applies only to overdue open plansapitest
Proves
BR-CAP-CRM-DQ-012-10
Preconditions
Prepare overdue open and blocked plans, an executed plan and a recent plan.
Steps
Run expiry processing.
Expected
Only the two overdue open statuses expire.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/merges/tests/integration/services/merges/merge-plan-expiry.integration.spec.js#expires the plan whose seven days are up, which is what takes it off the reader’s list
services-crm:modules/merges/tests/integration/services/merges/merge-plan-expiry.integration.spec.js#expires a blocked plan too, a plan nobody cleared being as abandoned as one nobody decided
services-crm:modules/merges/tests/integration/services/merges/merge-plan-expiry.integration.spec.js#leaves a plan that has been executed, whose merge happened and is nothing to close out
Source
services-crm:modules/merges/tests/integration/services/merges/merge-plan-expiry.integration.spec.js#expires the plan whose seven days are up, which is what takes it off the reader’s list
07 Queue launch displays survivor reasoningbrowsertest
Proves
BR-CAP-CRM-DQ-012-03 BR-CAP-CRM-DQ-012-04
Preconditions
Prepare groups with login, external-identity, reference and age distinctions.
Steps
Launch their plans from the queue.
Expected
The displayed recommendation and explanation follow the recorded ranking.
Data
The existing scenario setup supplies the required records.
Bound to
Source
react-console:acceptance/crm/playwright/journeys/merging/CRM-ACC-0248.spec.ts#CRM-ACC-0248

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.