Skip to content

FAS-MBR-MEM-01Membership Holdings and Periods: Feature Acceptance Suite

Markdown

FAS-MBR-MEM-01

Membership Holdings and Periods: 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-01 as a whole.

01 Add future coverage without changing present rights behaviour test
Exercises
CAP-MBR-MEM-001 CAP-MBR-MEM-002 CAP-MBR-MEM-005
Relies on
ATS-MBR-MEM-001-09 ATS-MBR-MEM-002-05 ATS-MBR-MEM-005-01
Preconditions
A person has a Student offer and an Alumni renewal offer.
Steps
[object Object]
Expected
One holding retains both periods; the current and future dated answers select their respective types.
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:tests/e2e/s01-early-renewal-type-change.e2e.spec.ts,services-membership:modules/memberships/tests/integration/services/staff-operations.integration.spec.ts#creates a membership with its committed term, its enrolment and its cache,services-membership:tests/e2e/s01-early-renewal-type-change.e2e.spec.ts#leaves the Student term untouched and current today, with the renewal recorded as renewed,services-membership:modules/memberships/tests/integration/db/membership-functions.integration.spec.ts#answers Sam grace, lapsed, then active across the lapse and rejoin (scenario 4)
02 Keep source and granted coverage consistent through correction interaction proposed
Exercises
CAP-MBR-MEM-001 CAP-MBR-MEM-003 CAP-MBR-MEM-006
Relies on
ATS-MBR-MEM-001-09 ATS-MBR-MEM-003-07 ATS-MBR-MEM-006-01
Preconditions
A new person selects a package granting another program.
Steps
[object Object]
Expected
The grant stays linked to its source and the correction preserves earlier knowledge while contracting the mirrored coverage.
Data
An isolated workspace, dated member fixtures, chapter and package configuration, and recording partner ports where the case requires them.
Source
services-membership:modules/memberships/tests/integration/services/staff-operations.integration.spec.ts#creates a membership with its committed term, its enrolment and its cache,services-membership:tests/acceptance/memberships/MBR-ACC-0182.acceptance.ts#MBR-ACC-0182: Granted terms follow their source down but never up: shortened with a correction, terminated or cancelled with it, while the granted membership is not suspended with the primary,services-membership:modules/memberships/tests/integration/services/staff-operations.integration.spec.ts#creates the granted membership and term of a package grant in the same transaction
03 Carry the member through lapse, drop and return lifecycle test
Exercises
CAP-MBR-MEM-001 CAP-MBR-MEM-002 CAP-MBR-MEM-003 CAP-MBR-MEM-005
Relies on
ATS-MBR-MEM-002-04 ATS-MBR-MEM-003-04 ATS-MBR-MEM-005-01
Preconditions
A person’s first annual coverage ends with a sixty-day grace allowance.
Steps
[object Object]
Expected
The original join date stays recorded, the old term keeps its end, and the return starts a second continuity episode.
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:tests/e2e/s04-lapse-and-rejoin.e2e.spec.ts,services-membership:tests/e2e/s04-lapse-and-rejoin.e2e.spec.ts#keeps the original join date and restarts continuity at the rejoin (a gap of 437 days is more than 60),services-membership:modules/memberships/tests/integration/services/staff-operations.integration.spec.ts#terminates a term from the effective date, with the reason, and the status follows,services-membership:modules/memberships/tests/integration/db/membership-functions.integration.spec.ts#answers Sam grace, lapsed, then active across the lapse and rejoin (scenario 4)
04 Keep every staff lifecycle write behind its own grant permissionnegative test
Exercises
CAP-MBR-MEM-001 CAP-MBR-MEM-002 CAP-MBR-MEM-003 CAP-MBR-MEM-004
Relies on
ATS-MBR-MEM-001-01 ATS-MBR-MEM-002-06 ATS-MBR-MEM-004-01 ATS-MBR-MEM-005-03 ATS-MBR-MEM-001-15 ATS-MBR-MEM-002-11 ATS-MBR-MEM-003-14 ATS-MBR-MEM-004-08
Preconditions
Staff, a read-only colleague, a portal member and a different-workspace administrator share fixture identifiers.
Steps
[object Object]
Expected
Staff requests alone succeed; restricted callers receive their permission or workspace refusal and the checked terms and event counts remain unchanged by refused calls.
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:tests/acceptance/memberships/MBR-ACC-0172.acceptance.ts,services-membership:tests/acceptance/memberships/MBR-ACC-0162.acceptance.ts#MBR-ACC-0162,services-membership:tests/e2e/s01-early-renewal-type-change.e2e.spec.ts#refuses a term from a caller without membership.terms.create,services-membership:tests/acceptance/memberships/MBR-ACC-0174.acceptance.ts#MBR-ACC-0174: A membership is suspended over its terms and restored to whatever the terms give, once each way, with no detections while suspended and the history showing the suspension,services-membership:modules/memberships/tests/integration/services/status-sweep.integration.spec.ts#answers the right status on each side of the expiry before any sweep runs (the resolver needs none)
05 Restore dependent standing without rewriting period dates regression proposed
Exercises
CAP-MBR-MEM-004 CAP-MBR-MEM-005 CAP-MBR-MEM-006
Relies on
ATS-MBR-MEM-004-03 ATS-MBR-MEM-005-01 ATS-MBR-MEM-006-04
Preconditions
An organization and its qualifying people have current mirrored periods.
Steps
[object Object]
Expected
The children follow suspension and restoration while keeping the recorded periods and returning to their date-derived standing.
Data
An isolated workspace, dated member fixtures, chapter and package configuration, and recording partner ports where the case requires them.
Source
services-membership:modules/memberships/services/operations/staff-operations.ts:suspendChildren,services-membership:modules/memberships/tests/integration/db/membership-functions.integration.spec.ts#answers Sam grace, lapsed, then active across the lapse and rejoin (scenario 4),services-membership:modules/memberships/tests/integration/services/organization-children.integration.spec.ts#flows down to the contacts holding a flow-down role, mirroring the parent’s dates with the flow-down type

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.