rateLimiter.test.ts 650 B

12345678910111213141516171819
  1. import { describe, expect, test } from "bun:test"
  2. import { getRetryAfterDay } from "../src/routes/zen/util/ipRateLimiter"
  3. describe("getRetryAfterDay", () => {
  4. test("returns full day at midnight UTC", () => {
  5. const midnight = Date.UTC(2026, 0, 15, 0, 0, 0, 0)
  6. expect(getRetryAfterDay(midnight)).toBe(86_400)
  7. })
  8. test("returns remaining seconds until next UTC day", () => {
  9. const noon = Date.UTC(2026, 0, 15, 12, 0, 0, 0)
  10. expect(getRetryAfterDay(noon)).toBe(43_200)
  11. })
  12. test("rounds up to nearest second", () => {
  13. const almost = Date.UTC(2026, 0, 15, 23, 59, 59, 500)
  14. expect(getRetryAfterDay(almost)).toBe(1)
  15. })
  16. })