fix(#83): align prod Race Story smoke with final running order outcome

Replace the removed "Final Classification" literal with an accessible
race-story-outcome region and assert VER is P1 in the built SPA smoke.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-12 20:13:07 -04:00
parent 15d81c8eab
commit 14d9bd3dd4
3 changed files with 24 additions and 3 deletions

View File

@@ -704,7 +704,12 @@ export function RaceStoryCanvas({ data }: Props) {
</div>
{displayResults.length > 0 && (
<div className="rs-field-list">
<div
className="rs-field-list"
role="region"
aria-label="Final running order"
data-testid="race-story-outcome"
>
{displayResults.map((r, i) => {
const gridPos = grid.find((g) => g.driver_number === r.driver_number)?.position ?? 0
const currentPos = scrubTime !== null ? i + 1 : r.position

View File

@@ -278,6 +278,15 @@ describe('RaceStoryCanvas replay map', () => {
expect(screen.getByTestId('chapter-card-0')).not.toHaveClass('active')
})
it('exposes the final running order outcome region with winner position', () => {
renderCanvas()
const outcome = screen.getByTestId('race-story-outcome')
expect(outcome).toHaveAttribute('aria-label', 'Final running order')
expect(outcome).toHaveTextContent('VER')
expect(outcome.querySelector('.rs-pos-col')).toHaveTextContent('1')
})
it('renders the empty-state card when positions are unavailable', () => {
renderCanvas({
datasets: { positions: { status: 'missing', source: 'local', count: 0 } },