---
id: TST-PFM-ELG-388
title: Attention attention checks
kind: api-lifecycle
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/attention/tests/e2e/attention.e2e.spec.js
implements:
  - ATS-PFM-ELG-016-10
  - ATS-PFM-ELG-017-01
  - ATS-PFM-ELG-017-06
  - ATS-PFM-ELG-017-09
  - ATS-PFM-ELG-017-10
  - ATS-PFM-ELG-017-11
  - ATS-PFM-ELG-017-12
  - ATS-PFM-ELG-018-02
  - ATS-PFM-ELG-018-03
  - ATS-PFM-ELG-018-04
  - ATS-PFM-ELG-018-05
  - ATS-PFM-ELG-020-01
  - ATS-PFM-ELG-020-03
  - ATS-PFM-ELG-020-06
  - ATS-PFM-ELG-020-07
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/attention/tests/e2e/attention.e2e.spec.js'
    cases:
      - >-
        summarises the caller’s items in one group per definition, with counts
        by urgency, snoozed and unread
      - >-
        lists the caller’s items by due instant when asked, and refuses a sort
        it does not have with 400
      - >-
        allows an action to a reader holding the permission its definition
        declares, and says what another reader needs
      - 'lists the caller’s items ranked, rendered, each with its reason'
      - refuses a filter outside its closed list with 400
      - reads one item with its explanation
      - answers 404 for an item addressed to somebody else
      - acknowledges an item
      - snoozes a required item within its bound
      - >-
        refuses a second snooze of a required item allowed once, with 409
        snooze_limit
      - unsnoozes it
      - 'refuses dismissing a required item, with 409 not_dismissable'
      - 'refuses a snooze without its end, with 400 naming until'
      - 'dismisses an advisory, which then leaves the caller’s list'
      - answers the defaults before the caller writes any
      - 'writes them, hiding an advisory definition from the caller’s list'
      - refuses to hide a required definition with 400 naming it
      - refuses a write at the old version with 409
      - >-
        answers every open item about a record to a caller who may read it,
        marking the caller’s
      - answers 404 to a caller who may not read the record
      - 'refuses a record that is not <object_id>:<record_id> with 400'
      - >-
        lists a colleague’s items to a holder of read-others, and audits the
        read
      - 'refuses it without read-others, with 403'
      - answers 404 for somebody who is not a console user of the tenant
      - lists the catalog with the tenant’s settings merged in
      - >-
        reads a definition’s settings as its declared defaults before the tenant
        writes any
      - 'writes them, then refuses the same write at the old version with 409'
      - refuses a value outside its declared bounds with 400
      - answers 404 for a definition nobody registered
      - 'refuses the settings to a caller without manage, with 403'
      - 'resolves an open item with the reason, audited'
      - answers 404 for an item that is no longer open
      - 'refuses it without resolve-manually, with 403'
      - >-
        refuses a caller holding no attention key on the caller’s own routes,
        with 403
      - 'refuses a portal account on every route: the portal is held'
      - refuses an anonymous call with 401
      - answers its public health route
  - provenance: documented
    source: >-
      services-platform:modules/attention/tests/e2e/attention.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.
---

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