---
id: TST-PFM-TNL-034
title: Crm participant dependency order
kind: unit
product_area: platform
module: tenant-lifecycle
revision: 1
status: draft
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
repository: services-crm
files:
  - modules/tenant-lifecycle/tests/unit/participants/deletion-order.spec.js
implements: []
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 1
isolation: Own in-process inputs and any installed dependency seams; restore process state after the file.
evidence:
  - 'services-crm:modules/tenant-lifecycle/tests/unit/participants/deletion-order.spec.js'
  - >-
    services-crm:modules/tenant-lifecycle/tests/unit/participants/deletion-order.spec.js imports
    ../../../services/participants/registry
binding_scope: >-
  No complete ATS or FAS scenario implementation is claimed for this file. Partial assertions, if present,
  remain evidence rather than implements links.
partial_scenario_evidence:
  - scenario: ATS-PFM-TNL-007-03
    references:
      - >-
        services-crm:modules/tenant-lifecycle/tests/unit/participants/deletion-order.spec.js#provisions the
        tenant row, then regions, merges and data jobs, then entities, then tasks and duplicates, then
        activities
      - >-
        services-crm:modules/tenant-lifecycle/tests/unit/participants/deletion-order.spec.js#purges
        activities, then tasks and duplicates, then entities, then regions, merges and data jobs, then the
        tenant row
      - >-
        services-crm:modules/tenant-lifecycle/tests/unit/participants/deletion-order.spec.js#leaves the tenant
        row until last, in a stage of its own
    provenance: test
    scope: partial assertions; no complete scenario implementation claimed
---
# Crm participant dependency order

## Verification Boundary

The suite calls policy, mapping, manifest or dependency-injected code in process. Its assertions establish the named local behavior without a deployed API or a migrated cross-application workflow.

## What This Suite Proves

Participant dependency order is the inspected subject. The inspected engineering checks remain available in the register. Some may contribute partial assertions to capability scenarios, but the file is not claimed to implement any complete scenario; the unbound inventory records that remaining mapping work.

## What It Does Not Prove

Source inspection supplies no passing run. The suite does not establish console behavior, deployment configuration, complete removal in every application or recovery from a provider failure beyond its declared seams. A local zero inventory covers declared and seeded resources only.

## Real Dependencies and Test Doubles

The source uses in-process policy and manifest inputs, and dependency seams where declared. Imported libraries are part of the exercised code; collaborator answers do not establish database enforcement or provider behavior.

## Must Not Be Doubled

Keep the policy, mapper, declaration or formatting function named by the source real; do not replace its return value with the expected answer. Any future database or API qualification must add the real boundary separately.
