ATS-MBR-MEM-008 Preserve member connections through transfers and unit merges: Acceptance Test Set
Markdown Planning / Membership / Memberships, Applications and Membership Billing / Member Connections to Chapters and Sections / Capability Test Specification Preserve member connections through transfers and unit merges: Acceptance Test Set Coverage Show evidence (sources, provenance, origins, pinned commits)Test Scenarios 9 scenarios proving CAP-MBR-MEM-008 ; 7 bound to an existing test.
01 Continue an affiliation in the target unit api test
Proves BR-CAP-MBR-MEM-008-01 Preconditions Jo has a primary Atlanta affiliation and a target without dues. Steps Transfer the Atlanta row on a future date and inspect both rows and the lifecycle event. Expected The original ends the preceding day; the successor begins on the selected date as primary and retains lineage, with a transfer event. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Bound to Source services-membership:modules/memberships/tests/integration/services/affiliations.integration.spec.ts #transfers to a chapter that sells no dues: the old row ends the day before, the new one continues it as primary 02 Reject direct transfers requiring dues api negative test
Proves BR-CAP-MBR-MEM-008-02 Preconditions San Francisco charges dues for Jo’s selected package. Steps Request a direct transfer into San Francisco. Expected The refusal identifies the component-change amendment and leaves the original affiliation intact. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Bound to Source services-membership:tests/e2e/s06-midterm-transfer.e2e.spec.ts #refuses the console’s transfer 409 requires_amendment, naming the component_change amendment 03 Read affiliations and rosters across the transfer date api test
Proves BR-CAP-MBR-MEM-008-03 Preconditions Jo has completed a dated transfer from Atlanta to San Francisco and retains Savannah. Steps Inspect dated affiliation views and unit rosters before and after the effective date. Expected Atlanta is replaced by San Francisco on the transfer date; Savannah and its ancestor coverage remain. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Bound to Source services-membership:tests/e2e/s06-midterm-transfer.e2e.spec.ts #answers Atlanta and Savannah as of 2026-10-15, San Francisco and Savannah as of 2027-02-01, the primary moving 04 Account for each affiliation during a unit merge api test
Proves BR-CAP-MBR-MEM-008-04 Preconditions Savannah holds begun, future, duplicate and already closed affiliation cases. Steps Merge into Atlanta and inspect action counts, resulting rows and lifecycle events. Expected Begun ties transfer, future ties repoint, duplicates end and closed ties remain; the counts and lifecycle records describe the actions. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Bound to Source services-membership:modules/memberships/tests/integration/services/affiliations-unit-merge.integration.spec.ts #answers what it did: one moved, one ended on the survivor, one left closed 05 Refuse an incompatible merge without writing api negative proposed
Proves BR-CAP-MBR-MEM-008-05 Preconditions The merge would require a different survivor type or introduce a new minimum-count violation. Steps Attempt the incompatible merge and inspect the reported rules and retained rows. Expected The merge reports affected memberships and rules without changing units or affiliations. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Source services-membership:modules/memberships/services/affiliations/unit-merge.ts :decideMergedTerm 06 Move identity-bound holdings or report collisions api proposed
Proves BR-CAP-MBR-MEM-008-06 Preconditions Kim has a merged-unit identity and another owner already holds the surviving identity in the same program. Steps Merge the identity unit for Kim, then attempt a merge with a duplicate surviving holding. Expected Kim’s identity changes at the next version; a duplicate surviving holding causes a refusal without changes. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Source services-membership:modules/memberships/services/affiliations/unit-merge.ts :decideIdentityBound 07 Preserve a unit referenced by historical affiliations api negative test
Proves BR-CAP-MBR-MEM-008-07 Preconditions Savannah has been merged but affiliation history still names it. Steps Request deletion of the referenced merged unit. Expected Deletion is rejected because affiliation rows still reference the unit. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Bound to Source services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts #refuses to delete Savannah while affiliations name it (unit_has_affiliations) 08 Expose moved members to surviving-unit officers api test
Proves BR-CAP-MBR-MEM-008-08 Preconditions Alex’s officer grant reaches Atlanta while Pat initially belongs only to Savannah. Steps Read Pat with Alex’s grant before and after the unit merge. Expected Pat is outside Alex’s scope before the merge and readable through Atlanta afterward. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Bound to Source services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts #shows Alex Jo and not Pat before the merge 09 Use a new tree without changing affiliation identity api test
Proves BR-CAP-MBR-MEM-008-12 Preconditions Atlanta has a membership affiliation and is moved from the Eastern Region to the Pacific Zone. Steps Inspect Jo’s affiliation identity and current rosters, then query ancestry before the move. Expected The affiliation keeps its id, version and unit; current ancestry reaches the West, while historical ancestry still reaches the East. Data Dated affiliations, merge cases, identity-bound memberships and officer grants required by the selected operation. Bound to Source services-membership:tests/e2e/s09-restructuring.e2e.spec.ts #rewrites no affiliation: Jo’s row is the same row, version and unit ← Previous Capability Test Specification ATS-MBR-MEM-007 · Maintain dated chapter and section affiliations: Acceptance Test Set Next Capability Test Specification → ATS-MBR-MEM-009 · Sell membership through the Commerce checkout: Acceptance Test Set