---
id: JNY-MBR-STR-003
title: Combine chapters and review the membership result
feature: FEAT-MBR-STR-01
product_area: membership
module: structure
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes:
  - MBR-ACC-0018
  - MBR-ACC-0019
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-MBR-001
goal: Absorb Savannah into Atlanta and inspect the resulting memberships and follow-up work.
capabilities:
  - CAP-MBR-STR-003
  - CAP-MBR-STR-004
  - CAP-MBR-STR-005
screens: []
steps:
  - 'n': 1
    surface: listMemberships
    action: Compare the officer’s visible memberships before combination.
    capability: CAP-MBR-STR-005
    expected: Alex can see Jo while Pat is outside the officer’s pre-merge view.
    provenance: test
    source: >-
      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
  - 'n': 2
    surface: mergeOrganizationalUnit
    action: Submit Savannah’s combination with Atlanta as survivor.
    capability: CAP-MBR-STR-003
    expected: >-
      The section relocates and the response counts transferred and duplicate-ended affiliations plus retained
      leftovers.
    provenance: test
    source: >-
      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
  - 'n': 3
    surface: getOrganizationalUnit
    action: Inspect Savannah’s structural record.
    capability: CAP-MBR-STR-003
    expected: The source records merged status and identifies Atlanta.
    provenance: test
    source: >-
      services-membership:tests/acceptance/structure/MBR-ACC-0018.acceptance.ts#MBR-ACC-0018 Savannah Chapter
      is merged into Atlanta
  - 'n': 4
    surface: listMemberships
    action: Inspect the survivor’s current roster.
    capability: CAP-MBR-STR-003
    expected: Atlanta includes Pat and Jo while Savannah’s current roster is empty.
    provenance: test
    source: >-
      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
  - 'n': 5
    surface: deleteOrganizationalUnit
    action: Attempt to remove Savannah after the combination.
    capability: CAP-MBR-STR-004
    expected: Retained affiliation history prevents removal.
    provenance: test
    source: >-
      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)
alternates:
  - from_step: 2
    condition: Jo already has an overlapping Atlanta affiliation.
    path: The source affiliation ends without another survivor affiliation being created.
    outcome: Jo retains the existing Atlanta relationship.
    provenance: test
    source: >-
      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
failures:
  - from_step: 2
    condition: The planned combination introduces a membership unit-rule conflict.
    path: The operation rejects the entire merge and identifies the affected holding.
    outcome: The original unit and affiliation records remain intact.
    provenance: test
    source: >-
      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
rules_in_play:
  - BR-CAP-MBR-STR-003-01
  - BR-CAP-MBR-STR-003-02
  - BR-CAP-MBR-STR-003-03
  - BR-CAP-MBR-STR-003-04
  - BR-CAP-MBR-STR-003-05
  - BR-CAP-MBR-STR-003-09
  - BR-CAP-MBR-STR-004-04
assertions:
  - id: AS-JNY-MBR-STR-003-01
    statement: Savannah’s merged record identifies Atlanta as survivor.
    provenance: test
    source: >-
      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
  - id: AS-JNY-MBR-STR-003-02
    statement: Pat’s earlier source period ends and the replacement begins at Atlanta.
    provenance: test
    source: >-
      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
  - id: AS-JNY-MBR-STR-003-03
    statement: The source’s own detail replacement is refused after merging.
    provenance: test
    source: >-
      services-membership:tests/acceptance/structure/MBR-ACC-0018.acceptance.ts#MBR-ACC-0018 Savannah Chapter
      is merged into Atlanta
e2e_policy: optional
e2e_reason: >-
  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.
---

# Combine chapters and review the membership result

## Story

The administrator combines Savannah with Atlanta and reviews the returned result. Pat’s chapter relationship continues under Atlanta, while Jo keeps the Atlanta relationship already held. Savannah’s section joins the surviving branch. The administrator checks the current roster, retains Savannah’s historical identity and reviews finance and organization leftovers before considering the combination finished.
