Skip to content

ATS-PFM-TNL-016Revalidate the irreversible deletion decision: Acceptance Test Set

Markdown

ATS-PFM-TNL-016

Revalidate the irreversible deletion decision: Acceptance Test Set

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-TNL-016

KindAcceptance test setProduct areaPlatformModuleWorkspace Lifecycle Across ApplicationsRevision2

Read atservices-platform ad3f6a65

Test Scenarios

8 scenarios proving CAP-PFM-TNL-016; 7 bound to an existing test.

01 HTTP catalog exposes no destruction shortcutapiproposed
Proves
BR-CAP-PFM-TNL-016-01
Preconditions
The complete deletion route registry and a scheduled request are available.
Steps
Inspect operations and drive the schedule through eligibility.
Expected
No execute-now or force action appears; the schedule invokes destruction after its guards.
Data
Use a complete route catalog and a scheduled deletion fixture.
Source
services-platform:modules/tenants/aws/api/tenant-deletion-requests.routes.ts
02 Revalidation waits for changing obstaclesapinegativetest
Proves
BR-CAP-PFM-TNL-016-02
Preconditions
Eligibility and workspace conditions vary one at a time.
Steps
Attempt destruction before and at the date and with held, unnotified, child-bearing or locked fixtures.
Expected
The valid boundary begins destruction while the obstructed fixtures wait.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
Source
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#waits one millisecond before the date
03 Lost requester authority produces a holdapinegativetest
Proves
BR-CAP-PFM-TNL-016-03
Preconditions
The requester no longer has deletion permission.
Steps
Attempt destruction at eligibility.
Expected
The request is held with its authority explanation and no purge begins.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#holds the request in that case, so a person has to look at it rather than a job retrying forever
Source
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#waits when the person who asked no longer holds the permission to ask
04 Terminal schedules end without side effectsapitest
Proves
BR-CAP-PFM-TNL-016-04
Preconditions
Fixtures are cancelled, superseded, missing or have lost their workspace.
Steps
Ask the schedule to begin destruction.
Expected
Each returns an explained end without mutating the request or workspace.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#ends when another execution now owns the request, which is what a resume looks like
services-platform:modules/tenants/tests/integration/services/deletion/tenant-deletion-schedule.integration.spec.js#ends quietly, without destroying anything, when the request was cancelled while it slept
Source
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#ends when the request was cancelled while the job slept
05 Irreversible state and purge job commit togetherapitest
Proves
BR-CAP-PFM-TNL-016-05
Preconditions
All destruction guards hold.
Steps
Begin destruction and inspect persisted records.
Expected
Executing state, time, deleting disabled lifecycle, notice and purge job agree.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#names the purge job it submitted in the same transaction, so the point of no return and its destruction commit together
Source
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#answers that destruction began
06 Concurrent cancel has one winnerapitest
Proves
BR-CAP-PFM-TNL-016-06
Preconditions
Twenty eligible requests support separate connections.
Steps
Race cancellation and destruction on each.
Expected
One decision wins per round and request and workspace states match it.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#races both ways across the rounds, so the suite is not quietly proving one order every time
Source
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#lets exactly one of the two win, every round
07 Watcher recovery preserves the decisionapitest
Proves
BR-CAP-PFM-TNL-016-07
Preconditions
A request’s watcher has stopped.
Steps
Resume it and immediately attempt another resume.
Expected
The new watcher references its predecessor and unchanged date; the live replacement refuses another resume.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
services-platform:modules/tenants/tests/e2e/tenant-deletion-recovery.e2e.spec.js#answers a new schedule job, and names the one it superseded
services-platform:modules/tenants/tests/e2e/tenant-deletion-recovery.e2e.spec.js#leaves the request scheduled, and its eligibility exactly where it was: a resume cannot bring a deletion forward
services-platform:modules/tenants/tests/e2e/tenant-deletion-recovery.e2e.spec.js#refuses a second resume as 409 while the new schedule job is alive
Source
services-platform:modules/tenants/tests/e2e/tenant-deletion-recovery.e2e.spec.js#answers a new schedule job, and names the one it superseded
08 Deletion journey respects the preservation boundaryapitest
Proves
AS-JNY-PFM-TNL-004-03
Preconditions
The deletion journey includes eligible race fixtures.
Steps
Cancel before and after the destruction transition.
Expected
The winning pre-destruction cancellation preserves data and the late cancellation refuses.
Data
Use the workspace, caller and collaborator fixtures declared by the bound tests.
Bound to
Source
services-platform:modules/tenants/tests/integration/services/deletion/begin-destruction.integration.spec.js#lets exactly one of the two win, every round

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.