Skip to content

ATS-PFM-QRY-004Answer operational questions across customers: Capability Test Specification

Markdown

ATS-PFM-QRY-004

Answer operational questions across customers: Capability Test Specification

Markdown
  • DocumentProposed

Planning

Proves capability
CAP-PFM-QRY-004

Design

Executed by
TST-PFM-QRY-228, TST-PFM-QRY-235

KindAcceptance test setProduct areaPlatformModuleQuestions, record exploration and data deliveryRevision2

Read atservices-platform ad3f6a65react-console baf6dae3rhythm-v2-docs 99376625

Coverage

  • Rule covered
  • Transition not-applicable
  • Validation covered
  • Permission covered
  • Edge covered
  • Failure gap: FND-PFM-QRY-054
  • Boundary gap: FND-PFM-QRY-054
  • Concurrency gap: FND-PFM-QRY-054
  • Invariant covered
  • Interaction covered

Test Scenarios

9 scenarios proving CAP-PFM-QRY-004; 7 bound to an existing test.

01 System-surface access alone grants no subjectpermissionapinegativetest
Proves
BR-CAP-PFM-QRY-004-01
Preconditions
One staff caller has only system-surface permission and another has the HQ reader policy.
Steps
List subjects as both and describe one as the limited caller.
Expected
The limited caller sees unauthorized entries and receives 403; the reader sees authorization.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#answers every dataset as unauthorized for a caller holding the surface key alone
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a caller holding the surface key but not this dataset’s key, with 403
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#answers Rhythm HQ’s five datasets and nothing else, each one authorized for this caller
Source
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#answers every dataset as unauthorized for a caller holding the surface key alone
02 Workspace subjects stay outside HQinvariantapinegativetest
Proves
BR-CAP-PFM-QRY-004-02 INV-DOM-PFM-QRY-001-12
Preconditions
The caller has the HQ reader policy.
Steps
List system subjects and request a workspace dataset there.
Expected
The workspace subject is absent and returns 404 rather than 403.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#lists not one tenant dataset, Users and CRM’s belonging to a tenant and not to the system
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a tenant dataset as one that does not exist, with 404 and never 403
Source
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#lists not one tenant dataset, Users and CRM’s belonging to a tenant and not to the system
03 HQ questions span customersruleapitest
Proves
BR-CAP-PFM-QRY-004-03
Preconditions
Several customers have workspace records.
Steps
Execute the customer and workspace system datasets.
Expected
The results include the customers and workspaces across the fixture.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#answers every customer of every kind, read with no tenant anywhere
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#answers the tenants of every customer at once, which no tenant route could ever do
Source
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#answers every customer of every kind, read with no tenant anywhere
04 Cross-scope models are rejectedvalidationapinegativetest
Proves
BR-CAP-PFM-QRY-004-04
Preconditions
A staff reader can query HQ datasets.
Steps
Submit a model joining a customer-workspace dataset to a system subject.
Expected
The model is refused.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a model that joins a tenant’s dataset to the system’s, the two having no tenant in common
Source
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a model that joins a tenant’s dataset to the system’s, the two having no tenant in common
05 HQ descriptions omit personal workspace facetsedgeapinegativetest
Proves
BR-CAP-PFM-QRY-004-05
Preconditions
A staff reader opens the workspace system dataset.
Steps
Describe it and execute its Recently Viewed scope.
Expected
Only all-record scope is offered with no custom fields, and personal scope is rejected.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#offers no custom field and no tenant’s label override, a system dataset having no tenant to define either
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#offers the `all` scope alone, a system dataset having no tenant in which anyone viewed a record
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses the recently_viewed scope: it answers what a person viewed in a tenant, and this dataset has none
Source
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#offers no custom field and no tenant’s label override, a system dataset having no tenant to define either
06 Recipe libraries cannot cross surfacesinvariantapinegativetest
Proves
BR-CAP-PFM-QRY-004-06
Preconditions
Both workspace and HQ recipes exist.
Steps
Read each recipe from the opposite surface.
Expected
Each cross-surface lookup returns 404.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a tenant’s recipe as one that does not exist, with 404
services-platform:modules/queries/tests/e2e/llm-usage.e2e.spec.js#refuses a tenant caller one of them as a recipe that does not exist, with 404
Source
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a tenant’s recipe as one that does not exist, with 404
07 Customer usage records stay workspace-localinvariantapinegativetest
Proves
BR-CAP-PFM-QRY-004-07
Preconditions
An organization has AI invocation records.
Steps
Request their dataset through HQ description and execution.
Expected
Both requests return 404.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/queries/tests/e2e/llm-usage.e2e.spec.js#keeps the organization’s requests out of a staff query on the system surface, with 404
services-platform:modules/queries/tests/e2e/llm-usage.e2e.spec.js#reads not one tenant’s row from the system surface: the requests and the operations are unknown to it
Source
services-platform:modules/queries/tests/e2e/llm-usage.e2e.spec.js#keeps the organization’s requests out of a staff query on the system surface, with 404
08 HQ vocabulary cannot become a workspace joininteractionapinegativeproposed
Proves
BR-CAP-PFM-QRY-002-01 BR-CAP-PFM-QRY-004-04
Preconditions
A staff caller can investigate system customers and has a workspace contact grant.
Steps
Describe the system customer subject and submit a system question joined to workspace contacts.
Expected
System customers remain available and the workspace join is rejected.
Data
Use an isolated workspace with the described source records, access grants and a surviving control workspace.
Source
services-platform:modules/queries/tests/integration/services/execute/run-query.integration.spec.js#confines a statement carrying no tenant predicate at all, so row-level security holds beneath the compiler,services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a model that joins a tenant’s dataset to the system’s, the two having no tenant in common
09 Tailored workspace subjects remain outside HQinteractionapiproposed
Proves
BR-CAP-PFM-QRY-004-02 BR-CAP-PFM-QRY-005-05
Preconditions
A published tailored dataset is assigned to one workspace and can be previewed in the validation workspace.
Steps
Preview it in the configured workspace and request it through the HQ system catalog.
Expected
Preview can return fixture rows; HQ treats the workspace subject as missing.
Data
Use an isolated workspace with the described source records, access grants and a surviving control workspace.
Source
services-platform:modules/queries/tests/e2e/system-queries.e2e.spec.js#refuses a tenant dataset as one that does not exist, with 404 and never 403,services-platform:modules/queries/tests/e2e/custom-tables.e2e.spec.js#refuses a preview of any other tenant, a customer’s rows needing a staff access grant there is no way to hold

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.