ATS-PFM-QRY-009 Organize reusable views of record lists: Capability Test Specification
Markdown Design / Platform / Questions, record exploration and data delivery / Working with record lists / Capability Test Specification Show evidence (sources, provenance, origins, pinned commits)Coverage Rule covered Transition not-applicable Validation covered Permission covered Edge covered Failure gap: FND-PFM-QRY-059 Boundary covered Concurrency covered Invariant gap: FND-PFM-QRY-059 Interaction covered Test Scenarios 13 scenarios proving CAP-PFM-QRY-009 ; 11 bound to an existing test.
01 Views require a valid recipe anchor validation api negative test
Proves BR-CAP-PFM-QRY-009-01 Preconditions A live contact recipe is registered. Steps Save with no recipe, an unknown recipe, a conflicting dataset and an omitted dataset. Expected Invalid anchors return 400; omission resolves to the recipe’s dataset. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/explorer/tests/e2e/explorer-views-api.e2e.spec.js #refuses a body naming no recipe as 400 03 View definitions use the anchored model validation api negative test
Proves BR-CAP-PFM-QRY-009-03 Preconditions Plain and joined recipes are available. Steps Save unknown fields, absent joined instances and an invalid patch field. Expected Every unsupported selection is rejected at its location. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/explorer/tests/e2e/explorer-views-api.e2e.spec.js #refuses a definition naming a field the dataset has not got as 400 05 Colleagues see shared views without owner powers permission api negative test
Proves BR-CAP-PFM-QRY-009-05 Preconditions Both private and shared views belong to another person. Steps Read and list them as a colleague. Expected The private entry is missing; the shared entry is visible without edit power. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/explorer/tests/e2e/explorer-views-api.e2e.spec.js #answers 404, not 403, for another person’s private view 06 View sharing and administration remain distinct permission api negative test
Proves BR-CAP-PFM-QRY-009-06 Preconditions Callers differ in share and manage grants. Steps Share without authority, edit another shared view as a colleague and manager, and replace its dataset. Expected Unauthorized writes fail, manager maintenance works and dataset change is refused. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/explorer/tests/e2e/explorer-views-api.e2e.spec.js #refuses sharing a view without the share permission as 403 07 Joined-dataset access applies to every view operation permission api negative test
Proves BR-CAP-PFM-QRY-009-07 Preconditions The caller lacks access to a recipe’s joined dataset. Steps Create, list and read views using the recipe. Expected Each request returns 403. Data Use the existing binding’s controlled fixture data. Bound to 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 11 Personal preferences retain their version and references rule api negative test
Proves BR-CAP-PFM-QRY-009-11 Preconditions Two people use the same Explorer without prior preferences. Steps Read defaults, save at zero, omit a later version, exceed twenty pins and retain a deleted reference. Expected Defaults and valid saves work; stale and oversized saves fail; the unvalidated reference remains stored. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/explorer/tests/e2e/explorer-preferences-api.e2e.spec.js #answers the whole default arrangement: whose it is, which Explorer, nothing pinned and version zero 12 A retired recipe leaves a view repairable interaction api negative proposed
Proves BR-CAP-PFM-QRY-008-09 BR-CAP-PFM-QRY-009-04 Preconditions A person retains a contact view anchored to an active recipe. Steps Release a manifest without the recipe, read the retained view and try saving it again. Expected The read identifies the missing anchor; a new save is refused until the recipe becomes valid again. 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/recipe-registration/register-query-recipes.integration.spec.js #retires a recipe the manifest no longer declares, and leaves the rest alone,services-platform:modules/explorer/tests/integration/services/definitions/recipe-anchors.integration.spec.js#answers recipe_missing for a recipe that has gone, rather than an error 13 Renewing navigation checks the view’s data access again interaction api negative proposed
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 ← Previous Capability Test Specification ATS-PFM-QRY-008 · Begin a question from an application recipe: Capability Test Specification Next Capability Test Specification → ATS-PFM-QRY-010 · Review and select records from a list: Capability Test Specification