Skip to content

ATS-CRM-ACT-006Review activity changes and their attribution: Capability Test Specification

Markdown

ATS-CRM-ACT-006

Review activity changes and their attribution: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaCRMModuleActivities, Follow-ups and Task WorkRevision3

Read atservices-crm a8d1364freact-console baf6dae3rhythm-v2-docs 18a49edf

Coverage

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

Test Scenarios

4 scenarios proving CAP-CRM-ACT-006; 3 bound to an existing test.

01 Restrict revision accesspermissionapinegativetest
Proves
BR-CAP-CRM-ACT-006-01
Preconditions
The caller has activity read but no history permission.
Steps
Request activity history.
Expected
The request returns Forbidden.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#refuses the history to a caller without crm.activities.history: 403
react-console:components/activities/__tests__/activities-explorer-and-history.test.ts#refuses a reader who does not hold crm.activities.history, as CRM does
Source
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#refuses the history to a caller without crm.activities.history: 403
02 Record the full activity revision lifecycleinvariantapitest
Proves
BR-CAP-CRM-ACT-006-02 BR-CAP-CRM-ACT-006-03
Preconditions
An activity can be created, corrected and deleted.
Steps
Create the activity, change its subject, delete it and read its history.
Expected
Creation, correction and deletion yield attributed revisions ordered newest first, still readable after deletion.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#writes one revision of record type crm.activities, attributed to the caller
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#answers its history, newest first: the update and the create
Source
services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#writes one revision of record type crm.activities, attributed to the caller
03 Resolve historical entry labels from current recordsruleapitest
Proves
BR-CAP-CRM-ACT-006-04
Preconditions
An activity links a contact renamed after creation.
Steps
Open the creation revision.
Expected
The revision separates its sections and labels the contact with its current name.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#shows the creation section by section, the linked records named as they are called
services-crm:modules/activities/tests/integration/services/history/activity-history.integration.spec.js#presents the creation’s outcome under “Outcome” by the name the type gives it
Source
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#shows the creation section by section, the linked records named as they are called
04 Corrected content is visible in an attributed revisioninteractionapiproposed
Proves
BR-CAP-CRM-ACT-006-02 BR-CAP-CRM-ACT-006-04 BR-CAP-CRM-ACT-003-04
Preconditions
An interaction links two contacts.
Steps
Correct its subject and replace one link, then open that revision and the live entry.
Expected
The live entry reflects the correction and the revision identifies changed content and linked-record changes under the execution caller.
Data
Run-owned records in an isolated workspace; fixed clock for calendar checks.
Source
services-crm:modules/activities/services/persistence/activities.ts:recordedStampsOf; services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#shows the creation section by section, the linked records named as they are called; services-crm:modules/activities/tests/integration/services/persistence/activities.integration.spec.js#replaces the links as a set on update, keeping the row of a record still linked

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.