Skip to content

ATS-CRM-DQ-006Reuse a contact during portal registration: Acceptance Scenarios

Markdown

ATS-CRM-DQ-006

Reuse a contact during portal registration: Acceptance Scenarios

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CRM-DQ-006

KindAcceptance test setProduct areaCRMModuleDuplicate Review and Record MergingRevision1

Read atservices-crm a8d1364freact-console baf6dae3

Test Scenarios

6 scenarios proving CAP-CRM-DQ-006; 6 bound to an existing test.

01 Registration suggestions use the medium floor and rankingapitest
Proves
BR-CAP-CRM-DQ-006-01 BR-CAP-CRM-DQ-006-04
Preconditions
Prepare neighboring scores of 70, 50, 50, 50 and 38.
Steps
Call candidate selection.
Expected
Three contacts appear, shared e-mail first and tied scores by number, with staff-equivalent scores.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#answers the three best contacts above the floor, the e-mail match first and a tie in contact-number order, with what Platform masks
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#leaves out a fourth contact at the floor, because a member is shown three
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#scores every contact of the neighbourhood with the score and the reasons the TypeScript scorer gives it
Source
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#answers the three best contacts above the floor, the e-mail match first and a tie in contact-number order, with what Platform masks
02 Unavailable registration identities are excludedapinegativetest
Proves
BR-CAP-CRM-DQ-006-02
Preconditions
Prepare linked, deleted and other-workspace matching contacts.
Steps
Request candidates.
Expected
None of those contacts is offered.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#never offers a contact a portal user of the tenant already links
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#never offers a contact that has been deleted, its keys gone with it
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#offers only the asking tenant's contacts, the same sign-up in the other tenant finding that tenant's own
Source
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#never offers a contact a portal user of the tenant already links
03 Declining a suggestion preserves a review pairapitest
Proves
BR-CAP-CRM-DQ-006-05 BR-CAP-CRM-DQ-006-06 BR-CAP-CRM-DQ-006-07
Preconditions
Registration rejects an existing candidate.
Steps
Create the portal contact naming that candidate and detect the new record.
Expected
The contact has portal attribution and an open declined-match pair at 35 that remains grouped after detection.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#writes the contact with a UUIDv7 id, the next number, the names trimmed and computed and the stamps of portal-sign-up
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#records the declined pair, open, with origin portal_sign_up and the score and reasons the scorer gives it
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#keeps the declined pair through detection pass over the new contact, which groups it
Source
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#writes the contact with a UUIDv7 id, the next number, the names trimmed and computed and the stamps of portal-sign-up
04 Repeated registration reuses its recent contactapitest
Proves
BR-CAP-CRM-DQ-006-08
Preconditions
A registration has just created a contact.
Steps
Repeat the submission within one minute.
Expected
The function returns that contact and performs no further creation.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#answers the same contact for the same sign-up retried within a minute, and writes nothing more
Source
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#answers the same contact for the same sign-up retried within a minute, and writes nothing more
05 Registration honors contact validationapinegativetest
Proves
BR-CAP-CRM-DQ-006-09
Preconditions
An active contact reserves the intended primary e-mail.
Steps
Try creation with that address, then try creation without either name.
Expected
Both requests are rejected.
Data
The existing scenario setup supplies the required records.
Bound to
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#refuses an address that is already the primary address of a contact it did not just create
Source
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#refuses an address that is already the primary address of a contact it did not just create
06 Portal functions restrict their callers and workspaceapinegativetest
Proves
BR-CAP-CRM-DQ-006-10
Preconditions
Use the CRM application role and a session outside the target workspace.
Steps
Attempt the registration functions.
Expected
The calls are denied.
Data
The existing scenario setup supplies the required records.
Bound to
Source
services-crm:modules/duplicates/tests/integration/db/portal-sign-up-contacts.integration.spec.js#refuses CRM's own application role, which is not granted it

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.