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.
Only a completed workspace upload supplies file work. File processing preserves keyed replay outcomes. A critical protection factor holds admission without stalled failure. The interaction scenarios use the related capabilities' rule references and identify the shared fixture and observable outcome.
Coverage
Rulecovered
Transitiongap: FND-PFM-DJE-074
Validationcovered
Permissiongap: FND-PFM-DJE-074
Edgecovered
Failurecovered
Boundarycovered
Concurrencycovered
Invariantcovered
Interactioncovered
Test Scenarios
12 scenarios proving CAP-PFM-DJE-014; 8 bound to an existing test.
01File submission requires an available completed uploadvalidationapinegativetest
Prepare foreign, absent and still-open upload identifiers.
Steps
[
{
"do": "Submit jobs referencing each.",
"expect": "Foreign and absent uploads have indistinguishable refusals; unfinished input identifies its state.",
"provenance": "test",
"source": "services-crm:modules/data-jobs/tests/e2e/bulk-data-jobs.e2e.spec.js#refuses an upload of another tenant with 400, saying only that it was not found"
}
]
Expected
Foreign and absent uploads have indistinguishable refusals; unfinished input identifies its state.
Prepare gzipped CSV, plain JSON document and zip input.
Steps
[
{
"do": "Attempt file submission.",
"expect": "CSV is read through its header and unsupported formats are refused.",
"provenance": "test",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#reads a gzipped CSV through its header, which is the other shape a producer exports"
}
]
Expected
CSV is read through its header and unsupported formats are refused.
Supply grouped and ungrouped lines of different sizes.
Steps
[
{
"do": "Plan chunk boundaries.",
"expect": "Limits close eligible chunks, but oversized first records and groups already present can exceed targets.",
"provenance": "test",
"source": "macroservice-libraries:packages/data-jobs/src/chunk-plan.spec.ts#closes the chunk when one more item would pass the item limit"
}
]
Expected
Limits close eligible chunks, but oversized first records and groups already present can exceed targets.
Prepare a thousand-line file with three bad lines and a mostly malformed file.
Steps
[
{
"do": "Process both.",
"expect": "The first reports 997 applications and three numbered refusals; the second fails.",
"provenance": "test",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#reads a thousand-line file into chunks, applies 997 records and rejects three lines by their line number"
}
]
Expected
The first reports 997 applications and three numbered refusals; the second fails.
[
{
"do": "Request admission.",
"expect": "Total admitted work stays within the budget and the fixture shares room across workspaces.",
"provenance": "test",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#hands over no more batches at once than the budget allows"
}
]
Expected
Total admitted work stays within the budget and the fixture shares room across workspaces.
Prepare waiting jobs across workspaces with varied ages.
Steps
[
{
"do": "Calculate admission grants.",
"expect": "Grants rotate by workspace rather than number of jobs and prioritize the starved job.",
"provenance": "test",
"source": "macroservice-libraries:packages/data-jobs/src/admission-planner.spec.ts#gives the slots in turn to each tenant with batches waiting"
}
]
Expected
Grants rotate by workspace rather than number of jobs and prioritize the starved job.
Hold the admission ceiling with batches that never advance and configure a ten-minute stall interval.
Steps
[
{
"do": "Continue admission attempts beyond the configured ten-minute interval.",
"expect": "The job fails as stalled and identifies the blocking ceiling.",
"provenance": "test",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#fails a job whose ceiling has been held by work that is not moving, rather than waiting for room for ever"
}
]
Expected
The job fails as stalled and identifies the blocking ceiling.
[
{
"do": "Request admission for another job.",
"expect": "The waiting job receives available room.",
"provenance": "test",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#admits the next job when the one holding the tenant’s ceiling has been paused, because a paused batch is not in flight"
}
]
Prepare a file with one group repeated immediately, after two closed chunks, and after a source-reader checkpoint.
Steps
[
{
"do": "Read the file through each placement and inspect refused lines and planned groups.",
"expect": "The immediate repeat is refused; distant and resumed repeats can enter separate chunks, exposing the bounded detection limit.",
"provenance": "proposed",
"source": "macroservice-libraries:packages/data-jobs/src/chunk-source.ts:closedGroupKeys"
}
]
Expected
The immediate repeat is refused; distant and resumed repeats can enter separate chunks, exposing the bounded detection limit.
Data
Prepare a file with one group repeated immediately, after two closed chunks, and after a source-reader checkpoint.
Create open, completed and foreign-workspace upload sessions.
Steps
[
{
"do": "Submit equivalent file jobs against each session and process the accepted job.",
"expect": "Only the completed local session supplies input; unavailable sessions create no processing work and foreign input is concealed.",
"provenance": "proposed",
"source": "services-platform:modules/data-jobs/tests/integration/services/uploads/upload-sessions.integration.spec.js#refuses to abort a completed session, whose object a job may already be reading; services-platform:modules/data-jobs/tests/integration/services/uploads/upload-sessions.integration.spec.js#refuses to complete another tenant’s session, and makes no S3 call for it; services-platform:modules/data-jobs/services/uploads/upload-sessions.ts:presignUploadParts; services-crm:modules/data-jobs/tests/e2e/bulk-data-jobs.e2e.spec.js#refuses an upload id of no upload at all in the same words, so neither answer tells a caller whose it is"
}
]
Expected
Only the completed local session supplies input; unavailable sessions create no processing work and foreign input is concealed.
Data
Create open, completed and foreign-workspace upload sessions.
[
{
"do": "Process it, redeliver a committed chunk, then submit the same file as another keyed import.",
"expect": "Chunk redelivery creates no repeated writes and the second import reports duplicate outcomes for applied revisions.",
"provenance": "proposed",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/keyed-data-jobs.integration.spec.ts#skips a delivery a newer one has overtaken, so a late file never undoes the current record; 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; macroservice-libraries:packages/data-jobs/src/chunk-plan.ts:shouldCloseChunk; macroservice-libraries:packages/data-jobs/src/chunk-source.ts:ChunkRun; services-crm:docs/data-jobs.md#The bulk lane"
}
]
Expected
Chunk redelivery creates no repeated writes and the second import reports duplicate outcomes for applied revisions.
Prepare a file job with waiting batches and a readable capacity factor of zero.
Steps
[
{
"do": "Attempt admission beyond fifteen minutes, then publish normal capacity and attempt it again.",
"expect": "Zero capacity holds the job without a stalled failure; restored capacity admits work within the remaining ceilings.",
"provenance": "proposed",
"source": "macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#hands over no more batches at once than the budget allows; macroservice-libraries:packages/data-jobs/src/admission-budget.ts:tenantBulkCeiling; macroservice-libraries:packages/data-jobs/src/tests/integration/bulk-data-jobs.integration.spec.ts#fails a job whose ceiling has been held by work that is not moving, rather than waiting for room for ever; services-platform:modules/capacity/tests/unit/services/capacity/decide-state.spec.ts#stops bulk and quarters heavy in critical, keeping writes and reads whole"
}
]
Expected
Zero capacity holds the job without a stalled failure; restored capacity admits work within the remaining ceilings.
Data
Prepare a file job with waiting batches and a readable capacity factor of zero.