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(); }); });