Skip to content

ATS-MBR-STR-007Describe a unit’s dated relationships with organizations: Capability Test Specification

Markdown

ATS-MBR-STR-007

Describe a unit’s dated relationships with organizations: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaMembershipModuleOrganizational Structure, Membership Configuration and TermsRevision2

Read atservices-membership 5994c270react-console baf6dae3

Coverage

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

Test Scenarios

10 scenarios proving CAP-MBR-STR-007; 7 bound to an existing test.

01 Link creation rejects missing relationship informationvalidationapinegativetest
Proves
BR-CAP-MBR-STR-007-01
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Try an unknown kind, blank organization reference and malformed start date.
Expected
Each invalid request leaves the link collection unchanged.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
Source
services-membership:tests/acceptance/structure/MBR-ACC-0022.acceptance.ts#MBR-ACC-0022 links a chapter cannot have
02 A link cannot end before it beginsvalidationapinegativetest
Proves
BR-CAP-MBR-STR-007-02
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit a relationship whose end precedes its start.
Expected
The request fails without adding the relationship.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
Source
services-membership:tests/acceptance/structure/MBR-ACC-0022.acceptance.ts#MBR-ACC-0022 links a chapter cannot have
03 Legal succession permits one organization at a timeinvariantapinegativetest
Proves
BR-CAP-MBR-STR-007-03 AS-JNY-MBR-STR-001-02 INV-DOM-MBR-STR-002-04
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Add a legal organization, attempt another open tie, then close the first and begin the successor next day.
Expected
The overlapping tie fails and the dated succession succeeds.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › links an organization as the unit’s legal entity
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › refuses a second open legal entity, 409 legal_entity_already_open
services-membership:tests/acceptance/structure/MBR-ACC-0021.acceptance.ts#MBR-ACC-0021 scenario 11: Atlanta Chapter's incorporation, linked with dates
Source
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › links an organization as the unit’s legal entity
04 Ending permits shortening but not extensiontransitionapinegativetest
Proves
BR-CAP-MBR-STR-007-04
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
End a relationship, shorten that date and attempt a later ending.
Expected
The first two saves succeed; extension fails and history remains.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/acceptance/structure/MBR-ACC-0021.acceptance.ts#MBR-ACC-0021 scenario 11: Atlanta Chapter's incorporation, linked with dates
Source
services-membership:tests/acceptance/structure/MBR-ACC-0021.acceptance.ts#MBR-ACC-0021 scenario 11: Atlanta Chapter's incorporation, linked with dates
05 Customer relationship purposes have readable identityruleapinegativetest
Proves
BR-CAP-MBR-STR-007-06
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Create Sponsoring University by name and repeat its creation.
Expected
The first derives a readable reference and the second reports an existing kind.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › creates a relationship type with an id derived from its name
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › refuses a relationship type id the tenant has, 409 relationship_type_id_taken
Source
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › creates a relationship type with an id derived from its name
06 Relationship versions identify the actorinvariantapitest
Proves
BR-CAP-MBR-STR-007-09
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Create a link and subsequently end it, then inspect its retained versions.
Expected
The versions distinguish creation and ending with actor attribution.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
Source
services-membership:tests/acceptance/structure/MBR-ACC-0030.acceptance.ts#MBR-ACC-0030 who changed what and when
07 Retired relationship purposes still accept linksedgeapinegativeproposed
Proves
BR-CAP-MBR-STR-007-07
Preconditions
An isolated workspace contains the records and current versions needed for the case.
Steps
Prepare an inactive relationship purpose and add a dated organization link using it.
Expected
The link saves and identifies that purpose; there is no rename or retirement request in the exposed purpose operations.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:modules/structure/services/persistence/organizational-unit-relationship-types.ts:createOrganizationalUnitRelationshipType
08 Merge retains writable organization contextinteractionapitest
Proves
BR-CAP-MBR-STR-003-07 BR-CAP-MBR-STR-007-08
Preconditions
An isolated workspace contains the records and current versions needed for the case.
Steps
Merge a source with an organization link, read the follow-up result and add another link to the merged source.
Expected
Existing links stay on the source and the later link saves without transferring to the survivor.
Data
Separate fixture records for the accepted and refused operations.
Bound to
services-membership:tests/acceptance/structure/MBR-ACC-0018.acceptance.ts#the link and the settings replace both answer 200
Source
services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › merge › moves the children under the survivor, marks the unit merged and lists what it left,services-membership:modules/structure/services/persistence/organizational-unit-organizations.ts:linkOrganization,services-membership:tests/acceptance/structure/MBR-ACC-0018.acceptance.ts#the link and the settings replace both answer 200
09 Provisioning preserves customer relationship purposesinteractionapiproposed
Proves
BR-CAP-MBR-STR-007-06 BR-CAP-MBR-STR-020-01
Preconditions
An isolated workspace contains the records and current versions needed for the case.
Steps
Provision, add a customer relationship purpose and provision again.
Expected
The standard purposes remain present once and the customer purpose retains its values.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › creates a relationship type with an id derived from its name,services-membership:modules/structure/tests/integration/services/lifecycle/structure-participant.integration.spec.ts#the structure participant in the database › seeds the four relationship types at provisioning
10 Workspace authority gates this capabilitypermissionapinegativeproposed
Proves
BR-CAP-MBR-STR-019-01
Preconditions
An isolated workspace contains the records and current versions needed for the case.
Steps
Exercise the capability’s exposed operations with its read-only and management callers, then repeat with application access removed, an unlicensed workspace and an unavailable workspace.
Expected
Each named operation requires its declared authority; admission failures occur before any record or calculated result is exposed.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:tests/unit/route-authorization.spec.ts#route authorization: every Membership operation names its permission › requires membership.structure.read of every structure read and membership.structure.manage of every change,services-membership:modules/configuration/aws/api/configuration.routes.ts:configurationModuleRoutes,services-membership:tests/e2e/terms-api.e2e.spec.ts#the terms API, end to end in process › refuses a caller who holds no key in the tenant

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.