Skip to content

ATS-ACC-BKS-018Preview, run and review scheduled Accounting work: Capability Test Specification

Markdown

ATS-ACC-BKS-018

Preview, run and review scheduled Accounting work: Capability Test Specification

Markdown
  • DocumentProposed
  • Product intentProposed

Planning

Proves capability
CAP-ACC-BKS-018

Design

Executed by
TST-ACC-BKS-177, TST-ACC-BKS-187

KindAcceptance test setProduct areaAccountingModuleBooks, Business Units and Chart of AccountsRevision2

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

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

Test Scenarios

10 scenarios proving CAP-ACC-BKS-018; 6 bound to an existing test.

01 Describe upcoming local occurrencesruleapitest
Proves
BR-CAP-ACC-BKS-018-01
Preconditions
A New York weekday schedule runs at nine.
Steps
Preview it with a fixed reference and with the current time.
Expected
The response describes timing and five weekday instants/local times without problems.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/maintenance/tests/e2e/schedules.e2e.spec.js#answers 200 with the sentence it reads as, and neither problems nor warnings
02 Fill the omitted time zoneruleapitest
Proves
BR-CAP-ACC-BKS-018-02
Preconditions
The workspace uses Chicago time.
Steps
Preview without a zone.
Expected
Occurrences use nine on the Chicago clock.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/maintenance/tests/e2e/schedules.e2e.spec.js#reads it in the tenant’s zone from platform.tenants
03 Report impossible and excessive recurrencevalidationapinegativetest
Proves
BR-CAP-ACC-BKS-018-03
Preconditions
Definitions include no weekly weekdays and an hourly interval.
Steps
Preview both, imposing a daily minimum on the hourly case.
Expected
Problems are returned; the impossible definition has no description or runs.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/maintenance/tests/e2e/schedules.e2e.spec.js#answers a weekly schedule on no weekday as a problem, with no sentence and no runs
04 Authorize history through its subjectpermissionapinegativetest
Proves
BR-CAP-ACC-BKS-018-04
Preconditions
The schedule belongs to a recurring batch and has runs.
Steps
Read history with subject-read access and with application access only.
Expected
The subject reader succeeds and the access-only caller receives a refusal.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/maintenance/tests/e2e/schedules.e2e.spec.js#answers the runs to a caller who may read recurring batches
05 Claim safely and pause repeated failuresconcurrencyapitest
Proves
BR-CAP-ACC-BKS-018-05 BR-CAP-ACC-BKS-018-06 BR-CAP-ACC-BKS-018-07 INV-DOM-ACC-BKS-006-06
Preconditions
Due and disabled schedules, the spring gap and a repeatedly failing roll are prepared.
Steps
Race dispatchers, process the gap and run five failures.
Expected
One claim is made, disabled work is skipped, the tested gap shifts to 3:30 locally and the fifth failure pauses work.
Data
The setup needs no extra fixture records.
Bound to
Source
services-accounting:modules/maintenance/tests/integration/services/scheduling/schedules-end-to-end.integration.spec.js#is claimed exactly once
06 Maintain owned timing and historytransitionapiproposed
Proves
BR-CAP-ACC-BKS-018-10
Preconditions
An owner’s schedule already has run records.
Steps
Submit invalid timing, make a valid change and delete the schedule.
Expected
Validation refuses invalid timing, valid change updates its next occurrence and deletion removes its runs.
Data
Isolated fixture records matching this scenario’s setup.
Source
services-accounting:modules/maintenance/services/persistence/schedules.ts
07 Resume and exhaust owned schedulingtransitionapiproposed
Proves
BR-CAP-ACC-BKS-018-10 INV-DOM-ACC-BKS-006-06
Preconditions
Run-owned subjects have disabled, paused and finite enabled schedules with history.
Steps
Use independent fixtures to enable disabled and paused schedules and exhaust a finite enabled recurrence. Separately remove schedules while each is enabled, paused, disabled or ended and read their former history.
Expected
The referenced lifecycle determines next occurrences and standing, and deletion removes the corresponding history.
Data
Run-owned records for the stated setup; retain the initial values for comparison.
Source
specs/accounting/books/design/state-models/STATE-ACC-BKS-004-schedule-lifecycle.md:transitions
08 Run-history page-size endpointsboundaryapinegativeproposed
Proves
BR-CAP-ACC-BKS-018-08
Preconditions
An isolated workspace has records needed for both eligible and ineligible examples.
Steps
Request history at limits one, two hundred and two hundred and one.
Expected
Eligible limits return bounded newest-first pages and the excessive limit is refused.
Data
Run-owned records for the stated setup; retain the initial values for comparison.
Source
services-accounting:modules/maintenance/tests/e2e/schedules.e2e.spec.js#answers the newest runs first, as many as the limit, every property of each
09 A scheduled roll records its resolved periodinteractionapitest
Proves
BR-CAP-ACC-BKS-018-06 BR-CAP-ACC-BKS-010-02
Preconditions
Run-owned records satisfy the preconditions of the referenced capability proofs.
Steps
Execute a due local-day roll with generated coverage and inspect its batch date, year, period and history.
Expected
The batch and run record agree with the period selected for the occurrence local day.
Data
Run-owned records for the stated setup; retain the initial values for comparison.
Bound to
Source
services-accounting:modules/maintenance/tests/integration/services/scheduling/schedules-end-to-end.integration.spec.js#runs once, at 03:30 local (07:30 UTC), the first instant after the gap,services-accounting:modules/books/tests/e2e/fiscal-years.e2e.spec.js#answers 404 to the day after the last year, generating nothing
10 Keep one occurrence identity through unfinished-run redeliveryinvariantapinegativeproposed
Proves
INV-DOM-ACC-BKS-006-05 BR-CAP-ACC-BKS-018-05
Preconditions
A run-owned occurrence is claimed and its handler has not recorded a terminal outcome.
Steps
Interrupt the handler before completion and redeliver the same run message. Repeat with duplicate deliveries and inspect stored run identities and recorded handler attempts.
Expected
The occurrence retains one stored run identity; the recorded attempts expose any repeated work without treating claim uniqueness as exactly-once handler execution.
Data
An isolated due schedule, recording publisher, separate consumer invocations and a handler with a controlled interruption point.
Source
specs/accounting/books/design/objects/DOM-ACC-BKS-006-accounting-workspace.md:INV-DOM-ACC-BKS-006-05

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.