* fix: getLowestRoomPrice throws when given unexpected data * dont track lowestRoomPrice if unavailable Approved-by: Hrishikesh Vaipurkar
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { describe, expect, it } from "vitest"
|
|
|
|
import { calculateNumberOfNights } from "./calculateNumberOfNights"
|
|
|
|
describe("calculateNumberOfNights", () => {
|
|
it("returns 0 when fromDate is undefined", () => {
|
|
expect(calculateNumberOfNights(undefined, "2023-01-02")).toBe(0)
|
|
})
|
|
|
|
it("returns 0 when toDate is undefined", () => {
|
|
expect(calculateNumberOfNights("2023-01-01", undefined)).toBe(0)
|
|
})
|
|
|
|
it("returns 0 for the same date (string)", () => {
|
|
expect(calculateNumberOfNights("2023-01-01", "2023-01-01")).toBe(0)
|
|
})
|
|
|
|
it("calculates nights for string date inputs", () => {
|
|
expect(calculateNumberOfNights("2023-01-01", "2023-01-05")).toBe(4)
|
|
})
|
|
|
|
it("calculates nights for Date object inputs", () => {
|
|
expect(
|
|
calculateNumberOfNights(
|
|
new Date("2023-02-10T00:00:00Z"),
|
|
new Date("2023-02-12T00:00:00Z")
|
|
)
|
|
).toBe(2)
|
|
})
|
|
|
|
it("handles mixed Date and string inputs", () => {
|
|
expect(calculateNumberOfNights(new Date("2023-03-01"), "2023-03-04")).toBe(
|
|
3
|
|
)
|
|
})
|
|
|
|
it("returns a negative number when fromDate is after toDate", () => {
|
|
expect(calculateNumberOfNights("2023-01-05", "2023-01-01")).toBe(-4)
|
|
})
|
|
})
|