Skip to content

ATS-ACC-TRX-016Find money records and understand available work: Capability Test Specification

Markdown

ATS-ACC-TRX-016

Find money records and understand available work: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaAccountingModuleTransactionsRevision2

Read atservices-accounting f47cb263react-console baf6dae3

Coverage

  • Rule covered
  • Transition not-applicable
  • Validation covered
  • Permission covered
  • Edge gap: FND-ACC-TRX-081
  • Failure gap: FND-ACC-TRX-081
  • Boundary covered
  • Concurrency gap: FND-ACC-TRX-081
  • Invariant covered
  • Interaction covered

Test Scenarios

8 scenarios proving CAP-ACC-TRX-016; 7 bound to an existing test.

01 Action lists explain lifecycle and protectionpermissionunittest
Proves
BR-CAP-ACC-TRX-016-01
Preconditions
Draft, issued, quote and locked documents exist with administrator and reader identities.
Steps
[ { "do": "Inspect each action list.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/unit/actions/invoice-actions.spec.js#it lists issue, void and delete on a draft locked against updates and deletes, each with the lock’s refusal as disabled_reason" } ]
Expected
Eligible transitions vary by standing, locks explain disabled actions and the reader receives none.
Data
Documents in each relevant state.
Bound to
services-accounting:modules/transactions/tests/unit/actions/invoice-actions.spec.js#it offers a draft issue, void and delete, none held back
services-accounting:modules/transactions/tests/unit/actions/invoice-actions.spec.js#it lists issue, void and delete on a draft locked against updates and deletes, each with the lock’s refusal as disabled_reason
services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it lists no action to a reader who may perform none
Source
services-accounting:modules/transactions/tests/unit/actions/invoice-actions.spec.js#it lists issue, void and delete on a draft locked against updates and deletes, each with the lock’s refusal as disabled_reason
02 Execution checks authority and current standingvalidationapinegativetest
Proves
BR-CAP-ACC-TRX-016-02 INV-DOM-ACC-TRX-006-11
Preconditions
A reader and already issued invoice are available.
Steps
[ { "do": "Attempt issue as the reader and issue on the real invoice.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 409 to the issue action on an issued invoice" } ]
Expected
Authority failure preserves the draft and lifecycle conflict rejects the second issue.
Data
Read and mutation personas.
Bound to
services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it is refused the issue action by a reader without accounting.invoices.adjust (403), the draft unchanged
services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 409 to the issue action on an issued invoice
Source
services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 409 to the issue action on an issued invoice
03 Read-only pages explain restricted money workpermissionbrowsernegativetest
Proves
BR-CAP-ACC-TRX-016-03
Preconditions
Staff hold only inspection authority.
Steps
[ { "do": "Open money records and their entry controls, then try writes.", "provenance": "test", "source": "react-console:acceptance/accounting/playwright/journeys/payments/ACT-ACC-0331.spec.ts#ACT-ACC-0331" } ]
Expected
Disabled controls explain restrictions and attempted changes fail.
Data
A read-only staff persona.
Bound to
Source
react-console:acceptance/accounting/playwright/journeys/payments/ACT-ACC-0331.spec.ts#ACT-ACC-0331
04 Workspace isolation treats foreign records as absentboundaryapinegativetest
Proves
BR-CAP-ACC-TRX-016-04 INV-DOM-ACC-TRX-006-01
Preconditions
Two independent workspaces hold financial records.
Steps
[ { "do": "Read and issue foreign invoices and inspect foreign memos and write-offs.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 404 to issuing the other tenant’s invoice in this tenant, and leaves it a draft" } ]
Expected
Absence responses retain all original records.
Data
Separate workspace identities.
Bound to
services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 404 for the other tenant’s invoice read in this tenant, as for an invoice that does not exist
services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 404 to issuing the other tenant’s invoice in this tenant, and leaves it a draft
Source
services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 404 to issuing the other tenant’s invoice in this tenant, and leaves it a draft
05 Transaction display reflects current moneyruleunittest
Proves
BR-CAP-ACC-TRX-016-06
Preconditions
Credited, partly paid and refund-reserved records exist.
Steps
[ { "do": "Query the combined financial dataset.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/db/transactions-views-d7.integration.spec.js#it answers the same invoice as credited in transactions_v, the list of every kind" } ]
Expected
Credited billing has zero open value, partial billing has 40.00 and receipt value excludes its reservation.
Data
A dataset reader role.
Bound to
services-accounting:modules/transactions/tests/integration/db/transactions-views-d7.integration.spec.js#it answers the same invoice as credited in transactions_v, the list of every kind
services-accounting:modules/transactions/tests/integration/db/transactions-views-d7.integration.spec.js#it keeps an invoice still owing its own display status: 6000.00 applied to 10000.00 reads partially paid, 40.00 open
services-accounting:modules/transactions/tests/integration/db/transactions-views-d7.integration.spec.js#it answers the same payment in transactions_v with the same open amount
Source
services-accounting:modules/transactions/tests/integration/db/transactions-views-d7.integration.spec.js#it answers the same invoice as credited in transactions_v, the list of every kind
06 Dataset context restricts visible rowsboundaryunitnegativetest
Proves
BR-CAP-ACC-TRX-016-07 INV-DOM-ACC-TRX-006-14
Preconditions
Readers operate in either workspace or no workspace.
Steps
[ { "do": "Read the transaction datasets in each context.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/db/transactions-view.integration.spec.js#it answers tenant B’s reader its own invoice alone, its customer’s name null where CRM has no such contact" } ]
Expected
Each workspace exposes its own records and absent context exposes none.
Data
Database query personas.
Bound to
services-accounting:modules/transactions/tests/integration/db/transactions-view.integration.spec.js#it answers tenant B’s reader its own invoice alone, its customer’s name null where CRM has no such contact
Source
services-accounting:modules/transactions/tests/integration/db/transactions-view.integration.spec.js#it answers tenant B’s reader its own invoice alone, its customer’s name null where CRM has no such contact
07 Internal history keeps document boundariesinvariantapitest
Proves
BR-CAP-ACC-TRX-016-08
Preconditions
An invoice was created, issued and credited.
Steps
[ { "do": "Read its retained document events.", "provenance": "test", "source": "services-accounting:modules/transactions/tests/integration/services/persistence/document-events.queries.integration.spec.js#it lists the invoice’s three events oldest first, not the credit memo’s of the same id nor another tenant’s" } ]
Expected
Three ordered events carry attribution and omit unrelated kind or workspace events.
Data
A transaction with adjustment history.
Bound to
services-accounting:modules/transactions/tests/integration/services/persistence/document-events.queries.integration.spec.js#it lists the invoice’s three events oldest first, not the credit memo’s of the same id nor another tenant’s
Source
services-accounting:modules/transactions/tests/integration/services/persistence/document-events.queries.integration.spec.js#it lists the invoice’s three events oldest first, not the credit memo’s of the same id nor another tenant’s
08 Discovery stays consistent with later correction and service workinteractionapiproposed
Proves
BR-CAP-ACC-TRX-016-01 BR-CAP-ACC-TRX-016-02 BR-CAP-ACC-TRX-016-06 BR-CAP-ACC-TRX-015-03 BR-CAP-ACC-TRX-015-04 BR-CAP-ACC-TRX-017-01 BR-CAP-ACC-TRX-020-02 BR-CAP-ACC-TRX-020-06
Preconditions
An isolated workspace has eligible customers, products, matching accounts, an open period and two open batches. Each branch owns separate financial records.
Steps
[ { "do": "Read financial standing and transaction rows after a service-created bill and receipt. Move the receipt to another batch, reload available actions, then change eligibility before executing an earlier action.", "provenance": "proposed", "source": "services-accounting:modules/transactions/tests/unit/actions/invoice-actions.spec.js#it lists issue, void and delete on a draft locked against updates and deletes, each with the lock’s refusal as disabled_reason; services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 409 to the issue action on an issued invoice; services-accounting:modules/transactions/tests/integration/db/transactions-views-d7.integration.spec.js#it answers the same invoice as credited in transactions_v, the list of every kind; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-02; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-06; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-03; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-04; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-017-know-where-a-customer-stands.md#BR-CAP-ACC-TRX-017-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-020-let-commerce-and-the-processor-work-with-accounting-safely.md#BR-CAP-ACC-TRX-020-02; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-020-let-commerce-and-the-processor-work-with-accounting-safely.md#BR-CAP-ACC-TRX-020-06" } ]
Expected
Displayed position still agrees with the financial records after movement; the changed action is rechecked and refused; the original service attribution remains retained.
Data
Separate command keys, two customers, invoice lines, receipts and credit; controlled processor outcomes and a fixed calendar where the branch requires them.
Source
services-accounting:modules/transactions/tests/unit/actions/invoice-actions.spec.js#it lists issue, void and delete on a draft locked against updates and deletes, each with the lock’s refusal as disabled_reason; services-accounting:modules/transactions/tests/e2e/invoices.e2e.spec.js#it answers 409 to the issue action on an issued invoice; services-accounting:modules/transactions/tests/integration/db/transactions-views-d7.integration.spec.js#it answers the same invoice as credited in transactions_v, the list of every kind; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-02; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-016-find-transactions-and-see-what-can-be-done-next.md#BR-CAP-ACC-TRX-016-06; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-03; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-015-move-a-transaction-to-another-batch-and-correct-its-details.md#BR-CAP-ACC-TRX-015-04; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-017-know-where-a-customer-stands.md#BR-CAP-ACC-TRX-017-01; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-020-let-commerce-and-the-processor-work-with-accounting-safely.md#BR-CAP-ACC-TRX-020-02; rhythm-v2-docs:specs/accounting/transactions/planning/capabilities/CAP-ACC-TRX-020-let-commerce-and-the-processor-work-with-accounting-safely.md#BR-CAP-ACC-TRX-020-06

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.