---
id: TST-MBR-MEM-250
title: Regional officer and personal membership reads
kind: api-lifecycle
product_area: membership
module: memberships
revision: 1
status: draft
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
repository: services-membership
files:
  - tests/e2e/s07-regional-officer.e2e.spec.ts
implements:
  - ATS-MBR-MEM-015-03
  - ATS-MBR-MEM-015-07
  - ATS-MBR-MEM-016-01
  - ATS-MBR-MEM-016-03
  - ATS-MBR-MEM-017-05
  - FAS-MBR-MEM-06-01
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 3
isolation: >-
  A suite-owned workspace and test identifiers; suites that use shared seed data
  require the source’s serial execution and cleanup policy.
verification_notes: >-
  Bindings describe the assertions reviewed at the pinned commit; the suite is
  not executed by this documentation job.
coverage_gap: null
evidence:
  - 'services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts'
assertion_anchors:
  - scenario: ATS-MBR-MEM-015-03
    source: >-
      services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#lists the
      Eastern members for Dana: Jo, and not Sam
  - scenario: ATS-MBR-MEM-015-07
    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
  - scenario: ATS-MBR-MEM-016-01
    source: >-
      services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#refuses a
      date of birth 403 field_not_allowed, naming the field
  - scenario: ATS-MBR-MEM-016-03
    source: >-
      services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#changes
      Jo’s e-mail address through CRM’s contact update, as Dana
  - scenario: ATS-MBR-MEM-017-05
    source: >-
      services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#lets Jo
      read her own memberships in the portal
  - scenario: ATS-MBR-MEM-017-05
    source: >-
      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
  - scenario: ATS-MBR-MEM-017-05
    source: >-
      services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts#answers
      Dana’s own portal read with no membership, Dana holding none
  - scenario: FAS-MBR-MEM-06-01
    source: 'services-membership:tests/e2e/s07-regional-officer.e2e.spec.ts'
---

# Regional officer and personal membership reads

## Verification Boundary

The suite exercises the in-process API or participant boundary with signed contexts or participant envelopes and PostgreSQL.

## What This Suite Proves

The structured bindings identify the capability and feature cases whose reviewed assertions this suite executes. Source anchors preserve the evidence for each binding.

## What It Does Not Prove

An in-process pass does not qualify deployed network calls, queues, schedules or the member’s full browser journey. Registration records existing code and leaves execution and conformance unverified.

## Real Dependencies and Test Doubles

The public handler or participant boundary, membership database and reservation functions remain real. Signing material, seeded owner rows and partner or transport ports are controlled in-process fixtures.

## Must Not Be Doubled

Keep the prepared database, workspace boundary, exercised owner constraints and the business operation under test real. A partner double cannot substitute for the Membership write this suite claims to exercise.
