Skip to content

FAS-MBR-MEM-07Membership Accountability and Reporting: Feature Acceptance Suite

Markdown

FAS-MBR-MEM-07

Membership Accountability and Reporting: Feature Acceptance Suite

Markdown
  • DocumentProposed
  • Product intentProposed

Product areaMembershipModuleMemberships, Applications and Membership BillingRevision1

Read atservices-membership 5994c270react-console baf6dae3

Scenarios

5 scenarios proving FEAT-MBR-MEM-07 as a whole.

01 Reconcile recorded membership changes with monthly reporting behaviour proposed
Exercises
CAP-MBR-MEM-018 CAP-MBR-MEM-019 CAP-MBR-MEM-020
Relies on
ATS-MBR-MEM-018-01 ATS-MBR-MEM-019-02 ATS-MBR-MEM-020-01
Preconditions
A current membership has attributed writes and an enabled event receiver.
Steps
[object Object]
Expected
History, dated monthly rows and the emitted outcomes refer to the same committed coverage changes.
Data
An isolated workspace, dated member fixtures, chapter and package configuration, and recording partner ports where the case requires them.
Source
services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#records the creation as one revision of the membership, its term and affiliation as collections,services-membership:modules/snapshots/tests/integration/snapshot-pipeline.integration.spec.ts#plans September’s first version for the tenant, once,services-membership:modules/events/tests/integration/business-events.integration.spec.ts#states membership.term.committed and the term’s affiliation for a staff creation, naming the person, the program and the term
02 Keep the old snapshot until a corrected version passes checks interaction proposed
Exercises
CAP-MBR-MEM-018 CAP-MBR-MEM-019
Relies on
ATS-MBR-MEM-018-08 ATS-MBR-MEM-019-05 ATS-MBR-MEM-019-06
Preconditions
A month is published and one member has a backdated correction.
Steps
[object Object]
Expected
The failed attempt leaves the earlier publication current; the valid restatement changes the corrected member and related counts.
Data
An isolated workspace, dated member fixtures, chapter and package configuration, and recording partner ports where the case requires them.
Source
services-membership:modules/history/tests/integration/membership-as-of.integration.spec.ts#answers the term as it was known before the correction, with a known_at before it,services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#fails the run on the counts check, publishes nothing, and leaves the current version current,services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#writes identical member, affiliation and count rows with the original known_at
03 Retry delivered terminations with stable event identity lifecycle proposed
Exercises
CAP-MBR-MEM-018 CAP-MBR-MEM-020
Relies on
ATS-MBR-MEM-018-01 ATS-MBR-MEM-020-06 ATS-MBR-MEM-020-07
Preconditions
A staff termination commits with attribution and a configured recording receiver.
Steps
[object Object]
Expected
The revision remains committed and both delivery attempts identify the same termination event before settlement.
Data
An isolated workspace, dated member fixtures, chapter and package configuration, and recording partner ports where the case requires them.
Source
services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#records the creation as one revision of the membership, its term and affiliation as collections,services-membership:modules/events/tests/integration/change-events-dispatch.integration.spec.ts#hands Committees the termination alone, as { version: 1, stream, events } with data.contact_id and data.ends_on,services-membership:modules/events/tests/integration/change-events-dispatch.integration.spec.ts#returns the message to the queue when Committees answers failed, so SQS retries it
04 Separate member inspection from history and dataset grants permissionnegative proposed
Exercises
CAP-MBR-MEM-018 CAP-MBR-MEM-019
Relies on
ATS-MBR-MEM-018-05 ATS-MBR-MEM-019-01 ATS-MBR-MEM-019-09
Preconditions
A reader has membership-read authority but lacks history and dataset query grants.
Steps
[object Object]
Expected
Only separately granted reads succeed and each successful dataset remains within the requester’s workspace.
Data
An isolated workspace, dated member fixtures, chapter and package configuration, and recording partner ports where the case requires them.
Source
services-membership:tests/e2e/history-api.e2e.spec.ts#refuses the history to a reader of memberships who does not hold membership.memberships.history,services-membership:modules/memberships/tests/integration/db/membership-functions.integration.spec.ts#answers the query layer’s picks from memberships_for_queries: status today, current type, episode count,services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#reads the current published version alone through the published view, in the tenant
05 Reproduce the original month and restate only the correction regression test
Exercises
CAP-MBR-MEM-018 CAP-MBR-MEM-019
Relies on
ATS-MBR-MEM-018-08 ATS-MBR-MEM-019-06
Preconditions
A generated month has saved member, affiliation and count rows.
Steps
[object Object]
Expected
The original-instant rows reproduce; the later version differs only for the corrected member and its affected counts while earlier versions remain available.
Data
An isolated workspace, dated member fixtures, chapter and package configuration, and recording partner ports where the case requires them.
Bound to
Source
services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts,services-membership:modules/history/tests/integration/membership-as-of.integration.spec.ts#answers the term as it was known before the correction, with a known_at before it,services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#writes identical member, affiliation and count rows with the original known_at

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.