---
id: TST-PFM-ELG-414
title: Eligibility population checks
kind: api-lifecycle
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/eligibility/tests/e2e/eligibility-population.e2e.spec.js
implements:
  - ATS-PFM-ELG-011-01
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/e2e/eligibility-population.e2e.spec.js
    cases:
      - 'is refused to a Read Only caller, 403'
      - >-
        is admitted for a caller with the population key, whose incomplete body
        is then refused, 400
      - 'is not read for a Read Only caller, 403'
      - >-
        is read for a caller with the population key, an unknown run answering
        404
      - >-
        refuses a population run to a caller without the dataset query key, 403
        naming it
      - >-
        admits a population run to a caller who holds it, the absent definition
        then a 404
      - >-
        refuses an impact simulation to a caller without the dataset query key,
        403 naming it
      - >-
        admits an impact simulation to a caller who holds it, the absent
        definition then a 404
      - 'is refused to a Read Only caller, 403'
      - 'is refused to a caller with the population key alone, 403'
      - 'is not read for a Read Only caller, 403'
      - >-
        is read for a caller with the publish key, an unknown simulation
        answering 404
      - answers 400 naming the id for a population run
      - answers 400 naming the id for a simulation
      - answers 400 naming the id for a binding read
      - answers 400 naming the id for a binding change
      - answers 400 naming the id for a binding removal
      - answers 400 naming the id for a binding’s plan
      - answers 400 naming the id for a decision
  - provenance: documented
    source: >-
      services-platform:modules/eligibility/tests/e2e/eligibility-population.e2e.spec.js:suite
      header
    note: >-
      The source header describes the verification boundary and declared
      substitutions.
proof_limit: >-
  Only the named scenario checkpoints have a verified source binding; execution
  has not been attempted.
---

# Eligibility population 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 mapped scenarios identify the capability and feature checkpoints this file exercises. The source test titles preserve the assertion-level evidence.

## 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 uses local integration fixtures. Signing, caches, provider responses or outbound delivery may be supplied by fixtures where the source declares a substitution. The source imports and suite header identify the exact dependencies.

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