Skip to content

ATS-MBR-STR-012Offer membership through an Accounting product: Acceptance Test Set

Markdown

ATS-MBR-STR-012

Offer membership through an Accounting product: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-MBR-STR-012

KindAcceptance test setProduct areaMembershipModuleOrganizational Structure, Membership Configuration and TermsRevision1

Read atservices-membership 5994c270react-console baf6dae3

Test Scenarios

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

01 Invalid product identities leave no packageapinegativetest
Proves
BR-CAP-MBR-STR-012-01 AS-JNY-MBR-STR-004-02
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Attempt package creation without identity, with an absent product and with the wrong product type.
Expected
Each attempt returns its validation problem and creates no extension.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses a package create that names no product id: there is no name to make one from
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses a package whose product Accounting does not have, 400
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses a package on a product of another type, 400
services-membership:tests/acceptance/configuration/MBR-ACC-0099.acceptance.ts#MBR-ACC-0099: A package is created as the extension of a product Accounting already holds: no id, an unknown product, a product of another type and the product's own fields are each refused, and the created package answers the product's name, status, visibility and audiences
Source
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses a package create that names no product id: there is no name to make one from
02 Shared product fields remain Accounting-ownedapinegativetest
Proves
BR-CAP-MBR-STR-012-02
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit a package name and separately read an existing package.
Expected
The write rejects the shared field while the read returns product name, status and visibility.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses the common fields a package no longer carries of its own (they are the product’s)
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › extends a product of type membership_package and answers the product’s name, status and visibility as the package’s
Source
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses the common fields a package no longer carries of its own (they are the product’s)
03 Product retirement affects package availabilityapinegativetest
Proves
BR-CAP-MBR-STR-012-03
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Make the product inactive, inspect the active package list and attempt a staff renewal.
Expected
The extension no longer appears active and the renewal fails.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › lists packages with the product’s fields and filters is_active by the product’s status
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses a renewal term on a package whose product Accounting deactivated
services-membership:tests/acceptance/configuration/MBR-ACC-0091.acceptance.ts#MBR-ACC-0091: A package follows its Accounting product: when Accounting deactivates, retires or deletes the product the package answers that status, sells no term and writes nothing in Membership
Source
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › lists packages with the product’s fields and filters is_active by the product’s status
04 A product cannot receive a second package extensionapinegativetest
Proves
BR-CAP-MBR-STR-012-04
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Repeat creation under an already extended product identity.
Expected
The existing extension remains and duplicate creation fails.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses a second extension of the same product: the package id is the product id
Source
services-membership:tests/e2e/packages-as-products.e2e.spec.ts#packages as products, through the API › refuses a second extension of the same product: the package id is the product id
05 Package classification matches its programapinegativetest
Proves
BR-CAP-MBR-STR-012-05
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit one program with another program’s classification.
Expected
The classification field is named in the refusal and no package is retained.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a package of a type of another program 400 naming membership_type_id, and writes no package nor unit rule
Source
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a package of a type of another program 400 naming membership_type_id, and writes no package nor unit rule
06 Renewal targets cannot be self or cross-programapinegativetest
Proves
BR-CAP-MBR-STR-012-06
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Compare renewal targets pointing to the package itself and to a different program’s package.
Expected
Both cases report an invalid renewal target.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a package renewing into itself 400 naming renews_into_package_id
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a package renewing into another program’s package 400 naming renews_into_package_id
Source
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a package renewing into itself 400 naming renews_into_package_id
07 Policy-set references require an existing setapinegativetest
Proves
BR-CAP-MBR-STR-012-08
Preconditions
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Create an otherwise valid package with an absent policy set.
Expected
The response names the policy-set field and rejects creation.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a change policy set that does not exist 400 naming change_policy_set_id
Source
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a change policy set that does not exist 400 naming change_policy_set_id

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.