Skip to content

ATS-PFM-DJE-010Manage selected configuration items through recorded jobs: Capability Test Specification

Markdown

ATS-PFM-DJE-010

Manage selected configuration items through recorded jobs: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleData Job EngineRevision2

Read atservices-crm a8d1364freact-console baf6dae3services-platform ad3f6a65

Coverage

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

Test Scenarios

8 scenarios proving CAP-PFM-DJE-010; 4 bound to an existing test.

01 Usage prevents removing referenced catalogue itemsruleapinegativetest
Proves
BR-CAP-PFM-DJE-010-01
Preconditions
Prepare twelve contact types, two assigned across three contacts.
Steps
[ { "do": "Validate and approve deletion of the selection.", "expect": "Ten types are removed; the two used types remain with their contact usage counts.", "provenance": "test", "source": "services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#answers the validation’s impact: ten it would delete and two it is blocked on" } ]
Expected
Ten types are removed; the two used types remain with their contact usage counts.
Data
Catalogue types with contact assignments.
Bound to
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#answers the validation’s impact: ten it would delete and two it is blocked on
02 Configuration refusals distinguish protected and absent inputvalidationapinegativeproposed
Proves
BR-CAP-PFM-DJE-010-02
Preconditions
Prepare a protected role, a locked type and an unknown identifier.
Steps
[ { "do": "Validate deletion for each.", "expect": "The reported code distinguishes each refusal.", "provenance": "proposed", "source": "services-crm:docs/data-jobs.md#Deleting records in bulk" } ]
Expected
The reported code distinguishes each refusal.
Data
Catalogue fixtures with protection and locks.
Source
services-crm:docs/data-jobs.md#Deleting records in bulk
03 Approval counts only eligible catalogue itemsvalidationapinegativetest
Proves
BR-CAP-PFM-DJE-010-03
Preconditions
Preview twelve items with two usage blocks.
Steps
[ { "do": "Inspect the phrase and attempt mismatched text and fingerprint.", "expect": "The phrase requests ten items; invalid approvals remove nothing.", "provenance": "test", "source": "services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#asks a person to type the number it would delete, not the number submitted" } ]
Expected
The phrase requests ten items; invalid approvals remove nothing.
Data
No additional fixture is needed.
Bound to
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#asks a person to type the number it would delete, not the number submitted
04 A status job is reviewed before applicationtransitionbrowsertest
Proves
BR-CAP-PFM-DJE-010-04
Preconditions
Prepare twelve active contact types.
Steps
[ { "do": "Choose Deactivate, preview, apply and enable Show Inactive.", "expect": "The types appear with inactive status.", "provenance": "test", "source": "react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0107.spec.ts#DJE-ACC-0107" } ]
Expected
The types appear with inactive status.
Data
Active catalogue types.
Bound to
Source
react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0107.spec.ts#DJE-ACC-0107
05 Catalogues without status expose deletion aloneboundaryapinegativeproposed
Proves
BR-CAP-PFM-DJE-010-05
Preconditions
Prepare phone-number types.
Steps
[ { "do": "Attempt status input and inspect their bulk actions.", "expect": "The proposed proof expects a status-field refusal and a Delete-only list.", "provenance": "proposed", "source": "services-platform:docs/milestones/PLAT-M20-small-bulk-operations.md#D3" } ]
Expected
The proposed proof expects a status-field refusal and a Delete-only list.
Data
No additional fixture is needed.
Source
services-platform:docs/milestones/PLAT-M20-small-bulk-operations.md#D3
06 Configuration actions require both relevant permissionspermissionbrowsernegativetest
Proves
BR-CAP-PFM-DJE-010-06
Preconditions
Use callers missing delete or bulk access.
Steps
[ { "do": "Inspect the type list and submit to the backend.", "expect": "The action explains missing authority and backend requests receive 403.", "provenance": "test", "source": "react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0109.spec.ts#DJE-ACC-0109" } ]
Expected
The action explains missing authority and backend requests receive 403.
Data
Permission personas.
Bound to
Source
react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0109.spec.ts#DJE-ACC-0109
07 Catalogue usage changes the count requiring approvalinteractionbrowsernegativeproposed
Proves
BR-CAP-PFM-DJE-007-03 BR-CAP-PFM-DJE-007-04 BR-CAP-PFM-DJE-010-01 BR-CAP-PFM-DJE-010-03
Preconditions
Select two unused contact types and one used type.
Steps
[ { "do": "Preview deletion, introduce usage of one previously eligible type, and approve the original phrase and fingerprint.", "expect": "The newly used type remains as a conflict, the originally blocked type remains, and the still-unused type is removed.", "provenance": "proposed", "source": "services-crm:modules/data-jobs/tests/integration/services/jobs/contact-delete.integration.spec.js#refuses an apply whose confirmation names another number of contacts; services-crm:modules/data-jobs/tests/integration/services/jobs/organization-delete.integration.spec.js#refuses the one the contact now belongs to as a conflict, because the delete approved was another one; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#says both are blocked because they are in use; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#asks a person to type the number it would delete, not the number submitted" } ]
Expected
The newly used type remains as a conflict, the originally blocked type remains, and the still-unused type is removed.
Data
Select two unused contact types and one used type.
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/contact-delete.integration.spec.js#refuses an apply whose confirmation names another number of contacts; services-crm:modules/data-jobs/tests/integration/services/jobs/organization-delete.integration.spec.js#refuses the one the contact now belongs to as a conflict, because the delete approved was another one; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#says both are blocked because they are in use; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#asks a person to type the number it would delete, not the number submitted
08 Reclassification makes a previously blocked type deletableinteractionbrowserproposed
Proves
BR-CAP-PFM-DJE-009-02 BR-CAP-PFM-DJE-010-01 BR-CAP-PFM-DJE-010-03 BR-CAP-PFM-DJE-010-07
Preconditions
Create an obsolete type used by three contacts and an unused replacement type.
Steps
[ { "do": "Inspect the usage block, change those contacts to the replacement through a selected-record job, then preview and approve type deletion.", "expect": "The second preview permits deletion of the obsolete type; the replacement and reclassified contacts remain.", "provenance": "proposed", "source": "react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0111.spec.ts#DJE-ACC-0111; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#says both are blocked because they are in use; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#asks a person to type the number it would delete, not the number submitted; react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0106.spec.ts#DJE-ACC-0106" } ]
Expected
The second preview permits deletion of the obsolete type; the replacement and reclassified contacts remain.
Data
Create an obsolete type used by three contacts and an unused replacement type.
Source
react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0111.spec.ts#DJE-ACC-0111; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#says both are blocked because they are in use; services-crm:modules/data-jobs/tests/integration/services/jobs/configuration-data-jobs.integration.spec.js#asks a person to type the number it would delete, not the number submitted; react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0106.spec.ts#DJE-ACC-0106

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.