---
id: TST-PFM-DJE-152
title: Capacity pins
kind: api-lifecycle
product_area: platform
module: data-job-engine
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-platform
files:
  - modules/capacity/tests/e2e/capacity-pins.e2e.spec.js
implements:
  - ATS-PFM-DJE-019-04
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: >-
  Suite-owned fixture records, job identifiers and workspace contexts; teardown removes the fixture
  data.
evidence:
  - 'services-platform:modules/capacity/tests/e2e/capacity-pins.e2e.spec.js'
assertion_inventory:
  - the capacity pin API (end to end)
  - 'a capacity manager pins, reads and unpins'
  - answers 200 with the pin it made
  - reads the pin back
  - answers the pin it removed
  - reads null once the pin is removed
  - a pin that breaks a rule
  - is a 400 naming the field
  - is a 400 for a state that is not one of the four
  - callers without the key
  - refuses a staff member who holds only another HQ key
  - 'refuses a customer''s administrator, whatever they hold at their customer''s scope'
  - the health route
  - answers ok without a security context
registration_note: Registration describes existing source; the suite is not executed by this documentation job.
---

# Capacity pins

## Verification Boundary

The suite checks requests through the local production dispatcher and signed caller evaluation. The structured assertion inventory records the checks present at the pinned revision.

## What This Suite Proves

The existing checks exercise capacity pins. The specification bindings identify the narrower outcomes supported by those assertions.

## What It Does Not Prove

Local execution does not establish deployed queue, storage or service behavior. Independent test cases do not establish a complete cross-feature process.

## Real Dependencies and Test Doubles

The pin and audit services use real Postgres. Caller contexts, clocks and observability are supplied by the fixture.

## Must Not Be Doubled

The database effects, security context and production operation under examination remain real. Their outcomes cannot be replaced with canned success responses.
