ATS-ACC-BKS-016 Control access and safe changes to books configuration: Capability Test Specification
Markdown Design / Accounting / Books, Business Units and Chart of Accounts / Workspace Policy and Operations / Capability Test Specification Control access and safe changes to books configuration: Capability Test Specification Coverage Apply resource permission tiers. Require application access and licensing. Separate resource permissions. Confine records to their workspace. Reject stale or incomplete replacements. Clean text before validation. Respect configured locks. Validate page requests and offset syntax. Keep reader editors safe. The structured coverage map distinguishes specified examples from remaining findings. Proposed examples require executable proof before qualification.
Audit configuration without alteration. Resource grants govern unit setup atomically. Read-only chart access preserves protected destinations. Workspace availability precedes configuration access. A stale document choice leaves the unit unchanged. Related-capability and workflow references identify the seams each scenario exercises. The lifecycle coverage record retains transitions that still need individual proof.
Binding Review The pinned service and browser assertions support the registered bindings. Original test references remain beside each scenario so partial evidence and unresolved conformance remain reviewable.
Show evidence (sources, provenance, origins, pinned commits)Coverage Rule covered Transition not-applicable Validation covered Permission covered Edge gap: FND-ACC-BKS-077 Failure gap: FND-ACC-BKS-077 Boundary covered Concurrency covered Invariant covered Interaction covered Test Scenarios 15 scenarios proving CAP-ACC-BKS-016 ; 9 bound to an existing test.
01 Apply resource permission tiers permission api negative test
Proves BR-CAP-ACC-BKS-016-01 Preconditions Reader and administrator principals exist. Steps Read each configuration kind and attempt mutations with both principals. Expected The reader can inspect but receives write refusals without changes; valid administrator mutations succeed. Data The setup needs no extra fixture records. Bound to Source services-accounting:modules/books/tests/e2e/configuration-security.e2e.spec.js #is refused the create 403 permission_missing 02 Require application access and licensing permission api negative test
Proves BR-CAP-ACC-BKS-016-02 Preconditions Callers include denied access, missing licensing and access-only cases. Steps Request resource routes and vocabularies. Expected Access and licensing failures are distinct, and vocabulary reads need application access alone. Data The setup needs no extra fixture records. Bound to Source services-accounting:modules/books/tests/e2e/currencies.e2e.spec.js #answers 403 app_not_permitted to a caller denied accounting.application.access 04 Confine records to their workspace invariant api negative test
Proves BR-CAP-ACC-BKS-016-04 Preconditions Two workspaces contain colliding identities. Steps Attempt foreign reads, listings, deletion and references, including a cross-workspace database row. Expected Foreign data stays absent and inaccessible and the database refuses an invalid reference. Data The setup needs no extra fixture records. Bound to Source services-accounting:modules/books/tests/e2e/configuration-security.e2e.spec.js #answers 404 in tenant B to a read of tenant A’s business unit 05 Reject stale or incomplete replacements validation api negative test
Proves BR-CAP-ACC-BKS-016-05 Preconditions Records have known current versions. Steps Save without version, with an old version, without ordinary optional or required values, and with unknown properties. Expected Version, required and unknown-property failures are refused; omitted ordinary optional values clear. Data The setup needs no extra fixture records. Bound to Source services-accounting:modules/books/tests/e2e/business-units.e2e.spec.js #answers 400 to a replacement without sys_version 08 Validate page requests and offset syntax boundary api negative test
Proves BR-CAP-ACC-BKS-016-08 Preconditions An unchanged collection spans multiple pages. Steps Read continuations, exceed the size limit and send a malformed offset cursor. Expected Pages cover the collection once; invalid limits and malformed syntax fail. Data The setup needs no extra fixture records. Bound to Source services-accounting:modules/books/tests/e2e/business-units.e2e.spec.js #answers a page of the limit with the cursor of the next page 11 Refuse the second replacement of a shared read version concurrency api negative proposed
Proves BR-CAP-ACC-BKS-016-05 Preconditions Two administrators read the same version of the relevant mutable record. Each prepares a different otherwise valid replacement. Steps Release both replacement requests from a barrier. Read the record again and retry the losing payload at its original version. Expected One replacement commits, the other is stale, and repeating the stale request preserves the winning values. Data Run-owned records for the stated setup; retain the initial values for comparison. Source services-accounting:modules/books/tests/e2e/payment-terms.e2e.spec.js #answers 400 naming is_active to a replacement that leaves it out 12 Resource grants govern unit setup atomically interaction api proposed
Proves BR-CAP-ACC-BKS-016-01 BR-CAP-ACC-BKS-001-03 Preconditions Run-owned records satisfy the preconditions of the referenced capability proofs. Steps Attempt creation as a reader, inspect unit and calendar absence, then repeat as an administrator. Expected The refused creation leaves no setup and the authorized creation supplies complete books. Data Run-owned records for the stated setup; retain the initial values for comparison. Source services-accounting:modules/books/tests/e2e/configuration-security.e2e.spec.js #is refused the create 403 permission_missing,services-accounting:modules/books/tests/integration/services/persistence/fiscal-years.integration.spec.js#gives the new unit exactly its two years, the one containing today and the next 13 Read-only chart access preserves protected destinations interaction api proposed
Proves BR-CAP-ACC-BKS-016-01 BR-CAP-ACC-BKS-005-05 Preconditions Run-owned records satisfy the preconditions of the referenced capability proofs. Steps Read chart and defaults as a reader, attempt account replacement and removal, then compare the stored account and assignments. Expected Reader access leaves every account and default unchanged. Data Run-owned records for the stated setup; retain the initial values for comparison. Source services-accounting:modules/books/tests/e2e/configuration-security.e2e.spec.js #is refused the create 403 permission_missing,services-accounting:modules/books/tests/integration/services/persistence/gl-accounts.integration.spec.js#refuses deactivating the unit’s Accounts Receivable default, naming the purpose 14 Workspace availability precedes configuration access interaction api proposed
Proves BR-CAP-ACC-BKS-016-02 BR-CAP-ACC-BKS-019-07 Preconditions Run-owned records satisfy the preconditions of the referenced capability proofs. Steps Exercise an ordinary configuration read against each observed workspace availability state with reader, administrator and staff contexts. Expected The request gate applies the cited availability exceptions before configuration work can proceed. Data Run-owned records for the stated setup; retain the initial values for comparison. Source services-accounting:modules/books/tests/e2e/currencies.e2e.spec.js #answers 403 app_unlicensed in a tenant whose licence does not carry Accounting,services-accounting:modules/maintenance/tests/unit/lifecycle/tenant-availability.spec.js#serves only an active tenant that is not disabled, and refuses every other combination 15 A stale document choice leaves the unit unchanged interaction api proposed
Proves BR-CAP-ACC-BKS-016-05 BR-CAP-ACC-BKS-015-04 Preconditions Run-owned records satisfy the preconditions of the referenced capability proofs. Steps Save one valid unit document selection, then submit a different valid selection at the old version and resolve content. Expected The stale choice cannot replace the saved selection or change subsequent resolution. Data Run-owned records for the stated setup; retain the initial values for comparison. Source services-accounting:modules/books/tests/e2e/payment-terms.e2e.spec.js #answers 400 naming is_active to a replacement that leaves it out,services-accounting:modules/books/tests/e2e/document-templates.e2e.spec.js#answers 400 to a business unit naming an inactive template ← Previous Capability Test Specification ATS-ACC-BKS-015 · Select templates for business documents: Capability Test Specification Next Capability Test Specification → ATS-ACC-BKS-017 · Set accounting policy shared by the workspace: Capability Test Specification