Skip to content

FAS-PFM-QRY-05Files and scheduled delivery: Feature Acceptance Suite

Markdown

FAS-PFM-QRY-05

Files and scheduled delivery: Feature Acceptance Suite

Markdown
  • DocumentProposed
  • Product intentProposed

Planning

Feature
FEAT-PFM-QRY-05
Capabilities
CAP-PFM-QRY-014, CAP-PFM-QRY-015
Executed by
TST-PFM-QRY-140

Product areaPlatformModuleQuestions, record exploration and data deliveryRevision2

Read atservices-platform ad3f6a65react-console baf6dae3rhythm-v2-docs f946bdcc

Scenarios

5 scenarios proving FEAT-PFM-QRY-05 as a whole.

01 Immediate and scheduled files answer the retained question behaviour proposed
Exercises
CAP-PFM-QRY-014 CAP-PFM-QRY-015
Relies on
ATS-PFM-QRY-014-03 ATS-PFM-QRY-015-03 ATS-PFM-QRY-015-08
Preconditions
A query spans multiple pages and a schedule pins its current definition.
Steps
Export it immediately, execute its schedule and compare both files with the complete ordered query answer.
Expected
Each file contains the pinned answer once; each scheduled recipient has one personal communication request.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/integration/services/exports/run-query-export.integration.spec.js#writes every planted row exactly once, in the query’s sort, with no gap,services-platform:modules/queries/tests/integration/services/schedules/query-schedule-routes.integration.spec.js#flags the saved query as changed since the schedule was set up,services-platform:modules/queries/tests/integration/services/schedules/scheduled-delivery.integration.spec.js#asks for one e-mail per deliverable recipient, each under the key <run id>:<recipient id>
02 A recipient retry reuses the existing file interaction proposed
Exercises
CAP-PFM-QRY-014 CAP-PFM-QRY-015
Relies on
ATS-PFM-QRY-014-09 ATS-PFM-QRY-015-08
Preconditions
A completed occurrence has two recipients and its queue message is redelivered.
Steps
Process delivery twice, inspect communication identities and open each recipient link.
Expected
Each recipient keeps one request and a valid personal link; retry does not create another copy of the message.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/integration/services/exports/query-export-routes.integration.spec.js#redirects a valid link to the presigned file,services-platform:modules/queries/tests/integration/services/schedules/scheduled-delivery.integration.spec.js#asks for one e-mail per deliverable recipient, each under the key <run id>:<recipient id>
03 Refreshing a source changes future scheduled output lifecycle proposed
Exercises
CAP-PFM-QRY-014 CAP-PFM-QRY-015 CAP-PFM-QRY-006
Relies on
ATS-PFM-QRY-015-03 ATS-PFM-QRY-014-03 ATS-PFM-QRY-006-14
Preconditions
A query schedule pins a definition before the saved question changes.
Steps
Edit the question, run the schedule, refresh its source, run again and remove the schedule.
Expected
The first run uses the earlier copy and the second uses the refreshed one; retained files keep their original output and expiry.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/integration/services/schedules/query-schedule-routes.integration.spec.js#flags the saved query as changed since the schedule was set up,services-platform:modules/queries/tests/integration/services/exports/run-query-export.integration.spec.js#writes every planted row exactly once, in the query’s sort, with no gap,services-platform:modules/queries/tests/e2e/reports.e2e.spec.js#refuses to delete a saved query a report presents as 409 saved_query_reported
04 Report access loss pauses delivery until an authorized takeover permissionnegative test
Exercises
CAP-PFM-QRY-014 CAP-PFM-QRY-015 CAP-PFM-QRY-013
Relies on
ATS-PFM-QRY-015-04 ATS-PFM-QRY-015-05 ATS-PFM-QRY-013-04
Preconditions
An author owns an active report schedule with two recipients; an administrator can manage the schedule and run its report.
Steps
After a successful occurrence, make the report private so its owner loses report access; inspect the next occurrence, attempt takeover as the owner, then take ownership as the administrator and resume.
Expected
The inaccessible occurrence fails with no export, delivery or recipient message and pauses the schedule; the author’s takeover is refused, while administrator takeover and resume permit the next occurrence to send to both recipients.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Bound to
Source
react-console:acceptance/reporting/playwright/journeys/schedules/RPT-ACC-0425.spec.ts#RPT-ACC-0425
05 Deletion separates retained output from future work regressionnegative proposed
Exercises
CAP-PFM-QRY-014 CAP-PFM-QRY-015 CAP-PFM-QRY-013 CAP-PFM-QRY-011
Relies on
ATS-PFM-QRY-015-13 ATS-PFM-QRY-013-09 ATS-PFM-QRY-014-07
Preconditions
A table report has a completed file and a live report schedule.
Steps
Delete the report, download the retained file, try resuming the schedule and then delete the schedule.
Expected
The file remains downloadable until its deadline; report-deleted recurrence cannot restart and schedule deletion removes its run history.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/queries/tests/e2e/query-schedules.e2e.spec.js#pauses the schedule report_deleted, its report gone,react-console:acceptance/reporting/playwright/journeys/print-and-export/RPT-ACC-0349.spec.ts#RPT-ACC-0349,services-platform:modules/queries/tests/integration/services/exports/query-export-routes.integration.spec.js#answers the requester their export

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.