import { describe, expect, it } from 'vitest'; import { retryBackoffDelays } from '#/_base/utils/retry'; describe('retryBackoffDelays', () => { it('starts at 500 milliseconds and doubles with up to 25 percent jitter', () => { const delays = retryBackoffDelays(3); expect(delays[0]).toBeGreaterThanOrEqual(500); expect(delays[0]).toBeLessThanOrEqual(625); expect(delays[1]).toBeGreaterThanOrEqual(1_000); expect(delays[1]).toBeLessThanOrEqual(1_250); }); it('caps high-attempt backoff at 32 seconds plus up to 25 percent jitter', () => { const delays = retryBackoffDelays(10); expect(delays).toHaveLength(9); expect(delays[6]).toBeGreaterThanOrEqual(32_000); expect(delays[6]).toBeLessThanOrEqual(40_000); expect(delays[8]).toBeGreaterThanOrEqual(32_000); expect(delays[8]).toBeLessThanOrEqual(40_000); }); });