Skip to content

ATS-MBR-STR-010Set a program’s affiliation requirements: Capability Test Specification

Markdown

ATS-MBR-STR-010

Set a program’s affiliation requirements: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-MBR-STR-010

Design

Executed by
TST-MBR-STR-002

KindAcceptance test setProduct areaMembershipModuleOrganizational Structure, Membership Configuration and TermsRevision2

Read atservices-membership 5994c270react-console baf6dae3

Coverage

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

Test Scenarios

6 scenarios proving CAP-MBR-STR-010; 1 bound to an existing test.

01 Program requirements replace at the read versionconcurrencyapinegativeproposed
Proves
BR-CAP-MBR-STR-010-01
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Replace unit requirements with the current program version and repeat with the earlier version.
Expected
The list saves once, advances the program version and rejects the stale retry.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Source
services-membership:modules/configuration/services/configuration/configuration-records.ts:replaceProgramUnitTypesOf
02 Non-affiliation programs reject populated requirementsvalidationapinegativeproposed
Proves
BR-CAP-MBR-STR-010-02
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit a nonempty category list for a program without unit binding.
Expected
The request fails without changing the program list.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Source
services-membership:modules/configuration/services/configuration/configuration-records.ts:replaceProgramUnitTypesOf
03 All invalid unit rows are reportedvalidationapinegativeproposed
Proves
BR-CAP-MBR-STR-010-03
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit an affiliation-disabled category, a repeated category and contradictory counts together.
Expected
The refusal identifies all detected row problems.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Source
services-membership:modules/configuration/services/configuration/configuration-records.ts:unitTypeProblems
04 Current affiliations protect their categoryinteractionapinegativetest
Proves
BR-CAP-MBR-STR-010-04
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Remove a kind still used by an open qualifying affiliation.
Expected
The list replacement fails and retains the category.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:modules/memberships/tests/integration/services/affiliations.integration.spec.ts#the term affiliations in the database › refuses to drop a unit type from the program while an affiliation uses it (unit_type_in_use)
Source
services-membership:modules/memberships/tests/integration/services/affiliations.integration.spec.ts#the term affiliations in the database › refuses to drop a unit type from the program while an affiliation uses it (unit_type_in_use)
05 Package counts specialize retained program choicesinteractionapiproposed
Proves
BR-CAP-MBR-STR-010-03 BR-CAP-MBR-STR-013-06
Preconditions
An isolated workspace contains the records and current versions needed for the case.
Steps
Set program chapter maximum to two and a package maximum to one; read effective requirements, then clear package requirements.
Expected
The package maximum applies first while program primary choices remain; clearing restores the program maximum.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:modules/configuration/services/configuration/configuration-records.ts:unitTypeProblems,services-membership:modules/memberships/services/affiliations/unit-rules.ts
06 Workspace authority gates this capabilitypermissionapinegativeproposed
Proves
BR-CAP-MBR-STR-019-02
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.