---
id: TST-PFM-ELG-477
title: Eligibility evaluate for caller checks
kind: unit
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/eligibility/tests/unit/evaluate-for-caller.spec.js
implements:
  - ATS-PFM-ELG-008-08
  - ATS-PFM-ELG-008-09
  - ATS-PFM-ELG-008-10
  - ATS-PFM-ELG-010-01
environment: mock
implementation_state: implemented
latest_result: not-run
conformance: not-verified
estimated_minutes: 1
isolation: One process with suite-local inputs.
evidence:
  - provenance: test
    source: >-
      services-platform:modules/eligibility/tests/unit/evaluate-for-caller.spec.js
    cases:
      - lets anyone have the portal explanation
      - lets anyone have no explanation
      - >-
        refuses a portal caller the full explanation even with the read
        permission
      - >-
        refuses a console caller without the read permission the admin
        explanation
      - lets a console caller with the read permission have the full explanation
      - admits a portal caller to a kind that declares portal callers
      - refuses a portal caller a kind that declares none
      - refuses a portal caller a kind the registry no longer has
      - refuses a console caller a kind that declares only system callers
      - >-
        admits a console caller to a kind that declares console and system
        callers
      - admits a job to a kind that declares only system callers
      - >-
        tells a console caller refused a system-only kind the callers the kind
        takes
      - tells a portal caller refused a kind the sentence it was always told
      - admits a service caller to a kind that declares system callers
      - refuses a service caller a kind that declares no system callers
      - refuses a service caller a kind the registry no longer has
      - needs the engine’s read key for a kind that declares no key of its own
      - needs a kind’s own key when its declaration carries one
      - >-
        needs the engine’s read key from a console caller of a kind without a
        key of its own
      - >-
        needs no console key from a portal caller of a kind without a key of its
        own
      - needs a kind’s own key from a portal caller too
      - >-
        needs the engine’s read key from a service caller of a kind without a
        key of its own
      - needs a kind’s own key from a service caller
      - takes subjects whose every contact is the caller’s own
      - names the slot of a contact that is not the caller’s
      - 'makes every fact asserted, whatever trust it claimed'
      - holds a display evaluation of a binding with a plan
      - never holds an authorization evaluation
      - never holds a dry run
      - never holds a test of a definition without a binding
      - never holds an evaluation whose plan could not be compiled
      - takes subjects written in another key order for the same question
      - takes another explanation level for another question
      - takes other facts for another question
      - matches the quoted plan hash
      - matches a weak tag in a list
      - matches the wildcard
      - does not match another hash
      - does not match an absent header
  - provenance: documented
    source: >-
      services-platform:modules/eligibility/tests/unit/evaluate-for-caller.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 evaluate for caller checks

## Verification Boundary

This suite checks isolated decisions and validation using the imported inputs. It cannot establish a complete service or browser lifecycle.

## 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. Passing isolated checks does not establish deployed dependencies or cross-application delivery.

## 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 decision or validator being asserted remains real; returning the expected answer from a substitute defeats the check.
