ATS-PFM-QRY-002 Answer a question within the reader’s access: Capability Test Specification
Markdown Design / Platform / Questions, record exploration and data delivery / Dataset access and querying / Capability Test Specification Show evidence (sources, provenance, origins, pinned commits)Coverage Rule covered Transition not-applicable Validation covered Permission covered Edge covered Failure covered Boundary covered Concurrency gap: FND-PFM-QRY-052 Invariant covered Interaction covered Test Scenarios 19 scenarios proving CAP-PFM-QRY-002 ; 15 bound to an existing test.
01 Database confinement survives missing predicates invariant api test
Proves BR-CAP-PFM-QRY-002-01 INV-DOM-PFM-QRY-001-02 Preconditions Separate workspaces contain records with matching identities. Steps Execute related-record queries in both and an unpredicated reader statement. Expected Each execution remains within its workspace, including the database-only confinement case. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/queries/tests/integration/services/execute/run-query.integration.spec.js #answers no row, pick or joined value belonging to another tenant, though the ids are the same 06 Totals ignore cursor narrowing and join multiplication rule api test
Proves BR-CAP-PFM-QRY-002-06 Preconditions Fixtures span pages and include records with absent related records. Steps Request totals across pages, grouped and joined queries, then omit totals. Expected Counts remain complete for the requested grain and disappear when unrequested. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/queries/tests/integration/services/execute/query-totals.integration.spec.js #answers the same total on a page read with a cursor as on the first, the cursor narrowing nothing 09 Validation reports run-time tokens without execution validation api negative test
Proves BR-CAP-PFM-QRY-002-09 Preconditions An unsaved definition contains a requested-at-run value. Steps Submit the definition for validation. Expected The response is successful but invalid, locating the value problem without running the query. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/queries/tests/e2e/saved-queries.e2e.spec.js #refuses a token sent to the validate route, which judges a request on its own 11 Validation supplies repair locations validation api negative test
Proves BR-CAP-PFM-QRY-002-11 Preconditions A definition contains an unsupported field or criterion. Steps Request validation of the definition. Expected A successful validation response lists located problems and executes no question. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/queries/tests/e2e/saved-queries.e2e.spec.js #answers 200 and the problems for a query it will not run, rather than a refusal 12 Result links refer to represented records rule api negative test
Proves BR-CAP-PFM-QRY-002-12 Preconditions A contact question selects its number and name. Steps Execute it, then request an opening override for an absent record slot. Expected The result supplies record identities; the invalid override returns 400. Data Use the existing binding’s controlled fixture data. Bound to Source services-platform:modules/queries/tests/e2e/datasets.e2e.spec.js #names the record the number and the name open, and the id of each row’s, beside the rows 15 Published bounds need explicit refusal proof boundary api negative proposed
Proves BR-CAP-PFM-QRY-002-15 Preconditions An accessible contact dataset is available. Steps Try 256 fields, six sorts, depth seven, three hops and a 1,001-row page, plus boundary-valid controls. Expected The proposed proof requires located bound refusals and valid boundary execution; implementation alignment remains open. Data Prepare isolated fixtures for the states described here. Source services-platform:docs/queries/semantic-query-layer.md #10.6 Complexity limits (first release) 16 Group calculations retain values and types rule api test
Proves BR-CAP-PFM-QRY-002-16 Preconditions Three contacts share a group and have known number, date and custom-field values. Steps Run a grouped query with sum, average, minimum and maximum columns, including an entirely absent field. Expected The group returns the calculated values and column types; the absent field’s aggregate is null. Data Use the grouped-calculation suite’s contact and metadata fixtures. Bound to Source services-platform:modules/queries/tests/integration/services/execute/query-aggregates.integration.spec.js #answers one group for the three contacts, every aggregate computed over exactly those rows 17 A discovery suggestion does not hide inactive records interaction api proposed
Proves BR-CAP-PFM-QRY-001-08 BR-CAP-PFM-QRY-002-01 Preconditions Contacts includes active and inactive records; the description suggests active records. Steps Read the description, then run an unfiltered contact question and a question selecting inactive records. Expected The first answer contains both statuses and the second contains only the inactive fixture. Data Use an isolated workspace with the described source records, access grants and a surviving control workspace. Source services-platform:modules/queries/tests/e2e/datasets.e2e.spec.js #refuses a dataset the caller holds no query permission for as 403,services-platform:modules/queries/tests/integration/services/execute/current-user-criterion.integration.spec.js#answers a second caller their own tasks, from the very same criterion 18 Invalid questions never enter the reusable library interaction api proposed
Proves BR-CAP-PFM-QRY-002-11 BR-CAP-PFM-QRY-006-10 Preconditions A contact draft selects a field not offered by its description. Steps Validate the draft and attempt to save the same definition. Expected Validation locates the bad selection and the save creates no library entry. 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 #refuses a column no owner registered exactly as it refuses one that does not exist at all,services-platform:modules/queries/tests/e2e/saved-queries.e2e.spec.js#refuses a body whose definition cannot be run as written as 400 19 A file contains the ordered answer beyond the first page interaction api proposed
Proves BR-CAP-PFM-QRY-002-01 BR-CAP-PFM-QRY-014-03 Preconditions A contact question spans more than one page, with duplicate sort values and a foreign workspace control. Steps Run the first page and export the same on-screen definition. Expected The file matches the complete ordered local answer; later pages occur once and foreign records never appear. 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/integration/services/exports/run-query-export.integration.spec.js#writes every planted row exactly once, in the query’s sort, with no gap ← Previous Capability Test Specification ATS-PFM-QRY-001 · Discover the data available for questions: Capability Test Specification Next Capability Test Specification → ATS-PFM-QRY-003 · Draft a query from a written request: Capability Test Specification