Skip to content

ATS-PFM-ELG-011List qualifying subjects and assess a draft’s impact: Capability Test Specification

Markdown

ATS-PFM-ELG-011

List qualifying subjects and assess a draft’s impact: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleEligibility, Responsibilities and AttentionRevision3

Read atservices-platform ad3f6a65react-console baf6dae3

Coverage

  • Rule gap: FND-PFM-ELG-063
  • Transition gap: FND-PFM-ELG-063
  • Validation covered
  • Permission gap: FND-PFM-ELG-063
  • Edge gap: FND-PFM-ELG-063
  • Failure gap: FND-PFM-ELG-063
  • Boundary gap: FND-PFM-ELG-063
  • Concurrency covered
  • Invariant gap: FND-PFM-ELG-063
  • Interaction covered

Test Scenarios

12 scenarios proving CAP-PFM-ELG-011; 9 bound to an existing test.

01 Check bulk-work authoritypermissionapinegativetest
Proves
BR-CAP-PFM-ELG-011-01
Preconditions
Read-only, population-without-query and publishing callers are available.
Steps
Start and inspect population and simulation work.
Expected
Missing population, publish or dataset query authority fails with the required permission named.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/eligibility/tests/e2e/eligibility-population.e2e.spec.js#refuses a population run to a caller without the dataset query key, 403 naming it
services-platform:modules/eligibility/tests/e2e/eligibility-population.e2e.spec.js#refuses an impact simulation to a caller without the dataset query key, 403 naming it
services-platform:modules/eligibility/tests/e2e/eligibility-population.e2e.spec.js#is refused to a caller with the population key alone, 403
Source
services-platform:modules/eligibility/tests/e2e/eligibility-population.e2e.spec.js#refuses a population run to a caller without the dataset query key, 403 naming it
02 Reject unusable run requestsvalidationapinegativetest
Proves
BR-CAP-PFM-ELG-011-02
Preconditions
A broken expression, nonbatch provider and foreign dataset are available.
Steps
Start each and request saved-query output.
Expected
All fail before creating either run or job, explaining why.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#refuses a rule whose provider type cannot be called in batches, and creates no run
Source
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#refuses a rule whose provider type cannot be called in batches, and creates no run
03 Prune only safely excluded subjectsruleunittest
Proves
BR-CAP-PFM-ELG-011-03
Preconditions
Expressions combine database and provider conditions.
Steps
Inspect eligible-only enumeration for conjunction, disjunction and negation.
Expected
Conjunction retains safe database pruning and a provider disjunction excludes nobody in advance.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/eligibility/tests/unit/sql-prefix.spec.js#keeps the sql side of an and whose other side reads a provider
services-platform:modules/eligibility/tests/unit/sql-prefix.spec.js#prunes no one for an or one of whose branches depends on a provider
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#enumerates only the subjects the sql prefix keeps when the run asks for the eligible alone
Source
services-platform:modules/eligibility/tests/unit/sql-prefix.spec.js#keeps the sql side of an and whose other side reads a provider
04 Persist cursor progress onceconcurrencyapitest
Proves
BR-CAP-PFM-ELG-011-04 INV-DOM-PFM-ELG-003-07
Preconditions
A job uses two-subject pages.
Steps
Retry an old cursor and restart the job.
Expected
Retry changes no counts and restart resumes without duplicate subjects.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#records a retried page once: the second attempt from the old cursor changes nothing
Source
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#records a retried page once: the second attempt from the old cursor changes nothing
05 Read and compare completed outputruleapitest
Proves
BR-CAP-PFM-ELG-011-05
Preconditions
Seeded contacts span all states and an earlier run exists.
Steps
Complete a comparison, page subjects and export.
Expected
State counts, nonduplicating pages, eligibility changes and the export location are returned.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#answers the subjects newly eligible against the earlier run, and none no longer eligible
Source
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#succeeds and counts every state of the planted contacts
06 Inspect draft gains and lossesinteractionapitest
Proves
BR-CAP-PFM-ELG-011-06
Preconditions
A published rule has history and a broadened draft.
Steps
Create and retrieve its simulation.
Expected
The same subjects have before/after counts and gain/loss samples with consumer and reference impact; nonbatch providers make it partial.
Data
No fixtures beyond the described setup.
Bound to
Source
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#counts each state before and after the change over the same subjects
07 Match simulations to releasesvalidationapinegativetest
Proves
BR-CAP-PFM-ELG-011-07
Preconditions
Simulations include the current draft, another rule and an old draft.
Steps
Publish with each, both a simulation and skip, and a skip alone.
Expected
Only the current completed simulation or skip is accepted and audited.
Data
No fixtures beyond the described setup.
Bound to
Source
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#records the simulation and its delta on the publish that used it
08 Expire stale bulk artifactstransitionapitest
Proves
BR-CAP-PFM-ELG-011-08
Preconditions
A settled run and 30-day simulation have reached expiry.
Steps
Expire runs and attempt comparison and simulation-backed release.
Expected
The local run expires, loses its result file and cannot be compared; the expired simulation cannot support publication.
Data
No fixtures beyond the described setup.
Bound to
services-platform:modules/eligibility/tests/integration/services/persistence/population-runs.integration.spec.js#expires the settled run once its time has come, and only in its own tenant
services-platform:modules/eligibility/tests/integration/services/persistence/simulations.integration.spec.js#creates the simulation queued, kept thirty calendar days in the tenant’s zone
Source
services-platform:modules/eligibility/tests/integration/services/persistence/population-runs.integration.spec.js#expires the settled run once its time has come, and only in its own tenant
09 Bind publication to the examined draftinteractionapiproposed
Proves
BR-CAP-PFM-ELG-004-12 BR-CAP-PFM-ELG-011-07
Preconditions
A completed simulation exists for a draft.
Steps
Change the draft, attempt publication citing that simulation, then simulate the new draft and publish citing its result.
Expected
The obsolete result is refused; the matching completed result is recorded with the accepted release.
Data
Run-owned records and a controlled clock where timing changes the result.
Source
services-platform:modules/eligibility/tests/integration/services/governance/publish.integration.spec.js#records the publish with its versions and the size of its diff; services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#refuses a publish naming a simulation of another version of the draft
10 Queue simulation gains with release refreshinteractionapiproposed
Proves
BR-CAP-PFM-ELG-010-03 BR-CAP-PFM-ELG-011-07
Preconditions
A simulation identifies newly eligible subjects and a derived role already has holders.
Steps
Publish with the matching simulation and inspect queued role rechecks and the following use answer.
Expected
Existing holders and bounded gains are queued and the following use observes the new expression.
Data
Run-owned records and a controlled clock where timing changes the result.
Source
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#queues a reconcile for every subject the simulation found newly eligible when the version is published; services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#refuses a publish naming a simulation of another version of the draft
11 Observe a stopped population jobinteractionapinegativeproposed
Proves
BR-CAP-PFM-ELG-011-04 BR-CAP-PFM-ELG-012-03
Preconditions
A population run exceeds its permitted size or has a failing page.
Steps
Execute the run through failure settlement and inspect the run, dependent simulation and failure metric.
Expected
The run and dependent simulation fail and the population alarm receives the emitted failure series.
Data
Run-owned records and a controlled clock where timing changes the result.
Source
services-platform:modules/eligibility/tests/integration/services/population/population-run.integration.spec.js#records a retried page once: the second attempt from the old cursor changes nothing; services-platform:modules/eligibility/tests/unit/alarm-inputs.spec.ts#reads the population run’s failure under the service its task function records it as (DEF-ELIG-0675)
12 Purge only a workspace undergoing deletioninvariantapitest
Proves
BR-CAP-PFM-ELG-011-09 BR-CAP-PFM-ELG-009-08 INV-DOM-PFM-ELG-003-08
Preconditions
A run-owned workspace contains decisions, plans, uses, rules, runs and simulations.
Steps
Attempt purge while live, move that workspace to deletion and drain the participant batches, then inspect its resource inventory.
Expected
The live-workspace purge is refused and the deleting workspace’s declared eligibility resources are emptied.
Data
Run-owned fixtures, separate caller contexts and a controlled clock where required.
Bound to
Source
services-platform:modules/eligibility/tests/integration/services/maintenance/tenant-participant.integration.spec.js

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.