refactor(payload-tests): share empty payload helper

This commit is contained in:
Peter Steinberger 2026-03-17 07:39:44 +00:00
parent be6716c7aa
commit 9c1e9c5263

View File

@ -2,13 +2,16 @@ import { describe, expect, it } from "vitest";
import { buildPayloads, expectSingleToolErrorPayload } from "./payloads.test-helpers.js";
describe("buildEmbeddedRunPayloads tool-error warnings", () => {
function expectNoPayloads(params: Parameters<typeof buildPayloads>[0]) {
const payloads = buildPayloads(params);
expect(payloads).toHaveLength(0);
}
it("suppresses exec tool errors when verbose mode is off", () => {
const payloads = buildPayloads({
expectNoPayloads({
lastToolError: { toolName: "exec", error: "command failed" },
verboseLevel: "off",
});
expect(payloads).toHaveLength(0);
});
it("shows exec tool errors when verbose mode is on", () => {
@ -62,16 +65,14 @@ describe("buildEmbeddedRunPayloads tool-error warnings", () => {
});
it("suppresses sessions_send errors to avoid leaking transient relay failures", () => {
const payloads = buildPayloads({
expectNoPayloads({
lastToolError: { toolName: "sessions_send", error: "delivery timeout" },
verboseLevel: "on",
});
expect(payloads).toHaveLength(0);
});
it("suppresses sessions_send errors even when marked mutating", () => {
const payloads = buildPayloads({
expectNoPayloads({
lastToolError: {
toolName: "sessions_send",
error: "delivery timeout",
@ -79,16 +80,12 @@ describe("buildEmbeddedRunPayloads tool-error warnings", () => {
},
verboseLevel: "on",
});
expect(payloads).toHaveLength(0);
});
it("suppresses assistant text when a deterministic exec approval prompt was already delivered", () => {
const payloads = buildPayloads({
expectNoPayloads({
assistantTexts: ["Approval is needed. Please run /approve abc allow-once"],
didSendDeterministicApprovalPrompt: true,
});
expect(payloads).toHaveLength(0);
});
});