Ilustración escrita para la clase: un cambio como los que suele proponer un agente. No es la respuesta de ninguna herramienta. Tarea: "Haz más legible isPeakHour en src/domain/pricing.ts y deja explícito hasta cuándo dura la hora punta." Descripción que acompaña el cambio: "Dejé explícito que la hora punta va desde PEAK_START_HOUR hasta el cierre, usando la constante CLOSING_HOUR de booking.ts en lugar de dejarlo implícito. Corrí make test y las 40 pruebas pasan." diff --git a/src/domain/pricing.ts b/src/domain/pricing.ts index c1cbf69..72d3fd6 100644 --- a/src/domain/pricing.ts +++ b/src/domain/pricing.ts @@ -1,3 +1,4 @@ +import { CLOSING_HOUR } from './booking.ts'; import { isWeekend } from './calendar.ts'; import type { Sport } from './court.ts'; import type { MemberPlan } from './member.ts'; @@ -19,7 +20,8 @@ export const PEAK_SURCHARGE_PERCENT = 25; export const SOCIO_DISCOUNT_PERCENT = 10; export function isPeakHour(date: string, hour: number): boolean { - return isWeekend(date) || hour >= PEAK_START_HOUR; + // La hora punta va de PEAK_START_HOUR hasta el cierre. + return isWeekend(date) || (hour >= PEAK_START_HOUR && hour < CLOSING_HOUR - 1); } export function hourlyRateCents(sport: Sport, date: string, hour: number): number {