H1-H10 优化OCR实时体验闭环
这个提交包含在:
@@ -0,0 +1,56 @@
|
||||
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();
|
||||
});
|
||||
});
|
||||
在新工单中引用
屏蔽一个用户