---
id: TST-CRM-REG-064
title: Retained geographic matching compatibility
kind: unit
product_area: crm
module: regions
revision: 1
status: draft
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
repository: services-crm
files:
  - modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js
implements:
  - ATS-CRM-REG-006-04
  - ATS-CRM-REG-006-06
  - ATS-CRM-REG-006-07
environment: mock
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 2
isolation: In-memory values and test-owned component state.
evidence:
  - >-
    services-crm:modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js
  - 'services-crm:modules/regions/tests/legacy/rolodex-regions/src/logic/assign-region.js'
  - 'services-crm:modules/regions/tests/legacy/rolodex-regions/src/lambda/events.js'
  - 'services-crm:package.json#test:unit, test:integration, test:e2e'
assertions:
  - scenario: ATS-CRM-REG-006-04
    source: >-
      services-crm:modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js#Postal
      Code Ranges › should match the beginning of the range
  - scenario: ATS-CRM-REG-006-04
    source: >-
      services-crm:modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js#Postal
      Code Ranges › should match the end of the range
  - scenario: ATS-CRM-REG-006-06
    source: >-
      services-crm:modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js#States
      › should the match if the state matches
  - scenario: ATS-CRM-REG-006-06
    source: >-
      services-crm:modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js#States
      › should NOT match if the state does not match
  - scenario: ATS-CRM-REG-006-07
    source: >-
      services-crm:modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js#Countries
      › should the match if the country is null
  - scenario: ATS-CRM-REG-006-07
    source: >-
      services-crm:modules/regions/tests/legacy/rolodex-regions/tests/unit/logic/calculate-region.unit.spec.js#Countries
      › should the match if the country is blank
execution_gate: >-
  The package test commands include these retained compatibility files; legacy adapters translate inputs
  into the current regional calculation, persistence or local API harness.
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.
---

# Retained geographic matching compatibility

## Verification Boundary

This retained compatibility suite is included in the current service test commands. Its legacy-shaped inputs pass through adapters to the current regional implementation, so the register counts it as executable regional evidence.

## What This Suite Proves

The linked source assertions contribute checks for text intervals include their endpoints; state matching preserves case sensitivity; country matching supplies the legacy default. 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

The regional decision functions are real. Legacy unit seams replace settings reads and record writes with test dependencies; these files do not qualify storage or transport.

## Must Not Be Doubled

The calculation, permission declaration or console behavior under assertion must remain the real implementation.
