Skip to content

FAS-PFM-QRY-08Monthly history: Feature Acceptance Suite

Markdown

FAS-PFM-QRY-08

Monthly history: Feature Acceptance Suite

Markdown
  • DocumentProposed
  • Product intentProposed

Planning

Feature
FEAT-PFM-QRY-08
Capabilities
CAP-PFM-QRY-019
Executed by
TST-PFM-QRY-472

Product areaPlatformModuleQuestions, record exploration and data deliveryRevision2

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

Scenarios

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

01 Plan and expose the completed local month behaviour proposed
Exercises
CAP-PFM-QRY-019
Relies on
ATS-PFM-QRY-019-01 ATS-PFM-QRY-019-03 ATS-PFM-QRY-019-04
Preconditions
Eligible, disabled and loading workspaces occupy different time zones.
Steps
Plan the completed months, admit eligible work, publish it and read periods from each workspace.
Expected
Eligible publication becomes the selected version while skipped months preserve their reasons and local period boundaries.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/snapshots/tests/e2e/snapshots.e2e.spec.js#lets the tenant’s own people read its periods,services-platform:modules/snapshots/tests/integration/lifecycle/pipeline/snapshot-pipeline.integration.spec.js#plans the eligible tenant's September in its own zone, as version 1 of a captured, scheduled run,services-platform:modules/snapshots/tests/integration/lifecycle/pipeline/snapshot-pipeline.integration.spec.js#plans one run and skips two, passing over none
02 Historical periods coexist with current record lookup interaction proposed
Exercises
CAP-PFM-QRY-019 CAP-PFM-QRY-017
Relies on
ATS-PFM-QRY-019-11 ATS-PFM-QRY-017-11
Preconditions
Two workspaces contain retained snapshots and indexed contacts.
Steps
Delete one workspace, finish its open rebuild and inspect historical periods and search inventories for both.
Expected
The removed workspace retains neither history nor search resources; the surviving control retains both.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/snapshots/tests/integration/lifecycle/pipeline/snapshot-pipeline.integration.spec.js#removes every snapshot row, run and override of the purged tenants, the run's version chain included,services-platform:modules/quick-search/tests/integration/services/maintenance/tenant-participant.integration.spec.js#purges the tenant once the rebuild has settled, the job’s own three tables included
03 Failed self-test validation leaves the last published version selected lifecyclenegative test
Exercises
CAP-PFM-QRY-019
Relies on
ATS-PFM-QRY-019-05 ATS-PFM-QRY-019-06
Preconditions
The local user-status-counts self-test has a published first version and real database fixtures.
Steps
Add a user and publish a second version, corrupt the next attempt’s inserted counts through the test trigger, run final validation and read the retained period and versions.
Expected
The second version remains current and readable, the first stays retained, and the failed small attempt publishes no rows; the assertion does not cover committed chunks from other generators.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Bound to
Source
services-platform:modules/snapshots/tests/integration/lifecycle/pipeline/snapshot-pipeline.integration.spec.js#publishes version 2 as the current one and keeps version 1, published and readable
04 HQ readers can inspect without managing runs permissionnegative proposed
Exercises
CAP-PFM-QRY-019
Relies on
ATS-PFM-QRY-019-01 ATS-PFM-QRY-019-02 ATS-PFM-QRY-019-07
Preconditions
Support, HQ administration and customer contexts can attempt their respective snapshot operations.
Steps
List periods and runs, request new runs as support and a customer, and write a ledger row under another service’s role.
Expected
Read access does not grant management, customer callers do not reach HQ and service writers cannot change another owner’s ledger.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/snapshots/tests/e2e/snapshots.e2e.spec.js#lets the tenant’s own people read its periods,services-platform:modules/snapshots/tests/e2e/snapshots.e2e.spec.js#lets a Rhythm Administrator list the runs,services-platform:modules/snapshots/tests/integration/db/snapshot-runs-accounting-writer.integration.spec.js#refuses a run whose owner_service is another service’s, in its own tenant
05 Repeated planning and reruns keep independent uniqueness regressionnegative proposed
Exercises
CAP-PFM-QRY-019
Relies on
ATS-PFM-QRY-019-05 ATS-PFM-QRY-019-08 ATS-PFM-QRY-019-14
Preconditions
A period has a published version and another version is actively running.
Steps
Repeat planning, request overlapping work and try a second current or active row while retaining an inactive version.
Expected
Duplicate active or current versions are refused; retained inactive history is allowed and dispatcher admission remains bounded.
Data
Use an isolated workspace, named fixture records and the caller grants described by the prerequisites.
Source
services-platform:modules/snapshots/tests/e2e/snapshots.e2e.spec.js#plans a manual run as version 1 of a captured run, for the dispatcher to start,services-platform:modules/snapshots/tests/integration/db/snapshot-runs.table.integration.spec.js#refuses a second active run of the same tenant, type and period,services-platform:docs/snapshots/README.md#Configuration and the runbook

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.