Files
cfw-autumn/server/tests/unit/queue/processMessage.test.ts

28 lines
771 B
TypeScript

import { describe, expect, test } from "bun:test";
import { RedisUnavailableError } from "@/utils/cacheUtils/cacheErrors.js";
import { JobName } from "@/queue/JobName.js";
import { shouldRetryQueueJobError } from "@/queue/processMessage.js";
describe("shouldRetryQueueJobError", () => {
test("retries track jobs on transient Redis errors", () => {
expect(
shouldRetryQueueJobError({
jobName: JobName.Track,
error: new RedisUnavailableError({
source: "runTrackV3",
reason: "timeout",
}),
}),
).toBe(true);
});
test("does not retry track jobs on non-transient application errors", () => {
expect(
shouldRetryQueueJobError({
jobName: JobName.Track,
error: new Error("insufficient balance"),
}),
).toBe(false);
});
});