From 0508218bd0ac9520f32cb00179108469e0a4e136 Mon Sep 17 00:00:00 2001 From: Sergiy Dybskiy Date: Fri, 2 Oct 2026 11:19:19 -0400 Subject: [PATCH] Fix the refund window units, loyalty rounding and the cart total loop Co-authored-by: Claude --- apps/pr-reviewer/fixtures/demo-pr/cart-total.ts | 5 ++++- apps/pr-reviewer/fixtures/demo-pr/loyalty.ts | 3 ++- apps/pr-reviewer/fixtures/demo-pr/refund-window.ts | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/pr-reviewer/fixtures/demo-pr/cart-total.ts b/apps/pr-reviewer/fixtures/demo-pr/cart-total.ts index 9a752db..c694360 100644 --- a/apps/pr-reviewer/fixtures/demo-pr/cart-total.ts +++ b/apps/pr-reviewer/fixtures/demo-pr/cart-total.ts @@ -1,6 +1,9 @@ export function cartTotal(items: { price: number; qty: number }[]): number { let total = 0; - for (let i = 0; i <= items.length; i++) { + for (let i = 0; i < items.length; i++) { + if (items[i].qty < 0) { + throw new RangeError(`Negative quantity for item ${i}`); + } total += items[i].price * items[i].qty; } return total; diff --git a/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts b/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts index d367e9c..de0d988 100644 --- a/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts +++ b/apps/pr-reviewer/fixtures/demo-pr/loyalty.ts @@ -1,3 +1,4 @@ +/** One and a half points per whole dollar spent, rounded once after the multiplier. */ export function pointsFor(totalCents: number): number { - return Math.round(totalCents / 100) * 1.5; + return Math.round((totalCents / 100) * 1.5); } diff --git a/apps/pr-reviewer/fixtures/demo-pr/refund-window.ts b/apps/pr-reviewer/fixtures/demo-pr/refund-window.ts index a9e7849..f328b84 100644 --- a/apps/pr-reviewer/fixtures/demo-pr/refund-window.ts +++ b/apps/pr-reviewer/fixtures/demo-pr/refund-window.ts @@ -1,4 +1,4 @@ export function canRefund(deliveredAt: Date, now = new Date()): boolean { - const days = (now.getTime() - deliveredAt.getTime()) / 86400; + const days = (now.getTime() - deliveredAt.getTime()) / 86_400_000; return days <= 30; }