Skip to content

ATS-MBR-MEM-015Give officers their own units' members and nothing else: Acceptance Test Set

Markdown

ATS-MBR-MEM-015

Give officers their own units' members and nothing else: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-MBR-MEM-015

KindAcceptance test setProduct areaMembershipModuleMemberships, Applications and Membership BillingRevision1

Read atservices-membership 5994c270react-console baf6dae3

Test Scenarios

9 scenarios proving CAP-MBR-MEM-015; 9 bound to an existing test.

01 A grant reaches its unit and the units below, never a sibling or parentunittest
Proves
BR-CAP-MBR-MEM-015-01
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
Evaluate what ALL, NONE, a region grant and a chapter grant reach.
Expected
ALL every unit, NONE nothing, a region its chapters, a chapter neither its sibling nor its parent.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#reaches a unit below a granted one through the closure (a region officer, a chapter)
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#does not reach a sibling or a parent of the granted unit
Source
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#reaches every unit and every chain with ALL
02 A membership's units on a date come from its ties and identity in forceapitest
Proves
BR-CAP-MBR-MEM-015-02
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
Compute the chain for affiliation-only, identity-only, both, transferred, pending and cancelled cases on three dates; compare the database with the rule.
Expected
The database and the rule agree for every membership; pending and cancelled terms add nothing.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#agrees with the in-memory rule for every membership, on three dates, with grace on and off
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#holds an affiliation’s unit and its ancestors on a day its term covers
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#follows a transfer by date: as of 2027-02-01 the new unit, as of 2026-10-15 the old one
Source
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#agrees with the in-memory rule for every membership, on three dates, with grace on and off
03 Officers' lists are complete pages of their own membersapitest
Proves
BR-CAP-MBR-MEM-015-03
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
List as ALL, Eastern, Atlanta, Western and NONE, whole and a page at a time.
Expected
Each set's members exactly, the same however paged.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
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#lists exactly the memberships IN{atl} reaches, the same in one page and a page at a time
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#fills every page from the memberships in scope (the predicate is in the WHERE, not after the LIMIT)
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#lists the Eastern members for Dana: Jo, and not Sam
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
04 Out-of-scope members are not found; visible members mark each tieapitest
Proves
BR-CAP-MBR-MEM-015-04
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
The Atlanta officer reads Jo and Sam; the Eastern officer reads Jo.
Expected
Atlanta sees Jo with Savannah out of scope and does not find Sam; Eastern sees both ties in scope.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#reads Jo for the Atlanta officer, the Savannah affiliation marked out of scope
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#marks both of Jo’s affiliations in scope for the Eastern officer
services-membership:tests/e2e/s08-cross-chapter-restrictions.e2e.spec.ts#reads Jo, the Savannah affiliation shown and marked out of scope
Source
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#reads Jo for the Atlanta officer, the Savannah affiliation marked out of scope
05 Members in grace stay in scope only when the workspace says soapitest
Proves
BR-CAP-MBR-MEM-015-05
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
Read Gil, in grace, with the roster rule off and on, and after grace ends.
Expected
Out with the rule off; in, in his term's last-day units, with it on; out once grace ends.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#leaves a member in grace out when the roster rule excludes grace
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#keeps a member in grace, in the units of the term’s last day, when the roster rule includes grace
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#drops a member whose grace has run out, even with grace included
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#adds Gil to the Atlanta officer’s list when the roster rule includes grace
Source
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#leaves a member in grace out when the roster rule excludes grace
06 Each tie change checks its own units, visibility firstapinegativetest
Proves
BR-CAP-MBR-MEM-015-07
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
The Atlanta officer ends Jo's Savannah row, transfers Atlanta to San Francisco, makes Atlanta primary over Savannah, and ends a row of a member not yet in force.
Expected
The first three refused out_of_scope naming the outside unit; the last not found, before the version is checked; staff may do all.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses the Atlanta officer ending Jo’s Savannah row, out_of_scope naming Savannah
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses the Atlanta officer a transfer of the Atlanta row to San Francisco, naming San Francisco
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses set_primary of the Atlanta row while the Savannah row would lose the flag
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses the Atlanta officer ending the Atlanta row as not found, and leaves the row
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#answers not_found, not allowed, for a membership whose chain the set does not reach although the set holds the named unit
Source
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses the Atlanta officer ending Jo’s Savannah row, out_of_scope naming Savannah
07 No officer reaches a workspace-level operationapinegativetest
Proves
BR-CAP-MBR-MEM-015-08
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
An officer with broad unit grants terminates, creates, suspends, sweeps and configures.
Expected
Each is refused before it is handled.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#does not reach a staff operation: terminating Jo’s term is refused before the handler
services-membership:tests/e2e/s08-cross-chapter-restrictions.e2e.spec.ts#refuses the tenant-level cancel (terminate) of Jo’s term 403 before the handler
Source
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#does not reach a staff operation: terminating Jo’s term is refused before the handler
08 Scope settings are replaced whole at the version read, within their boundapinegativetest
Proves
BR-CAP-MBR-MEM-015-09
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
Replace the settings, collide two administrators, and send an oversized document.
Expected
The first applies, the stale one is refused, the oversized one is refused naming the bound.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:tests/e2e/database-refusals.e2e.spec.ts#refuses 100 roles of 50 hundred-character fields 400 naming the 32768-byte bound, and saves nothing
Source
services-membership:tests/e2e/database-refusals.e2e.spec.ts#refuses 100 roles of 50 hundred-character fields 400 naming the 32768-byte bound, and saves nothing
09 Authority starts and ends with the appointmentapitest
Proves
BR-CAP-MBR-MEM-015-10
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
Read the roster during an appointment's grace, after it ends, and as the successor before and after their start.
Expected
Answered, refused, refused, answered.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
services-membership:tests/e2e/s12-expiring-appointment.e2e.spec.ts#answers Lee’s roster while the assignment is within its grace
services-membership:tests/e2e/s12-expiring-appointment.e2e.spec.ts#refuses Lee’s roster once the exclusive valid_until has passed
services-membership:tests/e2e/s12-expiring-appointment.e2e.spec.ts#refuses the successor before the assignment’s valid_from
services-membership:tests/e2e/s12-expiring-appointment.e2e.spec.ts#answers the successor from the assignment’s valid_from, with no end yet
Source
services-membership:tests/e2e/s12-expiring-appointment.e2e.spec.ts#answers Lee’s roster while the assignment is within its grace

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.