---
id: TST-PFM-SEC-243
title: Staff workspace shortcuts database and service checks
kind: integration
product_area: platform
module: security
revision: 2
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - >-
    modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js
implements:
  - ATS-PFM-SEC-002-12
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 3
isolation: Use the prepared test database and suite-owned fixture rows; retain shared seed records.
assertion_evidence:
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#staff
      tenant shortcuts persistence: pinning a tenant
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#answers
      the tenant exactly as the tenants API does, nested rather than copied
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#answers
      the name of the customer that owns the tenant, which the tenant record holds only as an id
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#stamps
      the instant the person pinned it
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#carries
      no opened instant for a tenant that has only been pinned
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#counts
      no opens for it
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#puts
      it in the pinned list
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      the recent list empty, because pinning is not opening
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#keeps
      the instant of the first pin when the same tenant is pinned again
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      one row for that tenant however often it is pinned
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#staff
      tenant shortcuts persistence: the pinned list at its maximum
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#holds
      exactly the maximum (the premise the refusal below rests on)
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#refuses
      the pin that would be one too many, naming the maximum
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      the list at the maximum after that refusal
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#accepts
      the pin again once the person has made room
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#staff
      tenant shortcuts persistence: unpinning a tenant
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#holds
      both tenants pinned before anything is unpinned (the premise)
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#takes
      a tenant the person had only pinned off the home page altogether
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#changes
      nothing when that tenant is unpinned a second time
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      a tenant the person has also opened among the recent ones
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#keeps
      the instant it was last opened and the count of opens
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#refuses
      nothing for a tenant the person never pinned
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#staff
      tenant shortcuts persistence: recording that a tenant was opened
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#stamps
      the instant of the first open and counts it
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#moves
      the instant to the latest open rather than writing a second row
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#adds
      one to the count of opens each time
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      an unpinned tenant unpinned
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#answers
      the recent list newest first
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      the pinned list empty, because opening is not pinning
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#records
      an open of a tenant the person had only pinned, keeping the pin
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#staff
      tenant shortcuts persistence: the recent list at its maximum
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#refuses
      no open, because the recent list is the server’s own
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#keeps
      exactly the maximum
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#drops
      the oldest one it opened
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#answers
      the maximum newest first
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#never
      drops a pinned tenant that has fallen out of the newest ones
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#staff
      tenant shortcuts persistence: a staff member sees only their own
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#answers
      the other staff member their own shortcut (the premise both rows exist)
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#never
      answers another staff member’s pinned tenant
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#never
      answers another staff member’s recent tenant
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#writes
      a pin of its own rather than touching the other person’s row for the same tenant
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      the other person’s open count where it was
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#staff
      tenant shortcuts persistence: a tenant that does not exist
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#refuses
      a pin of it
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#refuses
      an unpin of it
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#refuses
      recording that it was opened
  - provenance: test
    source: >-
      services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js#leaves
      the person with no shortcut to it
dependency_evidence: >-
  The prepared PostgreSQL database supplies the persisted fixtures and constraints exercised here.
  The suite controls the clock at the declared seams; those collaborators remain outside its live
  proof.
evidence:
  - >-
    services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js
  - >-
    Static review at the recorded source revision; executable results remain not-run and conformance
    remains not-verified.
binding_note: >-
  Each binding names the scenario to which this file contributes assertions. A binding is not a
  recorded pass and does not extend the file’s dependency boundary.
examiner: codex
examined_at: '2026-10-23'
final_text: OpenAI
dependency_review:
  provenance: test
  source: >-
    services-platform:modules/tenants/tests/integration/services/persistence/staff-tenant-shortcuts.integration.spec.js
  explicit_no_doubles: false
  identified_double_boundaries:
    - the clock
---
# Staff workspace shortcuts database and service checks

## Verification Boundary

The file exercises database or service behavior through the local integration harness. The assertion references identify the source checks for staff workspace shortcuts.

## What This Suite Proves

The source assertions support the observations named in the bound scenarios. A scenario spanning multiple files must retain the other files’ contributions.

## What It Does Not Prove

This examination does not run the suite. Passing behavior, deployed conformance and the behavior of substituted dependencies require separate execution evidence.

## Real Dependencies and Test Doubles

The prepared PostgreSQL database supplies the persisted fixtures and constraints exercised here. The suite controls the clock at the declared seams; those collaborators remain outside its live proof.

## Must Not Be Doubled

Keep the queried database, applicable constraints and transaction boundaries real. Provider substitutes cannot establish delivery, cloud execution or cross-service recovery.
