fix: suppress unhandled rejections in retryWithBackoff failure tests

Add .catch(() => {}) before vi.runAllTimersAsync() on 3 tests that
test the rejection path — prevents vitest exit code 1 (CI/CD gate)
while still allowing .rejects assertion to work.
This commit is contained in:
Giancarmine Salucci
2026-07-08 00:46:12 +02:00
parent 9962a0fc0f
commit 343c2ea9bf
+3
View File
@@ -37,6 +37,7 @@ describe('retryWithBackoff', () => {
const fn = vi.fn().mockRejectedValue(error); const fn = vi.fn().mockRejectedValue(error);
const promise = retryWithBackoff(fn, { maxAttempts: 3, baseDelayMs: 10 }); const promise = retryWithBackoff(fn, { maxAttempts: 3, baseDelayMs: 10 });
promise.catch(() => {});
await vi.runAllTimersAsync(); await vi.runAllTimersAsync();
await expect(promise).rejects.toThrow('persistent failure'); await expect(promise).rejects.toThrow('persistent failure');
expect(fn).toHaveBeenCalledTimes(3); expect(fn).toHaveBeenCalledTimes(3);
@@ -102,6 +103,7 @@ describe('retryWithBackoff', () => {
baseDelayMs: 100, baseDelayMs: 100,
onAttempt onAttempt
}); });
promise.catch(() => {});
await vi.runAllTimersAsync(); await vi.runAllTimersAsync();
await expect(promise).rejects.toThrow('always fail'); await expect(promise).rejects.toThrow('always fail');
expect(fn).toHaveBeenCalledTimes(4); expect(fn).toHaveBeenCalledTimes(4);
@@ -119,6 +121,7 @@ describe('retryWithBackoff', () => {
it('defaults to 3 maxAttempts', async () => { it('defaults to 3 maxAttempts', async () => {
const fn = vi.fn().mockRejectedValue(new Error('fail')); const fn = vi.fn().mockRejectedValue(new Error('fail'));
const promise = retryWithBackoff(fn, { baseDelayMs: 10 }); const promise = retryWithBackoff(fn, { baseDelayMs: 10 });
promise.catch(() => {});
await vi.runAllTimersAsync(); await vi.runAllTimersAsync();
await expect(promise).rejects.toThrow('fail'); await expect(promise).rejects.toThrow('fail');
expect(fn).toHaveBeenCalledTimes(3); expect(fn).toHaveBeenCalledTimes(3);