Skip to content

ATS-PFM-QRY-010Review and select records from a list: Capability Test Specification

Markdown

ATS-PFM-QRY-010

Review and select records from a list: Capability Test Specification

Markdown
  • DocumentProposed

KindAcceptance test setProduct areaPlatformModuleQuestions, record exploration and data deliveryRevision2

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

Coverage

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

Test Scenarios

13 scenarios proving CAP-PFM-QRY-010; 9 bound to an existing test.

01 Retained navigation survives local editsinvariantapiproposed
Proves
BR-CAP-PFM-QRY-010-01
Preconditions
The records being reviewed are already inside one stored navigation window.
Steps
Move among retained identities after editing a displayed record.
Expected
The window’s stored order remains; full-result stability beyond renewed reads is not claimed.
Data
Prepare isolated fixtures for the states described here.
Source
services-platform:modules/explorer/services/navigation/navigation-sessions.ts:locateInNavigationSession
02 Navigation inputs identify an ordered matchvalidationapinegativetest
Proves
BR-CAP-PFM-QRY-010-02
Preconditions
An accessible ordered contact list exists.
Steps
Start without a record, without sorting, with columns and with a nonmatching record.
Expected
Invalid shapes return 400 and the missing match returns a located conflict.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#refuses a body naming no sort as 400, because an order is what a position means
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#refuses a body carrying columns, which a navigation never selects, as 400
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#names the conflict, so the console can say the record left the list
Source
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#refuses a body naming no record as 400
03 Navigation supplies positions without valuesruleapitest
Proves
BR-CAP-PFM-QRY-010-03
Preconditions
A retained session contains twelve identities.
Steps
Locate the first, middle and final identities.
Expected
The response includes position, total and existing neighbours without record values.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers the record’s position and the total, which is what "2 of 12" is drawn from
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers no record data, only ids, a place and the return state
Source
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers the record’s position and the total, which is what "2 of 12" is drawn from
04 Sessions cannot be read by another personpermissionapinegativetest
Proves
BR-CAP-PFM-QRY-010-04 INV-DOM-PFM-QRY-002-10
Preconditions
One person has created a navigation session.
Steps
Read it as a colleague and request a nonexistent session.
Expected
Both lookups return 404.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers 404, not 403, to a colleague of the same tenant
Source
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers 404, not 403, to a colleague of the same tenant
05 Return state remains available from retained sessionsedgeapitest
Proves
BR-CAP-PFM-QRY-010-05
Preconditions
A session exists for an owner who later loses dataset access.
Steps
Locate an outside identity, omit the identity and read retained state after access loss.
Expected
Position and neighbours can be absent while return state remains; no window renewal is implied.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers no position for a record that is not in the frozen set, rather than refusing
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers the return state even for such a record, because Back To Results must still work
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers the owner their session after they have lost the dataset’s key, so Back To Results survives
Source
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers no position for a record that is not in the frozen set, rather than refusing
06 Navigation respects scan and storage limitsboundaryapinegativetest
Proves
BR-CAP-PFM-QRY-010-06
Preconditions
A result exceeds the scan limit and another walk crosses stored-window boundaries.
Steps
Start beyond the scan cap and walk through the long result.
Expected
The excessive scan is refused and supported movement updates the retained window.
Data
Use the existing binding’s controlled fixture data.
Bound to
Source
services-platform:modules/explorer/tests/integration/services/navigation/navigation-sessions.integration.spec.js#refuses a navigation whose scan would pass the cap
07 Expired sessions preserve return contexttransitionapitest
Proves
BR-CAP-PFM-QRY-010-07
Preconditions
Sessions differ in ownership and age.
Steps
Read an expired session and create another session for its owner.
Expected
Expiry retains return state and creation clears only the owner’s sufficiently old sessions.
Data
Use the existing binding’s controlled fixture data.
Bound to
Source
services-platform:modules/explorer/tests/integration/services/persistence/explorer-navigation-sessions.integration.spec.js#expires twelve hours after the execution’s own clock, as ISO 8601 UTC
08 Joined navigation uses base-record grainruleapiproposed
Proves
BR-CAP-PFM-QRY-010-08
Preconditions
A joined recipe includes contacts with absent employers.
Steps
Start navigation and obtain its count.
Expected
Positions and total match the distinct base-record population.
Data
Prepare isolated fixtures for the states described here.
Source
services-platform:docs/explorer.md#4. Navigating a result set
09 Selection explicitly marks truncationboundaryapitest
Proves
BR-CAP-PFM-QRY-010-09
Preconditions
Questions match populations below and above ten thousand.
Steps
Request whole-result identities for each.
Expected
Small results are complete; capped results retain order and explicitly mark truncation.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers every matching record id, in the query’s own order
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers that nothing was cut, so a console may act on the whole list
services-platform:modules/explorer/tests/integration/services/selection/select-record-ids.integration.spec.js#answers the first ids of the query’s order, not an arbitrary ten thousand
Source
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#answers every matching record id, in the query’s own order
10 Dataset access is required for list-derived workpermissionapinegativetest
Proves
BR-CAP-PFM-QRY-010-10
Preconditions
A caller has only the Explorer surface permission.
Steps
Start navigation and request selection.
Expected
Both requests return 403.
Data
Use the existing binding’s controlled fixture data.
Bound to
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#refuses to freeze one for a caller holding the surface key and not the dataset key, as 403
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#refuses a caller who may not query the dataset as 403
Source
services-platform:modules/explorer/tests/e2e/explorer-navigation-api.e2e.spec.js#refuses to freeze one for a caller holding the surface key and not the dataset key, as 403
11 Record navigation needs complete journey proofinteractionbrowserproposed
Proves
AS-JNY-PFM-QRY-003-01
Preconditions
A twelve-record list is reviewed while records can change.
Steps
Open the second record, move forward and backward, and edit a retained record.
Expected
Retained-window order is checked; stability across rebuilt windows remains outside this proposed assertion.
Data
Prepare isolated fixtures for the states described here.
Source
services-platform:docs/explorer.md#4. Navigating a result set
12 Bulk work receives the chosen populationinteractionbrowsertest
Proves
AS-JNY-PFM-QRY-003-02
Preconditions
A contact list selects thirty-five fixture records.
Steps
Execute the bulk-update browser journey.
Expected
The dialog and verified updates cover the thirty-five selected records.
Data
Use the existing binding’s controlled fixture data.
Bound to
Source
react-console:acceptance/data-jobs/playwright/journeys/dialogs/DJE-ACC-0100.spec.ts#DJE-ACC-0100
13 Renewing navigation checks the view’s data access againinteractionapinegativeproposed
Proves
BR-CAP-PFM-QRY-009-07 BR-CAP-PFM-QRY-010-05
Preconditions
A recipe-anchored list has a navigation session and the owner loses base-dataset access.
Steps
Read a retained identity, then move beyond the retained window and request whole-result selection.
Expected
Retained return state remains available; renewal and selection fail the current dataset access check.
Data
Use an isolated workspace with the described source records, access grants and a surviving control workspace.
Source
services-platform:modules/explorer/tests/e2e/explorer-views-api.e2e.spec.js#refuses a joined recipe to a caller who may not query a dataset it joins to, as 403,services-platform:modules/explorer/services/navigation/navigation-sessions.ts:extendForward

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.