diff --git a/src/lib/results.test.ts b/src/lib/results.test.ts new file mode 100644 index 0000000..c20a88c --- /dev/null +++ b/src/lib/results.test.ts @@ -0,0 +1,18 @@ +import { renderResultByEventId } from './results'; + +describe('renderResultByEventId', () => { + it('renders DNF before event-specific formatting', () => { + expect(renderResultByEventId('333', 'single', -1)).toBe('DNF'); + expect(renderResultByEventId('333fm', 'average', -1)).toBe('DNF'); + }); + + it('renders DNS before event-specific formatting', () => { + expect(renderResultByEventId('333', 'single', -2)).toBe('DNS'); + expect(renderResultByEventId('333mbf', 'single', -2)).toBe('DNS'); + }); + + it('keeps normal result formatting unchanged', () => { + expect(renderResultByEventId('333', 'single', 1234)).toBe('12.34'); + expect(renderResultByEventId('333fm', 'average', 2533)).toBe('25.33'); + }); +}); diff --git a/src/lib/results.ts b/src/lib/results.ts index 27c00be..c82c4b7 100644 --- a/src/lib/results.ts +++ b/src/lib/results.ts @@ -13,6 +13,14 @@ export const renderResultByEventId = ( rankingType: RankingType, result: AttemptResult, ) => { + if (result === -1) { + return 'DNF'; + } + + if (result === -2) { + return 'DNS'; + } + if (eventId === '333fm') { return rankingType === 'average' ? ((result as number) / 100).toFixed(2).toString() : result; }