openclaw/src/agents/pi-embedded-subscribe.lifecycle-billing-error.test.ts
2026-02-22 17:11:54 +00:00

37 lines
1.2 KiB
TypeScript

import { describe, expect, it, vi } from "vitest";
import {
createSubscribedSessionHarness,
emitAssistantLifecycleErrorAndEnd,
findLifecycleErrorAgentEvent,
} from "./pi-embedded-subscribe.e2e-harness.js";
describe("subscribeEmbeddedPiSession lifecycle billing errors", () => {
function createAgentEventHarness(options?: { runId?: string; sessionKey?: string }) {
const onAgentEvent = vi.fn();
const { emit } = createSubscribedSessionHarness({
runId: options?.runId ?? "run",
sessionKey: options?.sessionKey,
onAgentEvent,
});
return { emit, onAgentEvent };
}
it("includes provider and model context in lifecycle billing errors", () => {
const { emit, onAgentEvent } = createAgentEventHarness({
runId: "run-billing-error",
sessionKey: "test-session",
});
emitAssistantLifecycleErrorAndEnd({
emit,
errorMessage: "insufficient credits",
provider: "Anthropic",
model: "claude-3-5-sonnet",
});
const lifecycleError = findLifecycleErrorAgentEvent(onAgentEvent.mock.calls);
expect(lifecycleError).toBeDefined();
expect(lifecycleError?.data?.error).toContain("Anthropic (claude-3-5-sonnet)");
});
});