57 行
1.4 KiB
JavaScript
57 行
1.4 KiB
JavaScript
const { enqueueOcrInvoice, JOB_OCR_INVOICE } = require("../../../src/jobs/pgBossJobs");
|
|
|
|
describe("pgBossJobs enqueueOcrInvoice", () => {
|
|
it("queues a directed OCR invoice job when pg-boss is available", async () => {
|
|
const send = vi.fn(async () => ({ id: "job-1" }));
|
|
|
|
const result = await enqueueOcrInvoice(
|
|
{
|
|
config: {
|
|
jobDriver: "pgboss",
|
|
ocrProvider: "mock",
|
|
},
|
|
boss: { send },
|
|
},
|
|
"11111111-1111-4111-8111-111111111111",
|
|
);
|
|
|
|
expect(result).toEqual({ mode: "queued" });
|
|
expect(send).toHaveBeenCalledWith(JOB_OCR_INVOICE, {
|
|
invoiceId: "11111111-1111-4111-8111-111111111111",
|
|
});
|
|
});
|
|
|
|
it("falls back cleanly when pg-boss is unavailable", async () => {
|
|
await expect(
|
|
enqueueOcrInvoice(
|
|
{
|
|
config: {
|
|
jobDriver: "pgboss",
|
|
ocrProvider: "mock",
|
|
},
|
|
boss: null,
|
|
},
|
|
"11111111-1111-4111-8111-111111111111",
|
|
),
|
|
).resolves.toEqual({ mode: "fallback" });
|
|
});
|
|
|
|
it("does not queue OCR when the OCR provider is disabled", async () => {
|
|
const send = vi.fn();
|
|
|
|
const result = await enqueueOcrInvoice(
|
|
{
|
|
config: {
|
|
jobDriver: "pgboss",
|
|
ocrProvider: "off",
|
|
},
|
|
boss: { send },
|
|
},
|
|
"11111111-1111-4111-8111-111111111111",
|
|
);
|
|
|
|
expect(result).toEqual({ mode: "fallback" });
|
|
expect(send).not.toHaveBeenCalled();
|
|
});
|
|
});
|