---
id: TST-PFM-ELG-423
title: Eligibility migration reviews table checks
kind: integration
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - >-
    modules/eligibility/tests/integration/db/eligibility-migration-reviews.table.integration.spec.js
implements: []
environment: local
implementation_state: implemented
latest_result: not-run
conformance: not-verified
estimated_minutes: 5
isolation: Prepared local test database with suite-owned fixture keys and cleanup.
evidence:
  - provenance: test
    source: >-
      services-platform:modules/eligibility/tests/integration/db/eligibility-migration-reviews.table.integration.spec.js
    cases:
      - 'accepts an open item, with no warnings, decision or evidence'
      - 'refuses a status outside the three, by the status check'
      - 'refuses criteria that are not an object, by the legacy criteria check'
      - 'refuses an item with no candidate, by the candidates check'
      - 'refuses more than ten candidates, by the candidates check'
      - 'refuses more than a hundred warnings, by the warnings check'
      - 'refuses evidence that is not an object, by the evidence check'
      - 'refuses a resolved item that names no candidate, by the resolution check'
      - 'refuses an open item that names a candidate, by the resolution check'
      - >-
        refuses a dismissed item that names a definition, by the resolution
        check
      - 'refuses a negative candidate index, by the chosen candidate check'
      - 'refuses a definition that does not exist, by the definition foreign key'
      - >-
        refuses to delete a definition a resolved item names, by the definition
        foreign key
      - >-
        refuses a second item for the same record, code and criteria path, by
        the source unique
      - accepts a second item for the same record under another code
      - >-
        trims every text column and stores a blank note as null, by the
        normalization trigger
      - 'holds both tenants’ items, read as the owner'
      - reads only the acting tenant’s items
      - reads nothing at all with no tenant
      - 'refuses a write for another tenant, by the policy'
  - provenance: documented
    source: >-
      services-platform:modules/eligibility/tests/integration/db/eligibility-migration-reviews.table.integration.spec.js:suite
      header
    note: >-
      The source header describes the verification boundary and declared
      substitutions.
proof_limit: >-
  No complete capability or feature scenario is mapped to this file; case-level
  ownership remains a coverage finding.
---

# Eligibility migration reviews table checks

## Verification Boundary

This suite checks the module through real local service and database code at the entry points used by its test cases.

## What This Suite Proves

The file contains executable checks, but no complete scenario mapping is established here. Its source test titles identify the remaining mapping work.

## What It Does Not Prove

Registration supplies no execution result or conformance decision. Checks beyond the file’s reachable assertions remain unverified, including production configuration.

## Real Dependencies and Test Doubles

The suite exercises its real module dependencies and declares no test doubles. Its source header and imports identify the database, transaction and service boundaries it uses.

## Must Not Be Doubled

The module behavior under assertion, transaction boundary and database constraint being checked remain real. Fixture setup cannot stand in for the asserted write or refusal.
