Skip to content

FAS-PFM-DJE-02Safeguards for bulk changes: Feature Acceptance Suite

Markdown

FAS-PFM-DJE-02

Safeguards for bulk changes: Feature Acceptance Suite

Markdown
  • DocumentProposed
  • Product intentProposed

Product areaPlatformModuleData Job EngineRevision1

Read atservices-platform ad3f6a65macroservice-libraries 54536a44services-crm a8d1364fservices-membership 5994c270react-console baf6dae3

Scenarios

5 scenarios proving FEAT-PFM-DJE-02 as a whole.

01 Selective restoration preserves later corrections behaviour proposed
Exercises
CAP-PFM-DJE-006 CAP-PFM-DJE-008
Relies on
ATS-PFM-DJE-006-01 ATS-PFM-DJE-008-02 ATS-PFM-DJE-008-03
Preconditions
Change thirty-five contacts and correct one title afterward.
Steps
[object Object]
Expected
Thirty-four titles return to their prior values; the correction remains with an explained exclusion.
Data
Change thirty-five contacts and correct one title afterward.
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/contact-update-versions.integration.spec.js#freezes the version of each of the three contacts on the validated job, by item position; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-update-rollback.integration.spec.js#plans a rollback of the eight nobody touched, and refuses the two somebody did; macroservice-libraries:packages/data-jobs/src/tests/integration/rollback-and-retry.integration.spec.ts#refuses a rollback plan with an unversioned item, and writes no rollback job
02 Deletion removes the possibility of restoring that record interaction proposed
Exercises
CAP-PFM-DJE-007 CAP-PFM-DJE-008
Relies on
ATS-PFM-DJE-007-03 ATS-PFM-DJE-008-04
Preconditions
Complete a title update and later delete one of its contacts through counted approval.
Steps
[object Object]
Expected
The earlier plan identifies the absent contact as excluded and the delete job creates no restoration.
Data
Complete a title update and later delete one of its contacts through counted approval.
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/contact-delete.integration.spec.js#refuses an apply that echoes no impact digest; macroservice-libraries:packages/data-jobs/src/data-job-actions.spec.ts#refuses Rollback by the code the service would answer
03 Planning and applying restoration have distinct retry effects lifecyclenegative proposed
Exercises
CAP-PFM-DJE-006 CAP-PFM-DJE-008
Relies on
ATS-PFM-DJE-008-01 ATS-PFM-DJE-004-05
Preconditions
Finish a supported update with reversible and blocked work.
Steps
[object Object]
Expected
Planning alone leaves retry available; applied restoration prevents blocked original work from overwriting restored values.
Data
Finish a supported update with reversible and blocked work.
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/contact-update-rollback.integration.spec.js#answers a rollback job of its own, linked to the job it compensates; macroservice-libraries:packages/data-jobs/src/tests/integration/rollback-and-retry.integration.spec.ts#refuses to retry a job that has been rolled back, so its blocked rows are not written after the undo
04 Restoration cannot bypass update authority permission proposed
Exercises
CAP-PFM-DJE-006 CAP-PFM-DJE-008
Relies on
ATS-PFM-DJE-008-06
Preconditions
Complete an update and prepare a caller holding bulk authority but lacking update authority.
Steps
[object Object]
Expected
The limited caller creates no compensating job; the authorized caller receives a reviewed versioned plan.
Data
Complete an update and prepare a caller holding bulk authority but lacking update authority.
Source
macroservice-libraries:packages/data-jobs/src/data-job-actions.spec.ts#offers Rollback for a finished job, requiring the bulk key and the per-record key the plan re-checks
05 A correction after restoration preview remains intact regression proposed
Exercises
CAP-PFM-DJE-006 CAP-PFM-DJE-008
Relies on
ATS-PFM-DJE-008-03
Preconditions
Prepare a restoration of two reversible contacts.
Steps
[object Object]
Expected
Only the unedited contact is restored; the edited contact retains its correction and reports changed since planning.
Data
Prepare a restoration of two reversible contacts.
Source
macroservice-libraries:packages/data-jobs/src/tests/integration/rollback-and-retry.integration.spec.ts#refuses a rollback plan with an unversioned item, and writes no rollback job

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.