wundertec-core
Version:
Librería estándar de utilidades e integraciones AWS + helpers generales
23 lines (20 loc) • 716 B
text/typescript
import { retry } from "../../src/retry/retry";
describe("retry()", () => {
it("resolves when function eventually succeeds", async () => {
let attempts = 0;
const fn = jest.fn().mockImplementation(() => {
attempts++;
return attempts < 3 ? Promise.reject("fail") : Promise.resolve("ok");
});
await expect(
retry(fn, { retries: 2, baseDelay: 1, maxDelay: 10 })
).resolves.toBe("ok");
expect(fn).toHaveBeenCalledTimes(3);
});
it("rejects with last error after exhausting retries", async () => {
const fn = () => Promise.reject(new Error("nope"));
await expect(
retry(fn, { retries: 1, baseDelay: 1, maxDelay: 10 })
).rejects.toThrow("nope");
});
});