Skip to content

ATS-MBR-MEM-017Export a roster and let members see their own memberships: Capability Test Specification

Markdown

ATS-MBR-MEM-017

Export a roster and let members see their own memberships: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaMembershipModuleMemberships, Applications and Membership BillingRevision2

Read atservices-membership 5994c270react-console baf6dae3

Coverage

  • Rule gap: FND-MBR-MEM-099
  • Transition gap: FND-MBR-MEM-099
  • Validation gap: FND-MBR-MEM-099
  • Permission gap: FND-MBR-MEM-099
  • Edge gap: FND-MBR-MEM-099
  • Failure gap: FND-MBR-MEM-099
  • Boundary gap: FND-MBR-MEM-099
  • Concurrency gap: FND-MBR-MEM-099
  • Invariant gap: FND-MBR-MEM-099
  • Interaction covered

Test Scenarios

7 scenarios proving CAP-MBR-MEM-017; 5 bound to an existing test.

01 An export captures the requester's scope at request timepermissionapitest
Proves
BR-CAP-MBR-MEM-017-01
Preconditions
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.
Bound to
Source
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#captures the ids the requester’s set reaches at request time
02 Export rows hold the captured members with their units on the dateruleapitest
Proves
BR-CAP-MBR-MEM-017-02
Preconditions
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.
Bound to
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
03 An export is read by its requester and staff onlypermissionapinegativetest
Proves
BR-CAP-MBR-MEM-017-03
Preconditions
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.
Bound to
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
04 No reach, no capturepermissionapitest
Proves
BR-CAP-MBR-MEM-017-05
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "A caller whose scope reaches nobody requests an export.", "expect": "It captures nothing.", "provenance": "test", "source": [ "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#captures nothing for a caller with NONE" ] } ]
Expected
It captures nothing.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
Source
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#captures nothing for a caller with NONE
05 A portal member sees their own memberships onlypermissionapitest
Proves
BR-CAP-MBR-MEM-017-06
Preconditions
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.
Bound to
Source
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#lets Jo read her own memberships in the portal
06 Export the standing of the captured roster on its dateinteractionapiproposed
Proves
BR-CAP-MBR-MEM-005-10 BR-CAP-MBR-MEM-017-02
Preconditions
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.
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
07 Capture export inclusion from officer reachinteractionapiproposed
Proves
BR-CAP-MBR-MEM-015-03 BR-CAP-MBR-MEM-017-01
Preconditions
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.
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

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.