ATS-MBR-STR-005Find units and inspect current or historical structure: Acceptance Test Set
MarkdownFind units and inspect current or historical structure: Acceptance Test Set
Coverage
Test Scenarios
5 scenarios proving CAP-MBR-STR-005; 5 bound to an existing test.
01 Ancestry reads begin with the requested unitapitest
- Proves
BR-CAP-MBR-STR-005-01 - Preconditions
- An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
- Steps
- Read Eastern’s descendants and Atlanta’s ancestors.
- Expected
- Both answers begin at distance zero and continue in distance and code order.
- Data
- The FAA example records or equivalent records prepared within the isolated workspace.
- Bound to
- Source
- services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › the closure › answers the descendants of a unit from the closure, nearest first
02 Historical placement uses effective and knowledge datesapitest
- Proves
BR-CAP-MBR-STR-005-02 AS-JNY-MBR-STR-002-02 - Preconditions
- An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
- Steps
- Read the former region around two placement changes and before their recorded knowledge.
- Expected
- The returned branch matches each requested period, with no rows before the known history.
- Data
- The FAA example records or equivalent records prepared within the isolated workspace.
- Bound to
- Source
- services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › the parent history and the as-of tree › answers the descendants as of 2026-06-30 equal to the tree recorded that day
03 Paged lists reject invalid request shapesapinegativetest
- Proves
BR-CAP-MBR-STR-005-06 - Preconditions
- An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
- Steps
- Follow a unit-list cursor, request 501 rows and submit a malformed cursor.
- Expected
- Valid continuation follows code order; the oversized and malformed requests fail.
- Data
- The FAA example records or equivalent records prepared within the isolated workspace.
- Bound to
- Source
- services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › pages the flat list by code with a cursor
04 Published functions honor the caller’s workspaceapinegativetest
- Proves
BR-CAP-MBR-STR-005-09 - Preconditions
- An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
- Steps
- Invoke ancestor and descendant functions as the table reader under two workspace contexts.
- Expected
- The owning workspace returns its branch and the other context returns none of those rows.
- Data
- The FAA example records or equivalent records prepared within the isolated workspace.
- Bound to
- Source
- services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › the published functions › answers membership.unit_descendants to rhythm_table_reader in its tenant
05 Foreign workspace unit identity remains hiddenapinegativetest
- Proves
BR-CAP-MBR-STR-005-11 - Preconditions
- An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
- Steps
- Request another workspace’s unit reference and list under the caller’s workspace.
- Expected
- The reference is missing and list rows belong only to the caller’s workspace.
- Data
- The FAA example records or equivalent records prepared within the isolated workspace.
- Bound to
- Source
- services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › row-level security › reads nothing of another tenant’s unit by id