Compare commits

..

2 commits

Author SHA1 Message Date
63114e7736 Fixing a unit test in performSpeedyReservation
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
2026-07-25 09:26:14 +02:00
c5978a8289 Fixing conditional when trying to determine the court slot start times 2026-07-25 09:22:24 +02:00
2 changed files with 14 additions and 4 deletions

View file

@ -794,7 +794,7 @@ export class BaanReserverenService {
public getCourtSlotsForDate(date: Dayjs) { public getCourtSlotsForDate(date: Dayjs) {
const time = date.format('HH:mm') const time = date.format('HH:mm')
const weekdayEndSelector = const weekdayEndSelector =
date.day() !== 0 || date.day() !== 6 ? 'weekday' : 'weekend' date.day() !== 0 && date.day() !== 6 ? 'weekday' : 'weekend'
for (const [timeClass, timesForWeekdayAndWeekend] of Object.entries( for (const [timeClass, timesForWeekdayAndWeekend] of Object.entries(
StartTimeClassStartTimes, StartTimeClassStartTimes,
)) { )) {

View file

@ -61,13 +61,16 @@ describe('baanreserveren.service', () => {
describe('performSpeedyReservation', () => { describe('performSpeedyReservation', () => {
it.each([ it.each([
[18, 15, CourtSlot.Six, CourtSlot.Seven], [18, 15, CourtSlot.Seven, CourtSlot.Six],
[18, 30, CourtSlot.One, CourtSlot.Four], [18, 30, CourtSlot.One, CourtSlot.Four],
[18, 45, CourtSlot.Twelve, CourtSlot.Thirteen], [18, 45, CourtSlot.Twelve, CourtSlot.Thirteen],
])( ])(
'should try highest ranked court first', 'should try highest ranked court first',
async (startHour, startMinute, preferredCourt, backupCourt) => { async (startHour, startMinute, preferredCourt, backupCourt) => {
const start = dayjs() const start = dayjs()
.set('year', 2026)
.set('month', 7)
.set('date', 27)
.set('hour', startHour) .set('hour', startHour)
.set('minute', startMinute) .set('minute', startMinute)
.set('second', 0) .set('second', 0)
@ -94,7 +97,7 @@ describe('baanreserveren.service', () => {
) )
it.each([ it.each([
[18, 15, CourtSlot.Six, CourtSlot.Seven], [18, 15, CourtSlot.Seven, CourtSlot.Eight],
[18, 30, CourtSlot.One, CourtSlot.Four], [18, 30, CourtSlot.One, CourtSlot.Four],
[18, 45, CourtSlot.Twelve, CourtSlot.Thirteen], [18, 45, CourtSlot.Twelve, CourtSlot.Thirteen],
])( ])(
@ -112,6 +115,9 @@ describe('baanreserveren.service', () => {
return Promise.resolve({ status: () => 200 }) return Promise.resolve({ status: () => 200 })
}) })
const start = dayjs() const start = dayjs()
.set('year', 2026)
.set('month', 7)
.set('date', 27)
.set('hour', startHour) .set('hour', startHour)
.set('minute', startMinute) .set('minute', startMinute)
.set('second', 0) .set('second', 0)
@ -138,7 +144,7 @@ describe('baanreserveren.service', () => {
) )
}) })
describe.only('getCourtSlotsForDate', () => { describe('getCourtSlotsForDate', () => {
it.each([ it.each([
{ {
date: '2025-04-10T16:30:00.000Z', date: '2025-04-10T16:30:00.000Z',
@ -164,6 +170,10 @@ describe('baanreserveren.service', () => {
date: '2025-01-10T18:00:00.000Z', date: '2025-01-10T18:00:00.000Z',
expectedCourtSlots: StartTimeClassCourtSlots[StartTimeClass.Second], expectedCourtSlots: StartTimeClassCourtSlots[StartTimeClass.Second],
}, },
{
date: '2026-07-26T08:30:00.000Z',
expectedCourtSlots: StartTimeClassCourtSlots[StartTimeClass.First],
},
])( ])(
'should get correct court slots for $date', 'should get correct court slots for $date',
({ date, expectedCourtSlots }) => { ({ date, expectedCourtSlots }) => {