The structured coverage rows link required rules to their scenarios. A covered category has a defined check; executable coverage and successful execution require separate evidence. The category map keeps incomplete lifecycle matrices and other missing checks visible as findings.
Keyed reconciliation reads current saved records. Completion with refusals remains visible in reconciliation. Reset removes loaded mappings before reconciliation and reload. The interaction scenarios use the related capabilities' rule references and identify the shared fixture and observable outcome.
Coverage
Rulecovered
Transitiongap: FND-PFM-DJE-075
Validationgap: FND-PFM-DJE-075
Permissioncovered
Edgecovered
Failuregap: FND-PFM-DJE-075
Boundarycovered
Concurrencygap: FND-PFM-DJE-075
Invariantcovered
Interactioncovered
Test Scenarios
8 scenarios proving CAP-PFM-DJE-015; 5 bound to an existing test.
01Known keys return ordinary record representationsruleapitest
Import contacts, an organization, configuration items and custom-field definitions.
Steps
[
{
"do": "Request the loaded keys in a different order from the import.",
"expect": "Returned records match ordinary reads and follow the requested key order.",
"provenance": "test",
"source": "services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#answers each key found with its record id, in the order the keys were asked"
}
]
Expected
Returned records match ordinary reads and follow the requested key order.
Prepare keys that were never loaded and mappings whose records are absent.
Steps
[
{
"do": "Look up the prepared keys, including a repeated key.",
"expect": "Unknown and absent records are listed as missing, with repeated keys represented once.",
"provenance": "test",
"source": "services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#reports the key nothing loaded as missing"
}
]
Expected
Unknown and absent records are listed as missing, with repeated keys represented once.
[
{
"do": "Request one hundred distinct keys, then one hundred and one.",
"expect": "The first request succeeds and the second identifies the limit in its refusal.",
"provenance": "test",
"source": "services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#answers exactly 100 keys, the most a lookup may name"
}
]
Expected
The first request succeeds and the second identifies the limit in its refusal.
Use a loading workspace, an authorized job reader and an ordinary record reader.
Steps
[
{
"do": "Request the same lookup with each account.",
"expect": "The job reader receives the record; the ordinary reader receives a permission refusal.",
"provenance": "test",
"source": "services-crm:modules/data-jobs/tests/e2e/records-by-source-key.e2e.spec.js#is served the lookup, answering the contact by its key and its id"
}
]
Expected
The job reader receives the record; the ordinary reader receives a permission refusal.
Prepare a shared key spelling in two workspaces and different record kinds.
Steps
[
{
"do": "Look up the key through each workspace and record-kind context.",
"expect": "Each workspace receives only its own match, and a contact key cannot resolve as an organization.",
"provenance": "test",
"source": "services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#looks a key up under its own object type only: a contact key is not an organization"
}
]
Expected
Each workspace receives only its own match, and a contact key cannot resolve as an organization.
Import contacts with producer keys and edit one afterward.
Steps
[
{
"do": "Request those keys in a different order from the file, including a repeated and an unknown key.",
"expect": "Lookup returns current records in requested key order once per key and names the unknown key as missing.",
"provenance": "proposed",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/keyed-data-jobs.integration.spec.ts#writes no crosswalk row for an item it refused, so the corrected delivery of that key is a create; services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#answers each record exactly as the ordinary read of one contact does; services-crm:modules/data-jobs/services/jobs/records-by-source-key.ts"
}
]
Expected
Lookup returns current records in requested key order once per key and names the unknown key as missing.
Data
Import contacts with producer keys and edit one afterward.
Drive a package whose child completes with one refusal and otherwise saved records.
Steps
[
{
"do": "Poll the run to settlement, inspect readiness, and look up the accepted and refused producer keys.",
"expect": "The run can finish succeeded while readiness names the refusal; accepted keys resolve and the refused creation is missing.",
"provenance": "proposed",
"source": "services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#answers each record exactly as the ordinary read of one contact does; services-crm:modules/data-jobs/services/jobs/records-by-source-key.ts:readRecordsBySourceKey; services-platform:modules/data-jobs/services/jobs/records-by-source-key.ts:readCustomFieldsBySourceKey; services-platform:modules/data-jobs/tests/unit/run-summary.spec.ts#is not ready when a dataset’s counts do not add up to what the producer claimed"
}
]
Expected
The run can finish succeeded while readiness names the refusal; accepted keys resolve and the refused creation is missing.
Data
Drive a package whose child completes with one refusal and otherwise saved records.
Load the same package in two isolated loading workspaces.
Steps
[
{
"do": "Reset one, reconcile its keys, reload it, and compare both workspaces with their prior projections.",
"expect": "Reset keys become missing until reload; the other workspace remains unchanged and the reset fixture reproduces its records and numbers.",
"provenance": "proposed",
"source": "services-crm:modules/data-jobs/services/jobs/records-by-source-key.ts:readRecordsBySourceKey; services-platform:modules/data-jobs/services/jobs/records-by-source-key.ts:readCustomFieldsBySourceKey; services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#looks a key up under its own object type only: a contact key is not an organization; services-crm:modules/data-jobs/tests/integration/services/jobs/initial-import-guarantees.integration.spec.js#removes everything the load wrote: no contact, organization, imported type or crosswalk row is left; services-crm:modules/data-jobs/tests/integration/services/jobs/initial-import-guarantees.integration.spec.js#reloads the same records as the load before the reset, numbers included"
}
]
Expected
Reset keys become missing until reload; the other workspace remains unchanged and the reset fixture reproduces its records and numbers.
Data
Load the same package in two isolated loading workspaces.