Skip to content

JNY-PFM-CSH-004Move record work into another workspace

Markdown

JNY-PFM-CSH-004

Move record work into another workspace

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaPlatformModuleConsole Shell and NavigationRevision2End-to-endRequired

Read atreact-console baf6dae3services-platform ad3f6a65

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Inspect the corresponding list in a sandbox without carrying the original workspace’s record into it.
Screens
/console/{tenantId}/crm/contacts/{contactId}/console/{otherTenantId}/crm/contacts

Steps

#SurfaceActionCapabilityExpectedProvenance
1/console/{tenantId}/crm/contacts/{contactId}Opens the workspace selector while viewing a contact.CAP-PFM-CSH-011The selector shows the current workspace and reachable alternatives.observed
2/console/{otherTenantId}/crm/contactsSelects the sandbox.CAP-PFM-CSH-011The destination becomes the sandbox contacts list; an immediate confirmation appears before access is established.observed
3getMySecurityContextWaits for the sandbox access answer.CAP-PFM-CSH-010The sandbox working page appears only after its context is established.documented
4/console/{otherTenantId}/crm/contactsInspects the sandbox navigation.CAP-PFM-CSH-014The menu reflects the sandbox application answer and the person’s authority there.observed
5/Starts a later customer session at Rhythm’s starting address.CAP-PFM-CSH-004The sandbox home is selected because the successful entry was remembered.observed

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate2The current destination is a planned screen.The equivalent planned destination is requested in the sandbox.The workspace changes while the planned destination is retained.observed
failure3The selected sandbox has been removed from service.Entry explains its unavailability and offers another working context.The sandbox working page does not open.observed
react-console:components/console/tenant-id-gate.tsx:TenantIdGate, deniedReturnTenant
failure3The person has lost access to the sandbox.Entry explains the refusal and offers the still-established workspace.The person can return to production.observed
react-console:components/console/tenant-id-gate.tsx:TenantIdGate, deniedReturnTenant

Assertions

IdStatementProvenance
01Switching from a record requests the corresponding list in the destination workspace.test
react-console:e2e/mock/url-architecture.mock.spec.ts#switching tenant opens the same list under the other tenant's id, record ids dropped
02A refused switch uses the established workspace as its return context.observed
03A successful customer workspace entry becomes the remembered starting context.observed

End-to-end policy: required: The existing mock browser test proves the record-to-list switch. Browser coverage is still needed for cache clearing, fresh authority and refused-transition recovery across the whole journey.

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.