diff --git a/apps/pr-reviewer/fixtures/demo-pr/loyalty.test.ts b/apps/pr-reviewer/fixtures/demo-pr/loyalty.test.ts index 25bb6b2..ef85f65 100644 --- a/apps/pr-reviewer/fixtures/demo-pr/loyalty.test.ts +++ b/apps/pr-reviewer/fixtures/demo-pr/loyalty.test.ts @@ -41,4 +41,8 @@ describe('pointsFor', () => { it('returns a whole number', () => { expect(Number.isInteger(pointsFor(777))).toBe(true); }); + + it('awards nothing for a refund', () => { + expect(pointsFor(-10_000)).toBe(0); + }); }); diff --git a/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts b/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts index de0d988..a796ce0 100644 --- a/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts +++ b/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts @@ -1,4 +1,7 @@ -/** One and a half points per whole dollar spent, rounded once after the multiplier. */ +/** One and a half points per whole dollar spent, rounded once after the multiplier. Refunds earn nothing. */ export function pointsFor(totalCents: number): number { + if (totalCents < 0) { + return 0; + } return Math.round((totalCents / 100) * 1.5); }