Skip to content

FAS-PFM-DJE-01Recorded bulk work: Feature Acceptance Suite

Markdown

FAS-PFM-DJE-01

Recorded bulk work: 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-01 as a whole.

01 One job connects approval, partial writes and inspection behaviournegative proposed
Exercises
CAP-PFM-DJE-001 CAP-PFM-DJE-002 CAP-PFM-DJE-003 CAP-PFM-DJE-005
Relies on
ATS-PFM-DJE-001-04 ATS-PFM-DJE-002-01 ATS-PFM-DJE-003-02 ATS-PFM-DJE-005-03
Preconditions
Prepare ten contacts, one locked and one carrying invalid update input.
Steps
[object Object]
Expected
Eight contacts change; two refusals remain inspectable in the same job and no contact changes during preview.
Data
Prepare ten contacts, one locked and one carrying invalid update input.
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#freezes one item per id, in the order the request named them; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#changes nothing while it is validating; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#refuses the other five, counting each as what refused it; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#answers a page of results in item order, each with its outcome
02 Lost authority changes both processing and its progress account interactionnegative proposed
Exercises
CAP-PFM-DJE-001 CAP-PFM-DJE-003 CAP-PFM-DJE-004 CAP-PFM-DJE-005
Relies on
ATS-PFM-DJE-001-01 ATS-PFM-DJE-003-09 ATS-PFM-DJE-004-02 ATS-PFM-DJE-005-03
Preconditions
Submit a multi-batch job and finish its first batch.
Steps
[object Object]
Expected
The job reports access revoked, earlier commits remain and later positions are unattempted.
Data
Submit a multi-batch job and finish its first batch.
Source
services-crm:modules/data-jobs/tests/e2e/data-jobs.e2e.spec.js#refuses a caller who may update one contact but holds no bulk key with 403; services-crm:modules/data-jobs/tests/integration/services/queue/data-job-worker.integration.spec.js#fails the whole job with the code, not just the batch; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#ends the job cancelled, not failed, once the batch it waited for has finished; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#answers a page of results in item order, each with its outcome
03 Pause and resume finish the saved work once lifecycle proposed
Exercises
CAP-PFM-DJE-001 CAP-PFM-DJE-003 CAP-PFM-DJE-004 CAP-PFM-DJE-005
Relies on
ATS-PFM-DJE-001-04 ATS-PFM-DJE-003-01 ATS-PFM-DJE-004-02 ATS-PFM-DJE-004-03
Preconditions
Submit a two-batch change and finish one batch.
Steps
[object Object]
Expected
Held work makes no change; resumed processing completes each remaining position once.
Data
Submit a two-batch change and finish one batch.
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#freezes one item per id, in the order the request named them; services-crm:modules/data-jobs/tests/integration/services/queue/data-job-worker.integration.spec.js#applies nothing the second time; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#ends the job cancelled, not failed, once the batch it waited for has finished; macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#holds a job paused before its source was read, and runs it to the end once resumed
04 A missing bulk key prevents the whole submission chain permissionnegative proposed
Exercises
CAP-PFM-DJE-001 CAP-PFM-DJE-002 CAP-PFM-DJE-003 CAP-PFM-DJE-005
Relies on
ATS-PFM-DJE-001-01
Preconditions
Use an updater without contact bulk authority and an authorized positive control.
Steps
[object Object]
Expected
The refused request creates no job or record change; the authorized preview is available for review.
Data
Use an updater without contact bulk authority and an authorized positive control.
Source
services-crm:modules/data-jobs/tests/e2e/data-jobs.e2e.spec.js#refuses a caller who may update one contact but holds no bulk key with 403
05 A replayed request cannot multiply its input outcomes regression proposed
Exercises
CAP-PFM-DJE-001 CAP-PFM-DJE-003 CAP-PFM-DJE-005
Relies on
ATS-PFM-DJE-001-05 ATS-PFM-DJE-003-01 ATS-PFM-DJE-005-03
Preconditions
Prepare a keyed update of fifty contacts.
Steps
[object Object]
Expected
Both requests identify one job and each input position has one durable committed outcome.
Data
Prepare a keyed update of fifty contacts.
Source
services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#answers the second submission with the first job, having written nothing; services-crm:modules/data-jobs/tests/integration/services/queue/data-job-worker.integration.spec.js#applies nothing the second time; services-crm:modules/data-jobs/tests/integration/services/jobs/contact-data-jobs.integration.spec.js#answers a page of results in item order, each with its outcome

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.