@@ -369,9 +369,9 @@ const passedRunSample: RunResponse = {
369369 error : null ,
370370 videoUrl : null ,
371371 stepSummary : {
372- total : 8 ,
373- completed : 8 ,
374- passedCount : 8 ,
372+ total : 2 ,
373+ completed : 2 ,
374+ passedCount : 2 ,
375375 failedCount : 0 ,
376376 } ,
377377 // Representative per-run steps so `test steps --run-id <id> --dry-run`
@@ -823,6 +823,7 @@ const ENTRIES: DryRunSampleEntry[] = [
823823 // fix(2026-05-21): a duplicate failed-shape entry that appeared before
824824 // this entry was removed; findSample first-match-wins was always
825825 // returning status: "failed" for `test wait --dry-run`.
826+ entry ( 'getRun' , 'GET' , `/runs/${ SAMPLE_FAILED_RUN_ID } ` , failedRunSample ) ,
826827 entry ( 'getRun' , 'GET' , '/runs/{runId}' , passedRunSample ) ,
827828 // DEV-331 piece 3 — POST /runs/{runId}/cancel. Method-guarded in
828829 // `findSample` (POST vs `getRun`'s GET), so this can't be shadowed by the
@@ -905,10 +906,7 @@ export function findSample(
905906 const pathOnly = extractPath ( url ) ;
906907 for ( const e of ENTRIES ) {
907908 if ( e . method === upper && e . pattern . test ( pathOnly ) ) {
908- const body =
909- e . operationId === 'getRun' && pathOnly === `/runs/${ SAMPLE_FAILED_RUN_ID } `
910- ? failedRunSample
911- : e . body ( requestBody ) ;
909+ const body = e . body ( requestBody ) ;
912910 // Rebind body so callers get the resolved value, not the factory.
913911 // We return a new object with `body` already applied so downstream
914912 // code can keep calling `e.body` as-before (no API break for tests
0 commit comments