Skip to content

ATS-ACC-BAT-009Configure recurring batch streams: Capability Test Specification

Markdown

ATS-ACC-BAT-009

Configure recurring batch streams: Capability Test Specification

Markdown
  • DocumentProposed
  • Product intentProposed

KindAcceptance test setProduct areaAccountingModuleBatch ManagementRevision2

Read atservices-accounting f47cb263react-console baf6dae3rhythm-v2-docs 37405d50

Coverage

  • Rule covered
  • Transition gap: FND-ACC-BAT-063
  • Validation covered
  • Permission gap: FND-ACC-BAT-063
  • Edge gap: FND-ACC-BAT-063
  • Failure gap: FND-ACC-BAT-063
  • Boundary covered
  • Concurrency covered
  • Invariant covered
  • Interaction covered

Test Scenarios

17 scenarios proving CAP-ACC-BAT-009; 11 bound to an existing test.

01 Recurring ownership and schedule identity stay fixedinvariantapinegativetest
Proves
BR-CAP-ACC-BAT-009-01 INV-DOM-ACC-BAT-001-09
Preconditions
A recurring configuration belongs to the selected unit.
Steps
Replace it with another unit and directly change its unit or schedule reference.
Expected
Replacement returns 409; both direct changes trigger the database immutability refusal.
Data
Provide two units.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 409 to a change of business unit
02 Creation validates schedule and referenceruleapinegativetest
Proves
BR-CAP-ACC-BAT-009-02
Preconditions
No special setup is necessary.
Steps
Omit the schedule, create Daily credit cards without a reference and repeat that creation.
Expected
The omission identifies schedule; allocation produces daily_credit_cards; reuse identifies the conflicting reference.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 400 naming schedule to a body without one
03 Rolls cannot occur more than dailyboundaryapinegativetest
Proves
BR-CAP-ACC-BAT-009-03
Preconditions
No special setup is necessary.
Steps
Submit an hourly recurrence and check whether it was saved.
Expected
The library validation returns 400 without writing a record.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 400 to a schedule that would run more often than once a day
04 Templates accept only the supported language and variablesvalidationapinegativetest
Proves
BR-CAP-ACC-BAT-009-04
Preconditions
No special setup is necessary.
Steps
Submit invalid Liquid, an unknown code-template variable and an earlier-product template.
Expected
Each 400 identifies the affected template field.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 400 naming batch_code_template to a template using a variable a batch template does not provide
05 Activation attempts immediate intaketransitionapinegativetest
Proves
BR-CAP-ACC-BAT-009-06
Preconditions
One unit covers today in its calendar and another does not.
Steps
Create active configurations in both, then deactivate and reactivate the first.
Expected
The valid unit receives today’s Open batch; the other retains a first-batch refusal without a batch; reactivation attempts a new first batch.
Data
Provide fiscal years.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/roll/batch-roller.integration.spec.js#saves a recurring batch whose first batch is refused, with the refusal and no batch
06 Inactive recurrence leaves current intake usableinteractionapitest
Proves
BR-CAP-ACC-BAT-009-07
Preconditions
An active configuration has an Open batch and a schedule paused after five failures.
Steps
Deactivate the configuration, inspect its next run, then reactivate and inspect scheduling again.
Expected
Deactivation removes the next run; reactivation restores scheduling and clears the pause and failure count.
Data
Provide assignment settings naming the recurring batch.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers no next run once deactivated
07 Replacement requires the current versionconcurrencyapinegativetest
Proves
BR-CAP-ACC-BAT-009-08
Preconditions
The configuration currently rolls in late afternoon.
Steps
Replace it with a later time using the current version, then the old version and then no version.
Expected
The first updates scheduling and its description; stale and absent versions return 409 and 400.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 409 StaleObject to a replacement at the version first read
08 Assignment references prevent deletioninteractionapinegativetest
Proves
BR-CAP-ACC-BAT-009-09 INV-DOM-ACC-BAT-001-11
Preconditions
The default and two ordered assignment rules reference the configuration.
Steps
Delete the recurring configuration.
Expected
A 409 identifies the default and rule positions and retains its schedule.
Data
Provide batch assignment settings.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 409 naming the settings and how they name it
09 Deletion removes only unused configurationtransitionapinegativetest
Proves
BR-CAP-ACC-BAT-009-10
Preconditions
An unused configuration has schedule history and an empty eligible active batch.
Steps
Delete the unused configuration and inspect its schedule, run history and active batch.
Expected
The unused configuration, its schedule and history and its empty active batch are absent.
Data
Provide a rolled batch with a document.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/roll/batch-roller.integration.spec.js#takes its empty active batch with it
10 Recurring configuration prevents unit deletioninvariantapinegativetest
Proves
BR-CAP-ACC-BAT-009-11
Preconditions
The unit owns a recurring configuration.
Steps
Delete the business unit.
Expected
A reference conflict returns 409 and preserves the unit.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 409 naming recurring batches
11 Application and write access are distinctpermissionapinegativetest
Proves
BR-CAP-ACC-BAT-009-12
Preconditions
A reader can use Accounting while another principal lacks application access.
Steps
As the reader, list, read, inspect runs and preview, then create, replace and delete; as the other principal, list.
Expected
Reader requests succeed only for reads; writes return permission 403 and the other principal receives application-access 403.
Data
Provide security fixtures.
Bound to
Source
services-accounting:modules/batches/tests/e2e/batches-security.e2e.spec.js#is refused the create 403 permission_missing
12 Rendering respects the subject limitboundaryunitnegativeproposed
Proves
BR-CAP-ACC-BAT-009-14
Preconditions
A template would produce an oversized label.
Steps
Render the next batch’s name and reference code.
Expected
Output beyond the renderer’s subject boundary is refused.
Data
Provide fixtures appropriate to the stated accounting context.
Source
services-accounting:modules/batches/services/rules/recurring-batch-rules.ts:renderBatchTemplate
13 Deleting unused intake clears the streaminteractionapiproposed
Proves
BR-CAP-ACC-BAT-006-06 BR-CAP-ACC-BAT-009-06
Preconditions
A stream points to an unused Open batch.
Steps
Delete the batch, read the stream and deliver its next roll.
Expected
The first read has no active reference; the roll supplies a new Open intake batch.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#deletes the batch a recurring batch names as its active batch and clears the reference (DEF-ACT-0012); services-accounting:modules/batches/tests/integration/services/roll/batch-roller.integration.spec.js#saves a recurring batch whose first batch is refused, with the refusal and no batch
14 Inactive intake survives until reactivationinteractionapiproposed
Proves
BR-CAP-ACC-BAT-009-07 BR-CAP-ACC-BAT-010-09
Preconditions
A stream has an Open active batch.
Steps
Deactivate it, deliver a stale occurrence, then reactivate with the current version.
Expected
The stale occurrence opens nothing; reactivation attempts a first batch and returns its result.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers no next run once deactivated; services-accounting:modules/batches/services/roll/recurring-batch-roll.ts
15 Routing references prevent stream removalinteractionapinegativeproposed
Proves
BR-CAP-ACC-BAT-009-09 BR-CAP-ACC-BAT-011-11
Preconditions
Routing names Daily as its default and Cards in its first rule.
Steps
Try deleting both streams, remove routing and repeat deletion with unused intake.
Expected
The referenced deletes return 409; after routing removal the unused streams can be deleted.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 409 naming the settings and how they name it; services-accounting:modules/batches/tests/e2e/batches-security.e2e.spec.js#is refused the save 403 permission_missing
16 Reactivation and rolling have distinct posting effectsinteractionapinegativeproposed
Proves
BR-CAP-ACC-BAT-009-06 BR-CAP-ACC-BAT-013-03
Preconditions
Two inactive streams each retain a populated Open predecessor.
Steps
Reactivate the first and roll the second after activation using separate fixtures.
Expected
Reactivation can retire intake without a posting request; the subsequent roll records the predecessor’s posting request or refusal.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/roll/batch-roller.integration.spec.js#saves a recurring batch whose first batch is refused, with the refusal and no batch; services-accounting:modules/batches/tests/e2e/batch-postings.e2e.spec.js#posts a batch as a durable job: the answer is the job, and the job posts the batch
17 Recurring pagination exposes the supported maximumboundaryapinegativeproposed
Proves
BR-CAP-ACC-BAT-009-13
Preconditions
An isolated unit owns two hundred one matching recurring configurations.
Steps
Request a page of two hundred, follow its cursor and request more than the supported limit.
Expected
The first page contains two hundred distinct records and the next contains the remaining record; oversized requests never return more than two hundred records.
Data
Owned records in an isolated workspace with the stated calendar and accounting setup.
Source
services-accounting:modules/batches/tests/e2e/recurring-batches.e2e.spec.js#answers 400 to a limit above 200

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.