Skip to content

JNY-MBR-STR-003Combine chapters and review the membership result

Markdown

JNY-MBR-STR-003

Combine chapters and review the membership result

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaMembershipModuleOrganizational Structure, Membership Configuration and TermsRevision1End-to-endOptional

Read atservices-membership 5994c270react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Absorb Savannah into Atlanta and inspect the resulting memberships and follow-up work.

Steps

#SurfaceActionCapabilityExpectedProvenance
1listMembershipsCompare the officer’s visible memberships before combination.CAP-MBR-STR-005Alex can see Jo while Pat is outside the officer’s pre-merge view.test
services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts#a unit merge moves its members: Savannah into Atlanta › shows Alex Jo and not Pat before the merge
2mergeOrganizationalUnitSubmit Savannah’s combination with Atlanta as survivor.CAP-MBR-STR-003The section relocates and the response counts transferred and duplicate-ended affiliations plus retained leftovers.test
services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts#a unit merge moves its members: Savannah into Atlanta › merges Savannah, counting one affiliation moved and one ended on the survivor
3getOrganizationalUnitInspect Savannah’s structural record.CAP-MBR-STR-003The source records merged status and identifies Atlanta.test
services-membership:tests/acceptance/structure/MBR-ACC-0018.acceptance.ts#MBR-ACC-0018 Savannah Chapter is merged into Atlanta
4listMembershipsInspect the survivor’s current roster.CAP-MBR-STR-003Atlanta includes Pat and Jo while Savannah’s current roster is empty.test
services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts#a unit merge moves its members: Savannah into Atlanta › lists Jo and Pat on Atlanta’s roster today, and no one on Savannah’s
5deleteOrganizationalUnitAttempt to remove Savannah after the combination.CAP-MBR-STR-004Retained affiliation history prevents removal.test
services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts#a unit merge moves its members: Savannah into Atlanta › refuses to delete Savannah while affiliations name it (unit_has_affiliations)

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate2Jo already has an overlapping Atlanta affiliation.The source affiliation ends without another survivor affiliation being created.Jo retains the existing Atlanta relationship.test
services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts#a unit merge moves its members: Savannah into Atlanta › keeps Jo’s Atlanta affiliation and ends her Savannah one yesterday
failure2The planned combination introduces a membership unit-rule conflict.The operation rejects the entire merge and identifies the affected holding.The original unit and affiliation records remain intact.test
services-membership:modules/structure/tests/integration/services/tree/unit-merge.integration.spec.ts#the tree edits affiliations bind › a merge an affiliation cannot follow › changes nothing: the units, their history and every affiliation, the movable ones included, are as they were

Assertions

IdStatementProvenance
01Savannah’s merged record identifies Atlanta as survivor.test
services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › merge › moves the children under the survivor, marks the unit merged and lists what it left
02Pat’s earlier source period ends and the replacement begins at Atlanta.test
services-membership:tests/e2e/s13-unit-merge.e2e.spec.ts#a unit merge moves its members: Savannah into Atlanta › ends Pat’s Savannah affiliation yesterday and continues it in Atlanta as primary from today
03The source’s own detail replacement is refused after merging.test
services-membership:tests/acceptance/structure/MBR-ACC-0018.acceptance.ts#MBR-ACC-0018 Savannah Chapter is merged into Atlanta

End-to-end policy: optional: Service merge cases and integration evidence cover the current operations. The product should add a browser journey when a screen presents both the merge and its unresolved leftovers.

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.