Skip to content

ATS-PFM-TNL-011Control the initial import and subsequent opening: Capability Test Specification

Markdown

ATS-PFM-TNL-011

Control the initial import and subsequent opening: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-TNL-011

Design

Executed by
TST-PFM-TNL-049

KindAcceptance test setProduct areaPlatformModuleWorkspace Lifecycle Across ApplicationsRevision3

Read atservices-platform ad3f6a65services-crm a8d1364fservices-commerce c8b66a98services-committees 36129c24services-membership 5994c270services-submissions 64236c19services-websites 5fc6823cservices-marketing d071a159rhythm-v2-docs d318a948

Coverage

  • Rule gap: FND-PFM-TNL-076
  • Transition gap: FND-PFM-TNL-076
  • Validation covered
  • Permission covered
  • Edge gap: FND-PFM-TNL-076
  • Failure gap: FND-PFM-TNL-076
  • Boundary gap: FND-PFM-TNL-076
  • Concurrency gap: FND-PFM-TNL-076
  • Invariant gap: FND-PFM-TNL-076
  • Interaction covered

Test Scenarios

7 scenarios proving CAP-PFM-TNL-011; 6 bound to an existing test.

01 Loading requires import authoritypermissionapinegativetest
Proves
BR-CAP-PFM-TNL-011-01
Preconditions
An implementation workspace is targeted by activation-only, customer and anonymous identities.
Steps
Attempt to open loading with each identity.
Expected
All requests are refused.
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
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses the staff member who may only activate a tenant, the two keys being separate
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses an administrator of the tenant’s own customer, a customer never loading a tenant of its own
Source
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses the staff member who may only activate a tenant, the two keys being separate
02 Live workspaces cannot enter initial loadingvalidationapinegativetest
Proves
BR-CAP-PFM-TNL-011-02
Preconditions
The workspace has live business status.
Steps
Request loading.
Expected
The status requirement is reported and the workspace remains unchanged.
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
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses a live tenant, an initial import going only into an implementation tenant
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#names the status rule in that refusal, so an operator knows which half stopped it
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#left the live tenant exactly as it was, so the refusal did not half-happen
services-platform:modules/tenants/tests/integration/services/reset/reset-tenant.integration.spec.js#refuses a live tenant by name: an initial import loads only an implementation tenant
Source
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses a live tenant, an initial import going only into an implementation tenant
03 Load opening retains its original attributiontransitionapitest
Proves
BR-CAP-PFM-TNL-011-03
Preconditions
An implementation workspace has not entered loading.
Steps
Open loading with a reason, then repeat the action.
Expected
Operator, time and explanation are recorded once and preserved on repetition.
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
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is served to a staff member holding hq.data-runs.manage, answering the loading state
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#records who opened the load and why, which is what the row is evidence of
services-platform:modules/tenants/tests/integration/services/reset/reset-tenant.integration.spec.js#changes nothing when the tenant is already loading, so a repeated step is not an error
Source
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is served to a staff member holding hq.data-runs.manage, answering the loading state
04 Import permission cannot activatepermissionapinegativetest
Proves
BR-CAP-PFM-TNL-011-04
Preconditions
A workspace is loading and callers exercise import-only, customer, anonymous and activation authority.
Steps
Attempt activation for each.
Expected
Only the caller with activation authority succeeds.
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
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses the staff member who ran the import, activation being the other key
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses an administrator of the tenant’s own customer
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is served to a staff member holding hq.tenants.activate, returning the tenant to active
Source
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#refuses the staff member who ran the import, activation being the other key
05 Activation leaves business mode unchangedtransitionapitest
Proves
BR-CAP-PFM-TNL-011-05
Preconditions
The workspace is loading in implementation mode.
Steps
Activate the completed load.
Expected
Lifecycle becomes active while implementation status and load history remain.
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
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is served to a staff member holding hq.tenants.activate, returning the tenant to active
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#leaves the status where it was, going live being the separate decision
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#keeps the record of the load, which is the evidence of what was done to the tenant
Source
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#is served to a staff member holding hq.tenants.activate, returning the tenant to active
06 Import journey separates activation from go-liveinteractionapitest
Proves
AS-JNY-PFM-TNL-003-02
Preconditions
The import journey reaches its approved load fixture.
Steps
Activate and inspect its status.
Expected
Customer availability returns without an automatic change to live business mode.
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
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#leaves the status where it was, going live being the separate decision
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#keeps the record of the load, which is the evidence of what was done to the tenant
Source
services-platform:modules/tenants/tests/e2e/hq-tenant-loading.e2e.spec.js#leaves the status where it was, going live being the separate decision
07 Activation during reset exposes the next batch guardinteractionapinegativeproposed
Proves
BR-CAP-PFM-TNL-011-05
Preconditions
A loading implementation workspace has a reset paused between batches and a separate caller with activation authority.
Steps
Activate the load while reset remains open, then resume the next reset batch and inspect already removed and remaining rows.
Expected
Activation can return the workspace to active; the next reset batch refuses its changed lifecycle. Earlier committed removals stay removed and the reset cannot silently continue.
Data
Create a separate run-owned workspace for each decision branch and an unaffected comparison workspace. Use a controlled clock, paused task or injected fault at the boundary named in the scenario.
Source
rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md; rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md; rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-005-keep-people-and-background-work-out-of-a-workspace-that-is.md

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.