---
id: TST-PFM-QRY-333
title: Platform render report
kind: integration
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/integration/services/rendering/render-report.integration.spec.js
implements:
  - ATS-PFM-QRY-013-04
  - ATS-PFM-QRY-013-06
  - ATS-PFM-QRY-013-07
  - ATS-PFM-QRY-013-08
  - ATS-PFM-QRY-013-11
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/integration/services/rendering/render-report.integration.spec.js'
assertion_bindings:
  - scenario: ATS-PFM-QRY-013-04
    source:
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#fails
        a requester who may not use reports access_lost, saying so plainly
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#starts
        no browser for them
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#fails
        the export of a deleted report access_lost, starting no browser
    scope: assertions cited by the scenario
    provenance: test
  - scenario: ATS-PFM-QRY-013-06
    source:
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#refuses
        the run made after it, re-reading the grants for that request
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#fails
        the export access_lost rather than printing a page of refusals
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
  - scenario: ATS-PFM-QRY-013-07
    source:
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#fails
        a page that reported an error render_failed, with its reason made plain
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#fails
        a page that never settled timed_out, and still closes its browser
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#fails
        a PDF past its page limit too_many_pages
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#stores
        nothing for any of them
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#fails
        an answer that is not a workbook render_failed, storing nothing of it
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
  - scenario: ATS-PFM-QRY-013-08
    source:
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#keeps
        the file thirty days from its completion, as the bucket’s rule removes it
    scope: contributing assertions; the scenario combines multiple files
    provenance: test
  - scenario: ATS-PFM-QRY-013-11
    source:
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#throws
        on an early receive, so the queue delivers the export again
      - >-
        services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js#records
        internal on the last receive, with the sentence that never says what went wrong
    scope: assertions cited by the scenario
    provenance: test
fixture_seams:
  - >-
    services-platform:modules/queries/tests/integration/services/rendering/render-report.integration.spec.js:159
---

# Platform render report

## Verification Boundary

The file invokes its service or persistence boundary against local integration fixtures.

## What This Suite Proves

Its assertions check render report. 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 service or persistence operation whose behavior is asserted real. Database constraints and transactions cannot be replaced by fixture answers when they are the subject of the check.
