ATS-PFM-TNL-013 Schedule deliberate workspace deletion: Capability Test Specification
Markdown Design / Platform / Workspace Lifecycle Across Applications / Reversible Deletion Decisions / Capability Test Specification Show evidence (sources, provenance, origins, pinned commits)Coverage Rule gap: FND-PFM-TNL-078 Transition gap: FND-PFM-TNL-078 Validation covered Permission covered Edge gap: FND-PFM-TNL-078 Failure gap: FND-PFM-TNL-078 Boundary covered Concurrency covered Invariant gap: FND-PFM-TNL-078 Interaction gap: FND-PFM-TNL-078 Test Scenarios 11 scenarios proving CAP-PFM-TNL-013 ; 10 bound to an existing test.
01 Customer authority cannot request removal permission api negative test
Proves BR-CAP-PFM-TNL-013-01 Preconditions An eligible disabled workspace is available. Steps Request deletion as customer-admin and non-staff identities. Expected No deletion request is recorded. Data Use the run-owned records and caller contexts created by the cited tests; use their provider and clock seams only where declared. Bound to Source services-platform:modules/tenants/tests/e2e/tenant-deletion-requests.e2e.spec.js #may not ask for a tenant to be deleted 02 Confirmation rejects stale or mistaken decisions validation api negative test
Proves BR-CAP-PFM-TNL-013-03 Preconditions Staff have read a disabled workspace. Steps Submit wrong-name, identifier-as-name, short-reason and stale-version variants. Expected Each refuses and name errors identify the confirmation input. Data Use the run-owned records and caller contexts created by the cited tests; use their provider and clock seams only where declared. Bound to Source services-platform:modules/tenants/tests/e2e/tenant-deletion-requests.e2e.spec.js #refuses a confirmation that does not repeat the tenant's name as 400 03 Ineligible workspace removal is refused validation api negative test
Proves BR-CAP-PFM-TNL-013-04 Preconditions Fixtures cover enabled, outgoing, locked, parent and protected workspaces. Steps Request deletion for each. Expected The refusal identifies the failed condition and records no new protected-workspace request. Data Use the run-owned records and caller contexts created by the cited tests; use their provider and clock seams only where declared. Bound to Source services-platform:modules/tenants/tests/integration/services/deletion/request-deletion.integration.spec.js #refuses a tenant that is still live, because people must lose access first 06 Standard wait honors the Production floor boundary unit test
Proves BR-CAP-PFM-TNL-013-07 Preconditions Waiting-period inputs exercise default and configured values. Steps Compute eligibility for ordinary workspaces. Expected Default is thirty days; Production rejects thirteen and accepts fourteen days. Data Use the run-owned records and caller contexts created by the cited tests; use their provider and clock seams only where declared. Bound to Source services-platform:modules/tenants/tests/unit/services/deletion/waiting-period.spec.js #becomes eligible thirty days after the request 08 Disposable acceleration is environment-limited boundary unit negative test
Proves BR-CAP-PFM-TNL-013-09 Preconditions Fixtures include disposable and ordinary workspaces in Production and outside it. Steps Request reduced waiting periods. Expected Only disposable non-Production fixtures use the minute path. Data Use the run-owned records and caller contexts created by the cited tests; use their provider and clock seams only where declared. Bound to Source services-platform:modules/tenants/tests/unit/services/deletion/waiting-period.spec.js #waits ten minutes outside Production, so an automated test can watch a whole deletion 09 Request and watcher are recorded together transition api test
Proves BR-CAP-PFM-TNL-013-10 Preconditions Staff confirm an eligible disabled workspace. Steps Submit the deletion decision. Expected The scheduled request, copied identities, notice obligations, pending lifecycle and watcher job are recorded. Data Use the run-owned records and caller contexts created by the cited tests; use their provider and clock seams only where declared. Bound to Source services-platform:modules/tenants/tests/integration/services/deletion/request-deletion.integration.spec.js #copies the tenant name and customer, so the record still reads after the tenant is gone ← Previous Capability Test Specification ATS-PFM-TNL-012 · Recover an incorrect initial import: Capability Test Specification Next Capability Test Specification → ATS-PFM-TNL-014 · Pause or cancel deletion while preservation remains possible: Capability Test Specification