Skip to content

ATS-CRM-ACT-008Configure activity types and the details they collect: Acceptance Test Set

Markdown

ATS-CRM-ACT-008

Configure activity types and the details they collect: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-CRM-ACT-008

KindAcceptance test setProduct areaCRMModuleActivities, Follow-ups and Task WorkRevision2

Read atservices-crm a8d1364freact-console baf6dae3

Test Scenarios

9 scenarios proving CAP-CRM-ACT-008; 9 bound to an existing test.

01 Reject type maintenance by readersapinegativetest
Proves
BR-CAP-CRM-ACT-008-01
Preconditions
The caller can read activity types only.
Steps
Create an activity type.
Expected
The API 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 a type’s create to a caller who may only read types: 403
Source
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#refuses a type’s create to a caller who may only read types: 403
02 Derive valid type identifiers and reserve reorderapinegativetest
Proves
BR-CAP-CRM-ACT-008-02
Preconditions
No conflicting custom type exists.
Steps
Create using only a name, explicitly use the reserved reorder identifier and derive it from a name.
Expected
The ordinary name yields an identifier; reserved-address cases fail without records.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#refuses a type whose id is order, the path of the reorder: 400
Source
services-crm:modules/activities/tests/integration/services/persistence/activity-types.integration.spec.js#derives the id from the name when the create names none
03 Reject invalid type names and descriptionsapinegativetest
Proves
BR-CAP-CRM-ACT-008-03
Preconditions
An activity type already reserves a name.
Steps
Submit duplicate, blank and 101-character names and a 1,001-character description.
Expected
Each request reports the invalid field.
Data
Each run creates and isolates the records it needs.
Bound to
Source
services-crm:modules/activities/tests/integration/services/persistence/activity-types.integration.spec.js#refuses a name another type of the tenant has
04 Validate field-mode and default configuration limitsapinegativetest
Proves
BR-CAP-CRM-ACT-008-04 BR-CAP-CRM-ACT-008-05
Preconditions
Configuration fixtures support direct validation.
Steps
Send unknown modes, colours and icons, out-of-range durations and follow-up intervals.
Expected
Every invalid configuration fails without retaining a type.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/integration/db/activities.table.integration.spec.js#refuses a field mode other than hidden, optional or required
Source
services-crm:modules/activities/tests/integration/db/activities.table.integration.spec.js#refuses a field mode other than hidden, optional or required
05 Apply outcome-list replacement semanticsapinegativetest
Proves
BR-CAP-CRM-ACT-008-06
Preconditions
A type holds three outcomes.
Steps
Supply a changed list, omit the list, exceed 50 entries and repeat an outcome name.
Expected
Changed lists replace, omissions preserve, and invalid lists fail.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/integration/services/persistence/activity-types.integration.spec.js#replaces the outcomes as a list: kept by id, created by name, removed when missing
Source
services-crm:modules/activities/tests/integration/services/persistence/activity-types.integration.spec.js#replaces the outcomes as a list: kept by id, created by name, removed when missing
06 Retain types and outcomes referenced by activitiesapinegativetest
Proves
BR-CAP-CRM-ACT-008-07
Preconditions
An activity uses the type and one outcome.
Steps
Remove that outcome and delete the type.
Expected
Both actions fail with guidance to deactivate instead.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/integration/services/persistence/activity-types.integration.spec.js#refuses to remove an outcome an activity has, saying to deactivate it instead
Source
services-crm:modules/activities/tests/integration/services/persistence/activity-types.integration.spec.js#refuses to remove an outcome an activity has, saying to deactivate it instead
07 Retire a type while preserving prior activitiesbrowsertest
Proves
BR-CAP-CRM-ACT-008-08
Preconditions
A type already has logged interactions.
Steps
Deactivate it, create another activity and correct an earlier one.
Expected
New work is rejected and the earlier interaction remains correctable.
Data
Each run creates and isolates the records it needs.
Bound to
Source
react-console:acceptance/crm/playwright/journeys/cross-application/CRM-ACC-0700.spec.ts#CRM-ACC-0700
08 Reorder types atomicallyapinegativetest
Proves
BR-CAP-CRM-ACT-008-09
Preconditions
Several activity types are present.
Steps
Send complete, incomplete, repeated and foreign-record reorder lists.
Expected
Only the complete valid list moves the types.
Data
Each run creates and isolates the records it needs.
Bound to
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#creates a type with its outcomes, lists it and puts the list in a new order
Source
services-crm:modules/activities/tests/e2e/activities.e2e.spec.js#creates a type with its outcomes, lists it and puts the list in a new order
09 Reject stale type replacementapinegativetest
Proves
BR-CAP-CRM-ACT-008-11
Preconditions
A type has advanced beyond an older edit version; separate locked fixtures require additional proof.
Steps
Replace it using the earlier version.
Expected
The version conflict preserves the current configuration.
Data
Each run creates and isolates the records it needs.
Bound to
Source
services-crm:modules/activities/tests/integration/services/persistence/activity-types.integration.spec.js#refuses a version the type has moved on from

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.