Skip to content

ATS-MBR-STR-001Define unit kinds and their permitted places: Acceptance Test Set

Markdown

ATS-MBR-STR-001

Define unit kinds and their permitted places: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-MBR-STR-001

KindAcceptance test setProduct areaMembershipModuleOrganizational Structure, Membership Configuration and TermsRevision1

Read atservices-membership 5994c270react-console baf6dae3

Test Scenarios

8 scenarios proving CAP-MBR-STR-001; 5 bound to an existing test.

01 Readable kind identity survives replacementapitest
Proves
BR-CAP-MBR-STR-001-01
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Save one kind with an explicit reference and another by name, then replace the first kind.
Expected
The explicit and derived references remain the saved identities.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/acceptance/structure/MBR-ACC-0001.acceptance.ts#MBR-ACC-0001 staff define, rename, retire and delete kinds of unit
Source
services-membership:tests/acceptance/structure/MBR-ACC-0001.acceptance.ts#MBR-ACC-0001 staff define, rename, retire and delete kinds of unit
02 Non-root kinds need a parent choiceapinegativeproposed
Proves
BR-CAP-MBR-STR-001-02
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Attempt a non-root kind with an empty parent selection.
Expected
Validation rejects the request and the catalogue has no added kind.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Source
services-membership:modules/structure/services/persistence/organizational-unit-types.ts:parentIdsOf
03 Parent references are known or self-referentialapinegativeproposed
Proves
BR-CAP-MBR-STR-001-03
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Compare creation with an unknown parent kind and creation allowing its own kind.
Expected
The unknown choice fails and the self-referential choice saves.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Source
services-membership:modules/structure/services/persistence/organizational-unit-types.ts:requireKnownTypes
04 Duplicate kind creation preserves the first recordapinegativeproposed
Proves
BR-CAP-MBR-STR-001-04
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit two creates using the same kind reference.
Expected
The second response reports a conflict and retains the first record.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Source
services-membership:modules/structure/services/persistence/organizational-unit-types.ts:createOrganizationalUnitType
05 Existing placements protect category choicesapinegativetest
Proves
BR-CAP-MBR-STR-001-05
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Remove zone parentage while the chapter category still has units under zones.
Expected
The response identifies the in-use placement choice and saves no replacement.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/acceptance/structure/MBR-ACC-0003.acceptance.ts#MBR-ACC-0003 a tree rule chapters rely on cannot be withdrawn until they move
Source
services-membership:tests/acceptance/structure/MBR-ACC-0003.acceptance.ts#MBR-ACC-0003 a tree rule chapters rely on cannot be withdrawn until they move
06 Version checks precede a complete replacementapinegativetest
Proves
BR-CAP-MBR-STR-001-06
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit a stale kind replacement, then a current replacement without plural name or display order.
Expected
The stale write fails; the accepted replacement clears the plural and restores zero ordering.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/acceptance/structure/MBR-ACC-0001.acceptance.ts#MBR-ACC-0001 staff define, rename, retire and delete kinds of unit
Source
services-membership:tests/acceptance/structure/MBR-ACC-0001.acceptance.ts#MBR-ACC-0001 staff define, rename, retire and delete kinds of unit
07 Kind retirement blocks placement until reactivationapitest
Proves
BR-CAP-MBR-STR-001-07
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Deactivate sections, attempt section creation and relocation, then reactivate the kind through replacement.
Expected
Retirement preserves existing sections and blocks placement work until reactivation.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/acceptance/structure/MBR-ACC-0004.acceptance.ts#MBR-ACC-0004 retiring the Section kind freezes every section in place
Source
services-membership:tests/acceptance/structure/MBR-ACC-0004.acceptance.ts#MBR-ACC-0004 retiring the Section kind freezes every section in place
08 Unit and program references prevent kind removalapinegativetest
Proves
BR-CAP-MBR-STR-001-08
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Attempt removal of a unit-used kind and a program-selected kind.
Expected
Both conflict responses leave the referenced kinds available.
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 › refuses to delete a unit type in use, 409 unit_type_in_use
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0084: a structure delete a program’s reference blocks › refuses deleting a unit type a program lists 409 unit_type_in_use, and keeps it
services-membership:tests/acceptance/structure/MBR-ACC-0037.acceptance.ts#MBR-ACC-0037 what other parts of Membership name in the structure
Source
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › refuses to delete a unit type in use, 409 unit_type_in_use

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.