diff --git a/apps/dashboard/src/components/RunList.mobile.spec.tsx b/apps/dashboard/src/components/RunList.mobile.spec.tsx index a61bf0537..86a791ce5 100644 --- a/apps/dashboard/src/components/RunList.mobile.spec.tsx +++ b/apps/dashboard/src/components/RunList.mobile.spec.tsx @@ -18,7 +18,7 @@ function runMeta(overrides: Partial = {}): RunMeta { } describe('buildRunListItemView', () => { - it('deducts execution errors from quality totals for both table and mobile views', () => { + it('keeps displayed totals distinct from quality totals when execution errors are present', () => { const view = buildRunListItemView( runMeta({ execution_error_count: 2, @@ -27,6 +27,7 @@ describe('buildRunListItemView', () => { ); expect(view.errors).toBe(2); + expect(view.totalCount).toBe(10); expect(view.qualityCount).toBe(8); expect(view.passedCount).toBe(6); expect(view.failedCount).toBe(2); diff --git a/apps/dashboard/src/components/RunList.tsx b/apps/dashboard/src/components/RunList.tsx index 7bdb81808..d816cae96 100644 --- a/apps/dashboard/src/components/RunList.tsx +++ b/apps/dashboard/src/components/RunList.tsx @@ -3,7 +3,7 @@ * * Displays all available runs with a pass/fail status dot, human-readable name, * a per-run "on remote" indicator (whether the run is backed up to the - * configured results branch), date, quality test count, execution-error count, + * configured results branch), date, total test count, execution-error count, * and coloured pass-rate pill. Clicking a row navigates to the run detail view. * * On phone-width viewports the rows collapse to dense cards so right-side table @@ -73,6 +73,7 @@ interface RunListItemView { label: string; display: RunDisplay; errors: number; + totalCount: number; qualityCount: number; passing: boolean; passedCount: number; @@ -108,6 +109,7 @@ export function buildRunListItemView(run: RunMeta, passThreshold: number): RunLi const display = formatRunDisplay(run, { includePassRate: false }); const label = display.label; const errors = executionErrorCount(run); + const totalCount = run.test_count; const qualityCount = Math.max(0, run.test_count - errors); const passing = qualityCount > 0 ? run.pass_rate >= passThreshold : errors === 0; const passedCount = Math.round(run.pass_rate * qualityCount); @@ -127,6 +129,7 @@ export function buildRunListItemView(run: RunMeta, passThreshold: number): RunLi label, display, errors, + totalCount, qualityCount, passing, passedCount, @@ -431,7 +434,7 @@ export function RunList({ label, display, errors, - qualityCount, + totalCount, passedCount, failedCount, experimentNamespace, @@ -495,7 +498,7 @@ export function RunList({ - {qualityCount} + {totalCount} {passedCount} @@ -548,7 +551,7 @@ export function RunList({ label, display, errors, - qualityCount, + totalCount, passedCount, failedCount, experimentNamespace, @@ -637,9 +640,7 @@ export function RunList({ 0 )} - - {qualityCount} - + {totalCount} {/* Pass rate pill */}