This suite tests the continuity of a member’s record across staff entry, future renewal, interruption and return. Composite cases also test how source changes affect dependent coverage.
The composite cases test the effect of a change in one capability on the records and answers of another. Detailed reliance links identify the supporting capability scenarios; an executable binding requires assertions for the complete feature case. Cases without such a binding remain proposed.
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)
02Keep source and granted coverage consistent through correctioninteractionproposed
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
03Carry the member through lapse, drop and returnlifecycletest
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)
04Keep every staff lifecycle write behind its own grantpermissionnegativetest
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.
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)
05Restore dependent standing without rewriting period datesregressionproposed
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