Fixes: Get minutes offset from start of the day over days.utc() (#1488)
* Use days start of the day offset minutes over days.utc() * We do not need to set startOf("day") as day.utc() already starts from the beginning of the day with respective +h value * do not use startOf if the invite date is already set with utc value, otherwise, it will double the utc +h * 2 Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>pull/1537/head^2
parent
103877737e
commit
2289c68979
|
@ -17,11 +17,11 @@ export type GetSlots = {
|
||||||
minimumBookingNotice: number;
|
minimumBookingNotice: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
const getMinuteOffset = (date: Dayjs, step: number) => {
|
const getMinuteOffset = (date: Dayjs, frequency: number) => {
|
||||||
// Diffs the current time with the given date and iff same day; (handled by 1440) - return difference; otherwise 0
|
// Diffs the current time with the given date and iff same day; (handled by 1440) - return difference; otherwise 0
|
||||||
const minuteOffset = Math.min(date.diff(dayjs.utc().startOf("day"), "minute"), 1440) % 1440;
|
const minuteOffset = Math.min(date.diff(dayjs().utc(), "minute"), 1440) % 1440;
|
||||||
// round down to nearest step
|
// round down to nearest step
|
||||||
return Math.ceil(minuteOffset / step) * step;
|
return Math.ceil(minuteOffset / frequency) * frequency;
|
||||||
};
|
};
|
||||||
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
|
|
|
@ -16,7 +16,7 @@ it("can fit 24 hourly slots for an empty day", async () => {
|
||||||
// 24h in a day.
|
// 24h in a day.
|
||||||
expect(
|
expect(
|
||||||
getSlots({
|
getSlots({
|
||||||
inviteeDate: dayjs.utc().add(1, "day").startOf("day"),
|
inviteeDate: dayjs.utc().add(1, "day"),
|
||||||
frequency: 60,
|
frequency: 60,
|
||||||
minimumBookingNotice: 0,
|
minimumBookingNotice: 0,
|
||||||
workingHours: [
|
workingHours: [
|
||||||
|
|
Loading…
Reference in New Issue