Skip to content

ATS-ACC-BAT-002Locate batches and inspect their current contents: Capability Test Specification

Markdown

ATS-ACC-BAT-002

Locate batches and inspect their current contents: 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 not-applicable
  • Validation gap: FND-ACC-BAT-056
  • Permission gap: FND-ACC-BAT-056
  • Edge covered
  • Failure gap: FND-ACC-BAT-056
  • Boundary covered
  • Concurrency gap: FND-ACC-BAT-056
  • Invariant covered
  • Interaction covered

Test Scenarios

11 scenarios proving CAP-ACC-BAT-002; 7 bound to an existing test.

01 Read access controls the page and action endpointpermissionbrowsernegativetest
Proves
BR-CAP-ACC-BAT-002-01
Preconditions
One persona can read batches and another cannot.
Steps
Open the batch list and request actions as each persona.
Expected
The denied persona receives the access page and 403; the reader receives the list.
Data
Provide the acceptance personas, including the reconciliation preparer.
Bound to
Source
services-accounting:modules/batches/tests/e2e/batch-actions.e2e.spec.js#refuses a caller without accounting.batches.read 403
02 Filtering and cursors preserve orderingboundaryapinegativetest
Proves
BR-CAP-ACC-BAT-002-02
Preconditions
Two units each have batches in two fiscal periods.
Steps
Apply the unit, status and period filters and follow a cursor; omit the year on a period filter.
Expected
Results sort by date then reference; a period without its year returns 400.
Data
Provide seeded batches.
Bound to
Source
services-accounting:modules/batches/tests/e2e/batches.e2e.spec.js#refuses a fiscal_period filter without its fiscal_year_id 400
03 Totals follow current documentsruleapitest
Proves
BR-CAP-ACC-BAT-002-03 BR-CAP-ACC-BAT-002-05
Preconditions
An Open batch contains several document kinds.
Steps
Retrieve that batch directly and through the list.
Expected
Counts and amounts agree with the documents, including payment, refund and net-cash totals.
Data
Provide the batch totals fixtures.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batch-totals.queries.integration.spec.js#counts exactly the real transactions of every kind and sums their amounts
04 Excluded documents contribute nothingedgeapinegativetest
Proves
BR-CAP-ACC-BAT-002-04
Preconditions
The batch contains voided invoices and payments and a reversed write-off with its reversal.
Steps
Retrieve the batch’s totals.
Expected
Those records add nothing; a pro forma invoice cannot be assigned to the batch.
Data
Provide the batch totals fixtures.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batch-totals.queries.integration.spec.js#leaves a reversal out of its own batch, and answers minor units as major units to two decimals
05 Workspace isolation hides batch existenceinvariantapinegativetest
Proves
BR-CAP-ACC-BAT-002-06 INV-DOM-ACC-BAT-001-12
Preconditions
Only the first workspace owns the batch.
Steps
From the second workspace, request its record, actions and list.
Expected
The record and actions return 404 and the list omits it.
Data
Provide two workspaces.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.queries.integration.spec.js#reads another tenant’s batch as absent
06 Dependents include indirect relationshipsruleapinegativetest
Proves
BR-CAP-ACC-BAT-002-07
Preconditions
A posted October batch supports November, which supports December.
Steps
Request October’s dependents and separately submit an empty selection.
Expected
Both downstream batches return with their identifying details; the empty selection returns 400.
Data
Provide three dependent batches.
Bound to
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.queries.integration.spec.js#answers the posted and downloaded batches depending on those named, through others, with their id, name, date and status
07 Dependency traversal has bounded workboundaryapinegativeproposed
Proves
BR-CAP-ACC-BAT-002-09
Preconditions
Existing batches form a dependency graph.
Steps
Submit 101 starting references and a traversal exceeding one thousand references.
Expected
Both requests fail at their respective limits.
Data
Provide fixtures appropriate to the stated accounting context.
Source
services-accounting:modules/batches/services/persistence/batches.ts:dependentBatchesOf; services-accounting:modules/batches/services/rules/batch-rules.ts:dependentBatchesOf
08 Recorded posting is distinguishable from live intakeinteractionapiproposed
Proves
BR-CAP-ACC-BAT-002-03 BR-CAP-ACC-BAT-013-11
Preconditions
One batch holds an issued invoice and an unvoided payment.
Steps
Read its live totals, post it, then read its recorded statistics and current totals.
Expected
The same reference is Posted with recorded posting time; live totals and recorded statistics can be inspected separately.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/persistence/batch-totals.queries.integration.spec.js#counts exactly the real transactions of every kind and sums their amounts; services-accounting:modules/batches/tests/integration/services/posting/rebuilt-documents.integration.spec.js#records the batch's statistics: the documents counted by kind and their base totals
09 Recovery changes dependent lookupinteractionapiproposed
Proves
BR-CAP-ACC-BAT-002-07 BR-CAP-ACC-BAT-016-06
Preconditions
October has a Posted November dependent.
Steps
Look up October’s dependents, recover November, then repeat the lookup.
Expected
November appears before recovery and is absent from the posted-dependent result afterward.
Data
An isolated workspace with the stated business-unit calendar, documents and configuration.
Source
services-accounting:modules/batches/tests/integration/services/persistence/batches.queries.integration.spec.js#answers the posted and downloaded batches depending on those named, through others, with their id, name, date and status; services-accounting:modules/batches/tests/e2e/batch-postings.e2e.spec.js#unposts a posted batch as a durable job: the batch is open again and its entries are deleted
10 Batch reporting preserves readable numbersruleapitest
Proves
BR-CAP-ACC-BAT-002-08
Preconditions
Two isolated batches have names Morning and Evening; only Morning has code DAY-1.
Steps
Read the Batches dataset as its workspace query reader.
Expected
The numbers are DAY-1 and Evening respectively and transaction-batch links identify their original collections.
Data
Owned records in an isolated workspace with the stated calendar and accounting setup.
Bound to
Source
services-accounting:modules/batches/tests/integration/db/batches-view.integration.spec.js#answers the reader of tenant A its batches, with every column, the number the code else the name
11 Batch dataset access needs its query grantpermissionapinegativeproposed
Proves
BR-CAP-ACC-BAT-002-08
Preconditions
Two callers differ only in their batch-query grant.
Steps
Request the Batches dataset as both callers.
Expected
The permitted request succeeds and the other is denied before rows are returned.
Data
Owned records in an isolated workspace with the stated calendar and accounting setup.
Source
services-accounting:modules/batches/tests/integration/db/batches-view.integration.spec.js#answers the reader of tenant A its batches, with every column, the number the code else 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.