---
id: TST-PFM-QRY-231
title: Platform read tier
kind: api-lifecycle
product_area: platform
module: queries
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  rhythm-v2-docs: 99376625d3e7ac26936413cfc31a88fba6562464
repository: services-platform
files:
  - modules/queries/tests/e2e/read-tier.e2e.spec.js
implements:
  - ATS-PFM-QRY-006-03
  - ATS-PFM-QRY-006-08
  - ATS-PFM-QRY-006-09
  - ATS-PFM-QRY-011-02
  - ATS-PFM-QRY-011-03
  - ATS-PFM-QRY-013-01
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: 'The suite’s database fixtures, controlled execution contexts and file-owned external dependency seams.'
evidence:
  - 'services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js'
assertion_bindings:
  - scenario: ATS-PFM-QRY-006-03
    source:
      - 'services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#lists the organization’s saved query'
      - 'services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#runs the organization’s saved query'
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused creating a saved query
        with 403
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused replacing a saved query
        with 403
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused deleting a saved query
        with 403
    scope: assertions cited by the scenario
    provenance: test
  - scenario: ATS-PFM-QRY-006-08
    source:
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused 409
        saved_query_narrower_than_reports, naming the report
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
  - scenario: ATS-PFM-QRY-006-09
    source:
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#keeps the query’s visibility when a
        replacement leaves it out
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
  - scenario: ATS-PFM-QRY-011-02
    source:
      - 'services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#lists the organization’s report'
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#opens the organization’s report,
        which it may not edit, delete or share
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused creating a report, which
        includes copying one, with 403
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused replacing a report with
        403
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused deleting a report with
        403
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
  - scenario: ATS-PFM-QRY-011-03
    source:
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is not shown the report in the
        catalog
      - 'services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is answered 404 for the report by id'
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
  - scenario: ATS-PFM-QRY-013-01
    source:
      - >-
        services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js#is refused starting an export of a
        report with 403
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
fixture_seams:
  - 'services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js:48'
  - 'services-platform:modules/queries/tests/e2e/read-tier.e2e.spec.js:28'
---

# Platform read tier

## Verification Boundary

The file dispatches requests through the real route table and signed execution contexts against its local fixtures.

## What This Suite Proves

Its assertions check read tier. The assertion bindings identify the corresponding acceptance examples and retain their original test-title citations.

## What It Does Not Prove

Local execution does not establish deployed queue scheduling, every external provider response or a passing result at the pinned revision.

## Real Dependencies and Test Doubles

The integration fixture and any imported dependency seams define the environment. Database-oriented checks use PostgreSQL; file-owned transport, clock, provider or worker seams isolate the explicitly controlled boundary.

## Must Not Be Doubled

Keep the dispatcher, route requirements and the handler behavior named by the assertions real. Review any new substitutions before treating the same acceptance bindings as unchanged.
