The interaction cases test how a shared holding, period, chapter connection or recorded change affects related work. Each case names its related capabilities and workflows in frontmatter. A composite case remains proposed until executable assertions establish every part of its expected outcome.
Coverage
Rulegap: FND-MBR-MEM-099
Transitiongap: FND-MBR-MEM-099
Validationgap: FND-MBR-MEM-099
Permissiongap: FND-MBR-MEM-099
Edgegap: FND-MBR-MEM-099
Failuregap: FND-MBR-MEM-099
Boundarygap: FND-MBR-MEM-099
Concurrencygap: FND-MBR-MEM-099
Invariantgap: FND-MBR-MEM-099
Interactioncovered
Test Scenarios
7 scenarios proving CAP-MBR-MEM-017; 5 bound to an existing test.
01An export captures the requester's scope at request timepermissionapitest
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[
{
"do": "The Atlanta officer requests an export; staff and an officer with no reach request too.",
"expect": "Each captures exactly the memberships its scope reaches with the filters.",
"provenance": "test",
"source": [
"services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#captures the ids the requester’s set reaches at request time",
"services-membership:tests/acceptance/security/MBR-ACC-0460.acceptance.ts#MBR-ACC-0460"
]
}
]
Expected
Each captures exactly the memberships its scope reaches with the filters.
Data
FAA programs, packages, units and members from the integration seed.
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[
{
"do": "Let the export job run.",
"expect": "One row per captured membership with number, owner, program, status and units on the date.",
"provenance": "test",
"source": [
"services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#writes rows for the captured memberships only, with their units on the date"
]
}
]
Expected
One row per captured membership with number, owner, program, status and units on the date.
Data
FAA programs, packages, units and members from the integration seed.
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[
{
"do": "The requester, staff and another officer read the export.",
"expect": "The first two read it; the other officer gets not found.",
"provenance": "test",
"source": [
"services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#answers the export to the person who asked for it and to staff, and not to another officer"
]
}
]
Expected
The first two read it; the other officer gets not found.
Data
FAA programs, packages, units and members from the integration seed.
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[
{
"do": "Jo reads her own memberships and tries the staff read; Dana, with none, reads her own.",
"expect": "Jo sees hers; the staff read is refused; Dana gets an empty answer.",
"provenance": "test",
"source": [
"services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#lets Jo read her own memberships in the portal",
"services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#refuses Jo the staff read of her own membership: a portal member holds no members.read",
"services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#answers Dana’s own portal read with no membership, Dana holding none",
"services-membership:tests/acceptance/memberships/MBR-ACC-0188.acceptance.ts#MBR-ACC-0188"
]
}
]
Expected
Jo sees hers; the staff read is refused; Dana gets an empty answer.
Data
FAA programs, packages, units and members from the integration seed.
A requester has chapter reach and a roster containing active and lapsed fixtures.
Steps
[
{
"do": "Capture an export for a selected date, generate its rows and compare the matching dated member reads.",
"expect": "Each exported row belongs to the captured set and carries the matching dated standing.",
"provenance": "proposed",
"source": [
"services-membership:modules/memberships/tests/integration/services/affiliations.integration.spec.ts#lists a member of two chapters once under their zone and region, and under each chapter",
"services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#writes rows for the captured memberships only, with their units on the date"
]
}
]
Expected
Each exported row belongs to the captured set and carries the matching dated standing.
Data
An isolated workspace with the specified membership, package, chapter and partner-port fixtures.
An officer reaches a chapter containing a multi-chapter member.
Steps
[
{
"do": "List the officer’s roster, request its export, then withdraw the officer’s appointment before generation.",
"expect": "The export retains the originally captured membership set and adds no member outside that set.",
"provenance": "proposed",
"source": [
"services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#lists exactly the memberships IN{eastern} reaches, the same in one page and a page at a time",
"services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#captures the ids the requester’s set reaches at request time"
]
}
]
Expected
The export retains the originally captured membership set and adds no member outside that set.
Data
An isolated workspace with the specified membership, package, chapter and partner-port fixtures.