Skip to content

FAS-PFM-INT-05Customer extensions acceptance

Markdown

FAS-PFM-INT-05

Customer extensions acceptance

Markdown
  • DocumentProposed
  • Product intentProposed

Product areaPlatformModuleIntegration access, customer extensions and shared workflow configurationRevision2

Read atservices-platform ad3f6a65macroservice-libraries 54536a44react-console baf6dae3

Scenarios

5 scenarios proving FEAT-PFM-INT-05 as a whole.

01 A registered contract supports a tested customization behaviour proposed
Exercises
CAP-PFM-INT-016 CAP-PFM-INT-017
Relies on
ATS-PFM-INT-016-01 ATS-PFM-INT-017-05 ATS-PFM-INT-017-10
Preconditions
A live pricing point has a current contract and a rule author can configure it.
Steps
Save a valid rule, test matching and nonmatching input, then attach it at an allowed scope.
Expected
The rule fits its contract, test outcomes enter history and the valid attachment can be enabled.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/extensions/tests/integration/services/registration/register-service-extensions.integration.spec.js#refuses a malformed fragment as ObjectInvalid, naming the path,services-platform:modules/extensions/tests/integration/services/persistence/extension-handlers.integration.spec.js#refuses a rule that does not fit, naming each problem by its path and code, and writes nothing,services-platform:modules/extensions/tests/e2e/rule-handlers.e2e.spec.js#records each run as a test invocation of the handler
02 Point withdrawal preserves orphaned customer configuration interaction proposed
Exercises
CAP-PFM-INT-016 CAP-PFM-INT-017
Relies on
ATS-PFM-INT-016-04 ATS-PFM-INT-017-07
Preconditions
Two workspaces attach handlers to one point.
Steps
Withdraw the point and redeclare it, then attempt to enable an orphaned attachment.
Expected
The bindings remain orphaned after redeclaration and cannot be reactivated directly.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/extensions/tests/integration/services/registration/register-service-extensions.integration.spec.js#orphans every binding of a retired point, in every tenant, whatever its status,services-platform:modules/extensions/tests/unit/lifecycle.spec.js#allows draft to become enabled, shadow or disabled, enabled and shadow to trade places, disabled to return, and orphaned only to be disabled
03 Contract withdrawal respects existing enabled use lifecycle proposed
Exercises
CAP-PFM-INT-016 CAP-PFM-INT-017
Relies on
ATS-PFM-INT-016-03 ATS-PFM-INT-017-07
Preconditions
One enabled binding uses an old version while a draft uses another omitted version.
Steps
Replace registration, inspect version standing and disable the enabled attachment.
Expected
Referenced use is deprecated rather than silently removed and attachment changes remain subject to lifecycle validation.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/extensions/tests/integration/services/registration/register-service-extensions.integration.spec.js#deprecates a version no longer declared that an enabled binding still names,services-platform:modules/extensions/tests/unit/lifecycle.spec.js#allows draft to become enabled, shadow or disabled, enabled and shadow to trade places, disabled to return, and orphaned only to be disabled
04 Rule authors remain separate from code administrators permissionnegative proposed
Exercises
CAP-PFM-INT-016 CAP-PFM-INT-017
Relies on
ATS-PFM-INT-016-06 ATS-PFM-INT-017-02 ATS-PFM-INT-017-12
Preconditions
A point reader, rule author and invocation reader have separate permissions.
Steps
Browse contracts, attempt code creation as the rule author and inspect invocation history with and without read authority.
Expected
Each read and mutation follows its distinct permission and unauthorized code creation saves nothing.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/extensions/tests/e2e/extensions.e2e.spec.js#admits the catalogue with platform.extension-points.read alone,services-platform:modules/extensions/tests/e2e/extensions.e2e.spec.js#refuses a Lambda handler to a caller who may manage only rules,services-platform:modules/extensions/tests/e2e/extensions.e2e.spec.js#refuses the invocation history without platform.extension-invocations.read
05 Retirement does not silently repair a single-answer scope regressionnegative proposed
Exercises
CAP-PFM-INT-016 CAP-PFM-INT-017
Relies on
ATS-PFM-INT-016-04 ATS-PFM-INT-017-08
Preconditions
An enabled single-answer binding exists before point withdrawal.
Steps
Withdraw and redeclare the point, inspect its orphaned binding and attempt conflicting enabled configuration at an occupied live scope.
Expected
Orphaned configuration stays explicit and an occupied single-answer scope refuses a second winner.
Data
Run-owned declarations, records and role fixtures in an isolated workspace.
Source
services-platform:modules/extensions/tests/integration/services/registration/register-service-extensions.integration.spec.js#orphans every binding of a retired point, in every tenant, whatever its status,services-platform:modules/extensions/tests/e2e/extensions.e2e.spec.js#refuses a second enabled binding at one scope of a single point as 409

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.