Spaces:
Running
Running
File size: 906 Bytes
98c9143 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import { expect, test } from "bun:test"
import { getRefreshDeadlineMs, getRefreshPollDelayMs } from "../src/lib/token"
test("builds refresh deadline from refresh_in and local time", () => {
const nowMs = 1_000_000
expect(getRefreshDeadlineMs(1_800, nowMs)).toBe(nowMs + 1_740_000)
})
test("clamps refresh deadline to avoid a hot loop", () => {
const nowMs = 1_000_000
expect(getRefreshDeadlineMs(30, nowMs)).toBe(nowMs + 1_000)
})
test("caps poll delay at 15 seconds while waiting", () => {
const nowMs = 1_000_000
expect(getRefreshPollDelayMs(nowMs + 120_000, nowMs)).toBe(15_000)
})
test("uses remaining delay when refresh is close", () => {
const nowMs = 1_000_000
expect(getRefreshPollDelayMs(nowMs + 8_000, nowMs)).toBe(8_000)
})
test("returns zero when refresh is already due", () => {
const nowMs = 1_000_000
expect(getRefreshPollDelayMs(nowMs - 1, nowMs)).toBe(0)
})
|