test(webapp): failing tests for mollifyTrigger

This commit is contained in:
Dan Sutton
2026-05-14 14:20:32 +01:00
parent 9f5021637e
commit efda4f72d0
+68
View File
@@ -0,0 +1,68 @@
import { describe, expect, it, vi } from "vitest";
vi.mock("~/db.server", () => ({
prisma: {},
$replica: {},
}));
import { mollifyTrigger } from "~/v3/mollifier/mollifierMollify.server";
import type { MollifierBuffer } from "@trigger.dev/redis-worker";
function fakeBuffer(): { buffer: MollifierBuffer; accept: ReturnType<typeof vi.fn> } {
const accept = vi.fn(async () => undefined);
return {
buffer: { accept } as unknown as MollifierBuffer,
accept,
};
}
describe("mollifyTrigger", () => {
it("writes the snapshot to buffer and returns synthesised result", async () => {
const { buffer, accept } = fakeBuffer();
const result = await mollifyTrigger({
runFriendlyId: "run_friendly_1",
environmentId: "env_a",
organizationId: "org_1",
engineTriggerInput: { taskIdentifier: "my-task", payload: '{"x":1}' },
decision: {
divert: true,
reason: "per_env_rate",
count: 150,
threshold: 100,
},
buffer,
});
expect(accept).toHaveBeenCalledOnce();
expect(accept).toHaveBeenCalledWith({
runId: "run_friendly_1",
envId: "env_a",
orgId: "org_1",
payload: expect.any(String),
});
expect(result.run.friendlyId).toBe("run_friendly_1");
expect(result.error).toBeUndefined();
expect(result.isCached).toBe(false);
expect(result.notice).toEqual({
code: "mollifier.queued",
message: expect.stringContaining("burst buffer"),
docs: expect.stringContaining("trigger.dev/docs"),
});
});
it("snapshot is round-trippable: payload field is parseable JSON of engineTriggerInput", async () => {
const { buffer, accept } = fakeBuffer();
const engineInput = { taskIdentifier: "t", payload: "{}", tags: ["a", "b"] };
await mollifyTrigger({
runFriendlyId: "run_x",
environmentId: "env_a",
organizationId: "org_1",
engineTriggerInput: engineInput,
decision: { divert: true, reason: "per_env_rate", count: 1, threshold: 1 },
buffer,
});
const callArg = accept.mock.calls[0][0] as { payload: string };
expect(JSON.parse(callArg.payload)).toEqual(engineInput);
});
});