A retained report must remain usable by its intended readers. These scenarios follow the presentation from copying and composition through sharing, source changes and file rendering. They distinguish a saved layout from an answer that a reader can obtain under current access.
The sharing journey first attempts to expose a private report copy while its saved source remains private. It then changes the source audience, repeats report sharing and checks the colleague’s totals and available actions. Other scenarios connect dashboard sources to rendering and revisit retained layouts after edits or removal.
An author has two visible source questions and a table report.
Steps
Keep a private report copy, build a dashboard from the sources, reopen it and request each eligible output format.
Expected
The retained presentations keep their source identities and the admitted formats match each presentation kind.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/unit/services/reports/report-access.spec.ts#lets a colleague who can see a shared report copy it and nothing else,services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#answers its sources once each, in widget order, with their names and applications,services-platform:modules/queries/tests/integration/services/rendering/report-exports.integration.spec.js#accepts an Excel export of a table report
02Sharing a report copy follows its saved source audienceinteractiontest
An administrator can customize the built-in Subledger Entries report; a colleague holds the acceptance author role and can read the planted ledger data.
Steps
Save a customized private copy, attempt role sharing, share its drafted saved query with the same role, retry report sharing and open the copy as the colleague.
Expected
The first share returns the source-audience conflict without changing the copy; the retry succeeds, and the colleague reads the independently calculated totals with copying available and editing refused.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
A query feeds both a table report and a dashboard; the table report has a schedule and a completed file.
Steps
Change and rename the source, resave the table report and delete that report.
Expected
Definition changes flag dependents, source rename alone does not; deletion pauses its schedule while leaving the query and completed file.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#answers saved_query_changed once the saved query has been edited since the report was saved,services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#answers saved_query_changed once one of its sources has been edited, naming which,services-platform:modules/queries/tests/e2e/query-schedules.e2e.spec.js#deletes the report,react-console:acceptance/reporting/playwright/journeys/print-and-export/RPT-ACC-0349.spec.ts#RPT-ACC-0349
04A source limits dashboard sharing and renderingpermissionnegativeproposed
A dashboard combines an organization source and a Finance-only source.
Steps
Attempt organization sharing, retry with Finance, then revoke one source grant during rendering.
Expected
The broad share is refused at the narrower source; permitted sharing saves, while the later render refusal produces no partial file.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#refuses a report shared wider than its saved query as 409 ReportSharedWiderThanQuery, naming the query,services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#refuses a dashboard shared wider than one of its sources as 409, naming that 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
05A save preserves unfamiliar layout contentregressionnegativeproposed
A dashboard contains an unfamiliar widget property and two editors read the same version.
Steps
Save a layout in one tab, replay the other tab’s stale version and reopen the accepted layout.
Expected
The stale save conflicts and the accepted layout round-trips its unfamiliar content without interpretation.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#refuses a replacement that states no version as 400 MissingVersion,services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#answers the definition exactly as it was sent, widgets, filters and layouts untouched