Skip to content

JNY-MBR-MEM-005A regional officer looks after the members of their region

Markdown

JNY-MBR-MEM-005

A regional officer looks after the members of their region

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

KindJourneyProduct areaMembershipModuleMemberships, Applications and Membership BillingRevision1End-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
Work with exactly the members of one's region: find them, correct their details, adjust their chapters, check their dues, renew them and take a roster away.

Steps

#SurfaceActionCapabilityExpectedProvenance
1listMembershipsDana, the Eastern Regional Secretary, lists her members.CAP-MBR-MEM-015Jo is listed and Sam, in San Francisco, is not.test
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#lists the Eastern members for Dana: Jo, and not Sam
2getMembershipDana opens Jo's membership.CAP-MBR-MEM-015Both of Jo's chapters are shown in scope.test
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#reads Jo, both of whose chapters are below Eastern, in scope
3updateMemberContactDana corrects Jo's e-mail address.CAP-MBR-MEM-016CRM receives the change as Dana.test
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#changes Jo’s e-mail address through CRM’s contact update, as Dana
4setPrimaryAffiliationAtlanta's officer makes Jo's Atlanta tie primary.CAP-MBR-MEM-007The change is accepted.test
5getMembershipFinancialSummaryAtlanta's officer checks Jo's dues.CAP-MBR-MEM-016Only the Atlanta dues line is shown.test
services-membership:tests/e2e/s08-cross-chapter-restrictions.e2e.spec.ts#shows Lee only the Atlanta dues line of Jo’s financial summary
6renewMembershipAtlanta's officer renews Gil, who is in grace.CAP-MBR-MEM-016The renewal order is placed with the officer as acting user.test
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#places the Atlanta officer’s renewal of Gil, in grace, with the officer as acting user
7exportRosterThe officer exports the chapter roster.CAP-MBR-MEM-017The export holds exactly the members the officer could see when asking.test

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate2Atlanta's officer, not Dana, opens Jo.Jo is shown with her Savannah tie marked out of scope.The officer can act on Atlanta only.test
services-membership:tests/e2e/s08-cross-chapter-restrictions.e2e.spec.ts#reads Jo, the Savannah affiliation shown and marked out of scope
failure3Dana changes Jo's date of birth, which her role does not allow.The change is refused naming the field.Nothing is sent to CRM.test
services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#refuses a date of birth 403 field_not_allowed, naming the field
failure4Atlanta's officer ends Jo's Savannah tie.The change is refused as out of scope, naming Savannah.Jo's ties are unchanged.test
services-membership:tests/e2e/s08-cross-chapter-restrictions.e2e.spec.ts#refuses ending the Savannah row 403 out_of_scope
failure1Dana's appointment has ended.The list is refused at the next request.Dana sees nothing.test
services-membership:tests/e2e/s12-expiring-appointment.e2e.spec.ts#refuses Lee’s roster once the exclusive valid_until has passed
failure2Dana tries to terminate Jo's term.The request is refused before it is handled.Only staff can terminate.test
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

Assertions

IdStatementProvenance
01Dana never finds a member outside the Eastern Region.test
02A refused contact field is named and nothing is sent to CRM.test
services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses a field outside the list, field_not_allowed naming it, and sends nothing
03The roster export holds only the memberships captured when it was asked for.test
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

End-to-end policy: optional: The officer portal screens are not built; the journey is proved through the API with signed officer contexts in process. A browser test becomes required when officers get portal screens.

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.