---
id: TST-PFM-DJE-125
title: Organization delete
kind: integration
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-crm
files:
  - modules/data-jobs/tests/integration/services/jobs/organization-delete.integration.spec.js
implements:
  - ATS-PFM-DJE-007-02
  - ATS-PFM-DJE-007-04
  - ATS-PFM-DJE-007-05
  - ATS-PFM-DJE-007-06
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-crm:modules/data-jobs/tests/integration/services/jobs/organization-delete.integration.spec.js
assertion_inventory:
  - 'a bulk organization delete: the organizations other records still belong to'
  - counts the two it would delete and the two it is blocked on
  - says both are blocked because records still belong to them
  - 'counts the dependants a person has to deal with first, not only that there are some'
  - 'counts the rows the two deletes would take with them, as the organizations hold them'
  - 'asks a person to type the number it would delete, not the number submitted'
  - deletes the two organizations nothing belongs to
  - leaves no row of theirs in an owned table
  - leaves the organization an organization belongs to exactly where it was
  - leaves the organization a contact belongs to exactly where it was
  - 'leaves the records that blocked it alone too, rather than reassigning them'
  - 'names, per organization, what stopped it, with the counts in the message'
  - counts the two it deleted and the two it refused on the job
  - 'a bulk organization delete: a contact that starts belonging to one after the validation'
  - 'had counted both organizations as deletable, with nothing blocked (premise)'
  - >-
    refuses the one the contact now belongs to as a conflict, because the delete approved was
    another one
  - 'leaves that organization where it is, so the contact still belongs to something'
  - 'deletes the other one, because one item’s conflict is not the job’s failure'
  - finishes the job rather than failing it
  - >-
    a bulk organization delete: an organization the validation was blocked on and that was freed
    before the apply
  - was approved as a delete of the one organization nothing belonged to
  - leaves the organization the validation was blocked on where it is
  - deletes the one the approval named
  - refuses the freed organization at the apply with the code the validation refused it with
registration_note: Registration describes existing source; the suite is not executed by this documentation job.
---

# Organization delete

## Verification Boundary

The suite checks the production service or shared engine against its database fixture. The structured assertion inventory records the checks present at the pinned revision.

## What This Suite Proves

The existing checks exercise organization delete. 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 owning service exercises production persistence and domain behavior against real Postgres. The fixture supplies caller contexts; queue delivery, storage and external calls are doubled where the file installs a test port.

## 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.
