Skip to content

ATS-ACC-BAT-001Collect a business unit’s documents in a new batch: Capability Test Specification

Markdown

ATS-ACC-BAT-001

Collect a business unit’s documents in a new batch: 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 covered
  • Validation covered
  • Permission gap: FND-ACC-BAT-055
  • Edge covered
  • Failure gap: FND-ACC-BAT-055
  • Boundary covered
  • Concurrency gap: FND-ACC-BAT-055
  • Invariant gap: FND-ACC-BAT-055
  • Interaction covered

Test Scenarios

14 scenarios proving CAP-ACC-BAT-001; 10 bound to an existing test.

01 Creation chooses Opentransitionapinegativetest
Proves
BR-CAP-ACC-BAT-001-01
Preconditions
The unit’s current fiscal period accepts new batches.
Steps
Submit one creation request without status and another requesting Closed.
Expected
Only the first creates a record, in Open; the second returns 400 without saving.
Data
Provide the e2e unit faa and its fiscal years.
Bound to
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a create naming the status 400: a new batch is always open
02 Names are unique within a unitvalidationapinegativetest
Proves
BR-CAP-ACC-BAT-001-02 INV-DOM-ACC-BAT-001-01
Preconditions
Daily already names a batch in the first unit.
Steps
Request Daily in that unit and in a second unit.
Expected
The existing name produces a 409 conflict in the first unit; creation succeeds in the second.
Data
Provide two business units of one workspace.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#refuses a name another batch of the unit has 409, name_in_use, in 1.0’s sentence (D14)
03 Dates select the fiscal contextboundaryapinegativetest
Proves
BR-CAP-ACC-BAT-001-03 INV-DOM-ACC-BAT-001-03
Preconditions
The configured calendar covers only the two years beginning in 2026.
Steps
Request an October batch with a conflicting period, then request a date five years later.
Expected
October receives its calendar period; the uncovered date fails with the date and unit identified.
Data
Provide fiscal years of the unit.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#refuses a date no fiscal year of the unit holds
04 Closed periods reject creationvalidationapinegativetest
Proves
BR-CAP-ACC-BAT-001-04
Preconditions
February’s fiscal period has closed.
Steps
Request a batch dated in a closed period through the creation API.
Expected
The request returns a period refusal and no batch is created.
Data
Provide a closed period (the fiscal close of an earlier month).
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#refuses a date in a closed period
05 Currency follows the unitruleapinegativetest
Proves
BR-CAP-ACC-BAT-001-05
Preconditions
The unit uses dollars as its base currency and also configures euros.
Steps
Request euros explicitly, then omit currency.
Expected
Euros fail validation; omission selects dollars.
Data
Provide a unit with two currencies.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#refuses a currency other than the unit’s base currency
06 Names need visible textvalidationapinegativetest
Proves
BR-CAP-ACC-BAT-001-06
Preconditions
No special setup is necessary.
Steps
Submit a creation request without a name.
Expected
The request returns 400 with a name-field error.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a create without a name 400, naming the field
07 References preserve the unit prefixedgeapinegativetest
Proves
BR-CAP-ACC-BAT-001-07
Preconditions
The unit reference is faa.
Steps
Let creation allocate a reference, then reuse a reference that already exists.
Expected
Allocation starts with faa-; reuse fails.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#refuses an id already in use
08 Staff cannot create fiscal system batchesedgeapinegativetest
Proves
BR-CAP-ACC-BAT-001-08
Preconditions
No special setup is necessary.
Steps
Request a deferred-revenue batch through ordinary creation.
Expected
A system-batch conflict returns 409 and saves nothing.
Data
Provide no fixtures beyond the stated setup.
Bound to
Source
services-accounting:modules/batches/tests/e2e/system-batches.e2e.spec.js#refuses creating a batch of a system type 409 system_batch
09 Create permission controls entrypermissionbrowsernegativetest
Proves
BR-CAP-ACC-BAT-001-09
Preconditions
The personas include a reader and a staff creator.
Steps
As the reader, inspect New Batch; also submit creation without permission.
Expected
The reader’s New Batch control is disabled and an unauthorized creation request returns 403.
Data
Provide the acceptance personas.
Bound to
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a create to a caller without accounting.batches.create 403
10 Creation stays in the authorized workspaceboundaryapinegativetest
Proves
BR-CAP-ACC-BAT-001-10
Preconditions
Two separate workspaces are available.
Steps
Submit a body naming the workspace outside the caller’s authority.
Expected
The request returns 400 and neither workspace gains a batch.
Data
Provide two acceptance workspaces.
Bound to
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a create naming another tenant in the body 400
11 A renamed collection remains findableinteractionapiproposed
Proves
BR-CAP-ACC-BAT-001-01 BR-CAP-ACC-BAT-003-06
Preconditions
Daily exists in an open October period.
Steps
Create Daily, rename it to Morning, then retrieve it by its original reference.
Expected
The reference is unchanged and the name is Morning.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a create naming the status 400: a new batch is always open; services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#refuses a rename to a name another batch of the unit has 409, name_in_use (D14)
12 Creation supplies a scheduled closeinteractionapiproposed
Proves
BR-CAP-ACC-BAT-001-01 BR-CAP-ACC-BAT-005-01
Preconditions
Today is open and tomorrow has a future close time.
Steps
Create Morning with tomorrow’s close time and retrieve its schedule.
Expected
Morning is Open and its one scheduled occurrence identifies the created batch.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a create naming the status 400: a new batch is always open; services-accounting:modules/batches/tests/integration/services/persistence/batches.integration.spec.js#keeps a one-occurrence schedule of the batch at that minute, in the tenant’s zone
13 New intake does not start posting attentioninteractionapiproposed
Proves
BR-CAP-ACC-BAT-001-01 BR-CAP-ACC-BAT-008-01
Preconditions
Attention publication is enabled for the unit.
Steps
Create Morning without an automatic close and inspect its attention.
Expected
Morning is Open and has no waiting item.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a create naming the status 400: a new batch is always open; services-accounting:modules/batches/tests/unit/attention/batches-awaiting-posting.spec.js#holds for a transaction batch in exactly closed, verified, posting and error
14 Manual intake occupies a generated nameinteractionapiproposed
Proves
BR-CAP-ACC-BAT-001-02 BR-CAP-ACC-BAT-010-02
Preconditions
An Open manual batch already has the rendered name Daily.
Steps
Roll the stream whose next rendered name is Daily and retrieve both batches.
Expected
The manual batch stays Daily and the generated batch is Daily (2).
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#refuses a name another batch of the unit has 409, name_in_use, in 1.0’s sentence (D14); services-accounting:modules/batches/tests/integration/services/roll/batch-roller.integration.spec.js#names the new batch with the " (2)" suffix when the previous batch is kept and still holds the name

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.