refactor(payload-tests): share single payload summary assertion
This commit is contained in:
parent
e510132f3c
commit
d46f3bd739
@ -40,6 +40,18 @@ describe("buildEmbeddedRunPayloads", () => {
|
||||
expect(payloads[0]?.text).toBe(OVERLOADED_FALLBACK_TEXT);
|
||||
};
|
||||
|
||||
function expectSinglePayloadSummary(
|
||||
payloads: ReturnType<typeof buildPayloads>,
|
||||
expected: { text: string; isError?: boolean },
|
||||
) {
|
||||
expectSinglePayloadText(payloads, expected.text);
|
||||
if (expected.isError === undefined) {
|
||||
expect(payloads[0]?.isError).toBeUndefined();
|
||||
return;
|
||||
}
|
||||
expect(payloads[0]?.isError).toBe(expected.isError);
|
||||
}
|
||||
|
||||
function expectNoPayloads(params: Parameters<typeof buildPayloads>[0]) {
|
||||
const payloads = buildPayloads(params);
|
||||
expect(payloads).toHaveLength(0);
|
||||
@ -100,9 +112,10 @@ describe("buildEmbeddedRunPayloads", () => {
|
||||
model: "claude-3-5-sonnet",
|
||||
});
|
||||
|
||||
expect(payloads).toHaveLength(1);
|
||||
expect(payloads[0]?.text).toBe(formatBillingErrorMessage("Anthropic", "claude-3-5-sonnet"));
|
||||
expect(payloads[0]?.isError).toBe(true);
|
||||
expectSinglePayloadSummary(payloads, {
|
||||
text: formatBillingErrorMessage("Anthropic", "claude-3-5-sonnet"),
|
||||
isError: true,
|
||||
});
|
||||
});
|
||||
|
||||
it("does not emit a synthetic billing error for successful turns with stale errorMessage", () => {
|
||||
@ -242,9 +255,9 @@ describe("buildEmbeddedRunPayloads", () => {
|
||||
lastToolError: { toolName: "browser", error: "connection timeout" },
|
||||
});
|
||||
|
||||
expect(payloads).toHaveLength(1);
|
||||
expect(payloads[0]?.isError).toBeUndefined();
|
||||
expect(payloads[0]?.text).toContain("recovered");
|
||||
expectSinglePayloadSummary(payloads, {
|
||||
text: "Checked the page and recovered with final answer.",
|
||||
});
|
||||
});
|
||||
|
||||
it("suppresses recoverable tool errors containing 'required' for non-mutating tools", () => {
|
||||
@ -335,8 +348,7 @@ describe("buildEmbeddedRunPayloads", () => {
|
||||
},
|
||||
});
|
||||
|
||||
expect(payloads).toHaveLength(1);
|
||||
expect(payloads[0]?.text).toBe("Status loaded.");
|
||||
expectSinglePayloadSummary(payloads, { text: "Status loaded." });
|
||||
});
|
||||
|
||||
it("dedupes identical tool warning text already present in assistant output", () => {
|
||||
@ -360,8 +372,7 @@ describe("buildEmbeddedRunPayloads", () => {
|
||||
},
|
||||
});
|
||||
|
||||
expect(payloads).toHaveLength(1);
|
||||
expect(payloads[0]?.text).toBe(warningText);
|
||||
expectSinglePayloadSummary(payloads, { text: warningText ?? "" });
|
||||
});
|
||||
|
||||
it("includes non-recoverable tool error details when verbose mode is on", () => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user