---
id: TST-CRM-REG-054
title: Regional definition persistence
kind: integration
product_area: crm
module: regions
revision: 1
status: draft
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
repository: services-crm
files:
  - modules/regions/tests/integration/services/persistence/regions.integration.spec.js
implements:
  - ATS-CRM-REG-001-03
  - ATS-CRM-REG-001-06
  - ATS-CRM-REG-001-07
  - ATS-CRM-REG-002-02
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 2
isolation: Suite-owned workspace and records in the prepared test database.
evidence:
  - 'services-crm:modules/regions/tests/integration/services/persistence/regions.integration.spec.js'
assertions:
  - scenario: ATS-CRM-REG-001-03
    source: >-
      services-crm:modules/regions/tests/integration/services/persistence/regions.integration.spec.js#generates
      an id when the client names none
  - scenario: ATS-CRM-REG-001-03
    source: >-
      services-crm:modules/regions/tests/integration/services/persistence/regions.integration.spec.js#refuses
      an id the tenant already uses
  - scenario: ATS-CRM-REG-001-03
    source: >-
      services-crm:modules/regions/tests/integration/services/persistence/regions.integration.spec.js#creates
      a region active by default
  - scenario: ATS-CRM-REG-001-06
    source: >-
      services-crm:modules/regions/tests/integration/services/persistence/regions.integration.spec.js#lists
      the tenant's regions in id order by bytes, a page at a time
  - scenario: ATS-CRM-REG-001-07
    source: >-
      services-crm:modules/regions/tests/integration/services/persistence/regions.integration.spec.js#never
      reads another tenant's region
  - scenario: ATS-CRM-REG-002-02
    source: >-
      services-crm:modules/regions/tests/integration/services/persistence/regions.integration.spec.js#deletes
      a region nothing uses
binding_scope: >-
  Exact assertion anchors identify the contribution of this file. Scenario-level bindings may compose
  several files; registration does not assert that every file alone executes every scenario step.
---

# Regional definition persistence

## Verification Boundary

The suite exercises real regional persistence and processing against the prepared database. It verifies the source assertions linked in this register.

## What This Suite Proves

The linked source assertions contribute checks for generated and duplicate identifiers have distinct outcomes; pagination preserves identifier order; reads are workspace-specific; unused regions can be removed permanently. A scenario spanning several files relies on those assertions together; this file supplies only its named checks.

## What It Does Not Prove

The register establishes neither a current passing run nor verified conformance. Unbound scenarios, broader feature chains and the delegated infrastructure beyond this execution boundary remain unproved.

## Real Dependencies and Test Doubles

PostgreSQL and the regional persistence under assertion are real. The suite supplies test execution contexts and fixtures; a local API harness replaces deployed transport where applicable.

## Must Not Be Doubled

Regional matching, regional persistence and the stored values under assertion must remain real. A substitute answer for these dependencies cannot qualify the linked regional outcomes.
