---
id: TST-PFM-ELG-407
title: Attention request schemas checks
kind: unit
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/attention/tests/unit/request-schemas.spec.js
implements:
  - ATS-PFM-ELG-020-03
  - ATS-PFM-ELG-020-04
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/attention/tests/unit/request-schemas.spec.js'
    cases:
      - fills every omitted field with the declared default
      - carries the version read
      - 'refuses a tenant rank adjustment outside -10..10, naming the field'
      - refuses a surface that is neither console nor portal
      - refuses a field the row does not have
      - accepts null for every optional field
      - >-
        accepts a console title override alone, the definition keeping its other
        parts
      - refuses a title override longer than 200 characters
      - refuses a portal template override while the portal is held
      - refuses a console override that names no part
      - reads a reminder override with its switch
      - refuses a reminder override of more than ten reminders
      - refuses a reminder override part the policy does not have
      - >-
        fills every omitted field with the default: nothing hidden, no digest,
        no quiet hours
      - 'reads hidden definitions, a cadence, quiet hours and the version read'
      - 'refuses a cadence other than none, daily or weekly'
      - 'refuses a quiet hour that is not HH:MM'
      - refuses the quiet hours as the table spells them
      - reads a snooze’s end
      - refuses a snooze without its end
      - refuses a manual resolution without a reason
      - 'reads the definitions, class, urgency, record and include_snoozed'
      - refuses a class that is not one of the three
      - refuses the portal reader’s organization filter while the portal is held
      - 'refuses a record that is not <object_id>:<record_id>'
      - 'pages by 25 unless asked, and at most 100'
      - answers the cursor it was given back as the same keyset
      - refuses a cursor it never answered
      - sorts by rank unless asked by due or opened
      - refuses a sort it does not have
      - answers a due cursor back as the same keyset
      - answers an opened cursor back as the same keyset
      - refuses a cursor of another sort
      - shows hidden definitions only when asked include_hidden=true
  - provenance: documented
    source: >-
      services-platform:modules/attention/tests/unit/request-schemas.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.
---

# Attention request schemas 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.
