---
id: TST-COM-CAT-004
title: Permission Gating Verification
kind: unit
product_area: commerce
module: catalog
revision: 1
status: draft
product_intent: proposed
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: react-console
files:
  - components/commerce/__tests__/permission-gating.test.tsx
implements:
  - ATS-COM-CAT-006-07
  - ATS-COM-CAT-014-10
  - ATS-COM-CAT-017-08
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: In-process fixtures; any shared port replacement is restored by the suite.
binding_evidence:
  - scenario: ATS-COM-CAT-006-07
    source: >-
      react-console:components/commerce/__tests__/permission-gating.test.tsx#asks a product not on
      the shelf yet for the create key, since its first save is a create
  - scenario: ATS-COM-CAT-006-07
    source: >-
      react-console:components/commerce/__tests__/permission-gating.test.tsx#offers a read-only
      person no edit and no publish, listed or not
  - scenario: ATS-COM-CAT-014-10
    source: >-
      react-console:components/commerce/__tests__/permission-gating.test.tsx#lets a coordinator
      prepare and pause but not launch or resume (commerce.promotions.activate)
  - scenario: ATS-COM-CAT-014-10
    source: >-
      react-console:components/commerce/__tests__/permission-gating.test.tsx#offers a read-only
      person no pencil and no lifecycle
  - scenario: ATS-COM-CAT-017-08
    source: >-
      react-console:components/commerce/__tests__/permission-gating.test.tsx#puts Release Use behind
      releasing a redemption, not applying a code
evidence:
  - 'react-console:components/commerce/__tests__/permission-gating.test.tsx'
execution_constraints:
  - No execution is performed in this documentation back-fill.
verification_boundary: >-
  Bindings identify the existing assertions contributing to each scenario; several suites can
  jointly cover a compound scenario.
---

# Permission Gating Verification

## Verification Boundary

The suite exercises the isolated rule, calculation or adapter with its supplied fixtures. It does not establish storage or distributed behaviour.

## What This Suite Proves

The permission gating assertions contribute to the scenarios listed in the register. Each binding retains its exact source test anchor so a reviewer can distinguish an individual contribution from the complete scenario.

## What It Does Not Prove

The register records source inspection only. It establishes no run result, delivery qualification or Product approval.

## Real Dependencies and Test Doubles

The production function under test is real. Its collaborators are supplied as fixtures or replaced ports where the suite declares them.

## Must Not Be Doubled

Keep the production function under test and its refusal or arithmetic result real. Replacing that function with a fixture removes the claimed proof.
