Skip to content

Commit ecc1c94

Browse files
committed
Refactor isFutureDate and isPastDate validators to handle invalid referenceDate with error throwing; remove outdated test cases for invalid referenceDate fallback.
1 parent 9e4cf39 commit ecc1c94

File tree

4 files changed

+10
-24
lines changed

4 files changed

+10
-24
lines changed

src/validators/isFutureDate.test.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,5 @@ describe("isFutureDate", () => {
4848
false
4949
);
5050
});
51-
52-
it("should fall back to current date when referenceDate is invalid", () => {
53-
const futureDate = new Date();
54-
futureDate.setFullYear(futureDate.getFullYear() + 1);
55-
56-
expect(isFutureDate(futureDate, { referenceDate: "invalid-date" })).toBe(
57-
true
58-
);
59-
expect(isFutureDate(futureDate, { referenceDate: null as any })).toBe(
60-
true
61-
);
62-
});
6351
});
6452
});

src/validators/isFutureDate.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,9 @@ export const isFutureDate = (
77
): boolean => {
88
const date = parseDate(arg);
99

10-
return !!date && date > (parseDate(referenceDate) ?? new Date());
10+
const reference = referenceDate ? parseDate(referenceDate) : new Date();
11+
if (!reference)
12+
throw new Error(`[isFutureDate] Invalid referenceDate: ${referenceDate}`);
13+
14+
return !!date && date > reference;
1115
};

src/validators/isPastDate.test.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,5 @@ describe("isPastDate", () => {
4343
false
4444
);
4545
});
46-
47-
it("should fall back to current date when referenceDate is invalid", () => {
48-
const pastDate = new Date();
49-
pastDate.setFullYear(pastDate.getFullYear() - 1);
50-
51-
expect(isPastDate(pastDate, { referenceDate: "invalid-date" })).toBe(
52-
true
53-
);
54-
expect(isPastDate(pastDate, { referenceDate: null as any })).toBe(true);
55-
});
5646
});
5747
});

src/validators/isPastDate.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,9 @@ export const isPastDate = (
77
): boolean => {
88
const date = parseDate(arg);
99

10-
return !!date && date < (parseDate(referenceDate) ?? new Date());
10+
const reference = referenceDate ? parseDate(referenceDate) : new Date();
11+
if (!reference)
12+
throw new Error(`[isPastDate] Invalid referenceDate: ${referenceDate}`);
13+
14+
return !!date && date < reference;
1115
};

0 commit comments

Comments
 (0)