---
id: TST-COM-FUL-013
title: Data jobs schemas
kind: unit
product_area: commerce
module: fulfillment
revision: 1
status: draft
source_sha:
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-commerce
files:
  - modules/data-operations/tests/unit/api/data-jobs-schemas.spec.js
implements:
  - ATS-COM-FUL-020-01
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-memory inputs, recorded calls and test-owned doubles; no shared customer records.'
evidence:
  - repository: services-commerce
    path: modules/data-operations/tests/unit/api/data-jobs-schemas.spec.js
    test_titles:
      - accepts prepared records by the producer’s key and maps them to the engine’s request
      - 'refuses a selection with a patch: no Commerce operation changes records in place by id'
      - >-
        refuses a record naming neither a source key nor an id, and keyed records without a source
        system
      - >-
        refuses an operation outside insert, upsert and update, and a mode outside validate and
        apply
      - 'accepts a record named by id alone, for the relink of a loaded record'
      - 'reads repeatable filters from one comma-separated value, and leaves an absent filter absent'
      - refuses a state outside the vocabulary and a parameter it does not declare
      - >-
        takes the cursor as the position of the last item read, and nothing when the page is the
        first
      - 'takes the producer and up to a hundred keys, refusing more by name'
    scenario_anchors:
      - >-
        services-commerce:modules/data-operations/tests/unit/api/data-jobs-schemas.spec.js#refuses a
        selection with a patch: no Commerce operation changes records in place by id
      - >-
        services-commerce:modules/data-operations/tests/unit/api/data-jobs-schemas.spec.js#refuses a
        record naming neither a source key nor an id, and keyed records without a source system
      - >-
        services-commerce:modules/data-operations/tests/unit/api/data-jobs-schemas.spec.js#refuses
        an operation outside insert, upsert and update, and a mode outside validate and apply
---

# Data jobs schemas

## Verification Boundary

This suite checks data jobs schemas with controlled inputs and recorded dependencies. Its entry points remain within the process.

## What This Suite Proves

The bound scenarios identify the assertions this suite contributes. Source anchors retain the exact test cases; where a capability scenario has several contributing suites, a single binding does not imply that every branch runs here.

## What It Does Not Prove

Controlled inputs do not establish database enforcement, deployed integration or browser behavior. A recorded call is evidence about the adapter contract rather than a remote operation.

## Real Dependencies and Test Doubles

The imported logic is real; test inputs and dependency responses are controlled.

## Must Not Be Doubled

Keep the imported production logic and its request construction real. Record dependency calls and refusals rather than replacing the behavior being asserted.
