feat(catalog): persist idempotent bulk operations and retryable deliveries
This commit is contained in:
1 parent
76e46d295c
commit
13665e0c3c
53 files changed
+1316
-76
No files matched your search
@@ -0,0 +1,23 @@
|
||||
import { beforeEach, expect, it, vi } from "vitest";
|
||||
|
||||
const execute = vi.hoisted(() => vi.fn());
|
||||
vi.mock("@/lib/db", () => ({ db: { execute } }));
|
||||
|
||||
import { retryEffect } from "./server";
|
||||
|
||||
const id = "840f4023-04cd-4d7b-92c5-047aa620029c";
|
||||
beforeEach(() => vi.resetAllMocks());
|
||||
it("does not report a missing or no-longer-failed delivery as retried", async () => {
|
||||
execute.mockResolvedValue([{ affectedRows: 0 }]);
|
||||
await expect(retryEffect(id)).rejects.toThrow("no longer available");
|
||||
});
|
||||
it("accepts a delivery that was actually moved back to pending", async () => {
|
||||
execute.mockResolvedValue([{ affectedRows: 1 }]);
|
||||
await expect(retryEffect(id)).resolves.toBeUndefined();
|
||||
});
|
||||
it("rejects malformed identifiers before a database query", async () => {
|
||||
await expect(
|
||||
retryEffect("------------------------------------"),
|
||||
).rejects.toThrow("Invalid delivery");
|
||||
expect(execute).not.toHaveBeenCalled();
|
||||
});
|
||||
Reference in new issue
Block a user