Skip to content

ATS-MBR-MEM-016Let officers act for their members: Capability Test Specification

Markdown

ATS-MBR-MEM-016

Let officers act for their members: 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-098
  • Transition gap: FND-MBR-MEM-098
  • Validation gap: FND-MBR-MEM-098
  • Permission gap: FND-MBR-MEM-098
  • Edge gap: FND-MBR-MEM-098
  • Failure gap: FND-MBR-MEM-098
  • Boundary gap: FND-MBR-MEM-098
  • Concurrency gap: FND-MBR-MEM-098
  • Invariant gap: FND-MBR-MEM-098
  • Interaction covered

Test Scenarios

8 scenarios proving CAP-MBR-MEM-016; 6 bound to an existing test.

01 Officers change only allowed fields of their own memberspermissionapinegativetest
Proves
BR-CAP-MBR-MEM-016-01
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "Dana changes Jo's e-mail and date of birth; the Atlanta officer changes a member outside Atlanta.", "expect": "The e-mail goes to CRM; the date of birth is refused naming it and nothing is sent; the outside member is not found.", "provenance": "test", "source": [ "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", "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses a member outside the officer’s units as not found", "services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#refuses a date of birth 403 field_not_allowed, naming the field" ] } ]
Expected
The e-mail goes to CRM; the date of birth is refused naming it and nothing is sent; the outside member is 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#refuses a field outside the list, field_not_allowed naming it, and sends nothing
02 The allowed fields are the union of the granting roles' listsruleunittest
Proves
BR-CAP-MBR-MEM-016-02
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "Decide the fields for one role, two roles, a scoped role with no list, staff with no list, and no grant.", "expect": "Its list, the union, nothing, everything, nothing.", "provenance": "test", "source": [ "services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#allows the fields of the role that granted the key for a unit in the chain", "services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#unions the lists of two roles that reach the membership", "services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#allows nothing through a unit-scoped role with no list", "services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#allows every field through a tenant-wide role with no list (staff)", "services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#allows nothing with no applied grant" ] } ]
Expected
Its list, the union, nothing, everything, nothing.
Data
FAA programs, packages, units and members from the integration seed.
Bound to
Source
services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#allows the fields of the role that granted the key for a unit in the chain
03 The contact change reaches CRM as the officerinteractionapitest
Proves
BR-CAP-MBR-MEM-016-03
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "Dana changes Jo's e-mail address.", "expect": "CRM's contact update receives the field with Dana as the acting user.", "provenance": "test", "source": [ "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#passes an allowed field to CRM’s contact update as the officer", "services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#changes Jo’s e-mail address through CRM’s contact update, as Dana" ] } ]
Expected
CRM's contact update receives the field with Dana as the acting user.
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#passes an allowed field to CRM’s contact update as the officer
04 Officers renew members in scope, grace includedpermissionapitest
Proves
BR-CAP-MBR-MEM-016-04
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "The Atlanta officer renews Gil, in grace, and Sam, outside Atlanta.", "expect": "Gil's renewal is placed with the officer as acting user; Sam is not found.", "provenance": "test", "source": [ "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", "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses the Atlanta officer a renewal of Sam as not found", "services-membership:tests/acceptance/security/MBR-ACC-0466.acceptance.ts#MBR-ACC-0466" ] } ]
Expected
Gil's renewal is placed with the officer as acting user; Sam is 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#places the Atlanta officer’s renewal of Gil, in grace, with the officer as acting user
05 Officers enrol only into their own units, and must name onepermissionapinegativetest
Proves
BR-CAP-MBR-MEM-016-05
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "The Atlanta officer enrols into Atlanta, into another chapter and into no unit; staff enrol into no unit.", "expect": "Atlanta is placed; the other two are refused out_of_scope; staff's is allowed.", "provenance": "test", "source": [ "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#places an enrolment in the officer’s own chapter", "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses an enrolment in a unit outside the officer’s scope, out_of_scope", "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#refuses an officer an enrolment of no unit (National’s), out_of_scope", "services-membership:modules/memberships/tests/unit/unit-scope.spec.ts#allows staff an enrolment of no unit" ] } ]
Expected
Atlanta is placed; the other two are refused out_of_scope; staff's is allowed.
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#places an enrolment in the officer’s own chapter
06 Officer orders are prepared like a checkout and are idempotent by requestinvariantapiproposed
Proves
BR-CAP-MBR-MEM-016-06
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "The officer enrols a member, retries the same request, and asks for one the preparation refuses.", "expect": "One order; the retry names it; the refusal answers its code.", "provenance": "proposed", "source": "services-membership:tests/acceptance/security/MBR-ACC-0465.acceptance.ts#MBR-ACC-0465" } ]
Expected
One order; the retry names it; the refusal answers its code.
Data
FAA programs, packages, units and members from the integration seed.
Source
services-membership:tests/acceptance/security/MBR-ACC-0465.acceptance.ts#MBR-ACC-0465
07 The financial summary shows officers only their units' linespermissionapitest
Proves
BR-CAP-MBR-MEM-016-07
Preconditions
The well-known FAA workspace fixtures, or a workspace the test builds from them.
Steps
[ { "do": "Read Jo's summary as the Atlanta officer, a national-scoped officer, staff, and for an identity-bound member.", "expect": "Atlanta's dues line only; both dues lines without the national package line; every line; the package line by the identity unit.", "provenance": "test", "source": [ "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#shows the Atlanta officer only the Atlanta dues line", "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#shows a National-scoped officer both dues lines and never the national package line", "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#shows staff every line", "services-membership:modules/memberships/tests/integration/services/unit-scope.integration.spec.ts#shows the package line of an identity-bound membership by its identity unit", "services-membership:tests/e2e/s08-cross-chapter-restrictions.e2e.spec.ts#shows Lee only the Atlanta dues line of Jo’s financial summary" ] } ]
Expected
Atlanta's dues line only; both dues lines without the national package line; every line; the package line by the identity unit.
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#shows the Atlanta officer only the Atlanta dues line
08 Prepare officer orders with the member as recipientinteractionapiproposed
Proves
BR-CAP-MBR-MEM-009-07 BR-CAP-MBR-MEM-016-06
Preconditions
An officer reaches a member and the selected renewal chapter.
Steps
[ { "do": "Request an officer renewal and inspect the prepared and placed checkout through the recording Commerce port.", "expect": "The order acts as the officer, names the member as recipient and includes the required dues components.", "provenance": "proposed", "source": [ "services-membership:modules/commerce-participant/tests/integration/participant.integration.spec.ts#plans a join: kind, service period from the package rule, the dues chapter, audience new, a sql claim, no amount", "services-membership:tests/acceptance/security/MBR-ACC-0465.acceptance.ts#MBR-ACC-0465" ] } ]
Expected
The order acts as the officer, names the member as recipient and includes the required dues components.
Data
An isolated workspace with the specified membership, package, chapter and partner-port fixtures.
Source
services-membership:modules/commerce-participant/tests/integration/participant.integration.spec.ts#plans a join: kind, service period from the package rule, the dues chapter, audience new, a sql claim, no amount,services-membership:tests/acceptance/security/MBR-ACC-0465.acceptance.ts#MBR-ACC-0465

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.