01must proveProposed | Report export requires report use and a visible report, returns not found for an inaccessible report and writes nothing for rejected requests. | permission | api, service | test |
02must proveProposed | All report kinds support PDF, only coded and table reports support Excel, and report CSV is rejected. | validation | service | test |
03must proveProposed | Print parameters preserve submitted values and accept at most fifty names, text up to five hundred characters and lists up to one hundred entries, rejecting unsupported values and the renderer’s reserved name. | validation | service | test |
04must proveProposed | Before opening a browser, rendering rechecks the report and requester, failing deleted or newly inaccessible reports and lost report-use access as access lost. | policy | service | test |
05must proveProposed | Print-page API calls run internally as the requester through an allowed route set in the export workspace, with other origins, operations and routes refused and logged without query strings. | invariant | service | test |
06must proveProposed | Each page request renews its access check, and revoked access fails the export rather than producing a file of refusal messages. | policy | service | test |
07must proveProposed | Rendering rejects work beyond five minutes, PDFs above two hundred pages, and invalid or oversized Excel files above one hundred megabytes, without storing a rejected file. | validation | service | test |
08must proveProposed | Completed files use the report name and workspace date and remain available for thirty days. | lifecycle | service | test |
09must proveProposed | Report deletion leaves completed files downloadable but causes queued rendering to fail for lost access. | lifecycle | service, database | documented |
10must proveProposed | Rendering uses a fresh browser without a login session or stored credentials, disables service workers and downloads, and rejects page-opened connections. | invariant | service | test |
11must proveProposed | Internal rendering failures retry through the queue and become a generic final failure on the last attempt. | policy | service | test |