24 lines
925 B
TypeScript
24 lines
925 B
TypeScript
import { describe, expect, it } from "vitest";
|
|
import type { AgentStreamEventPayload } from "@server/shared/messages";
|
|
import { deriveOptimisticLifecycleStatus } from "./session-stream-lifecycle";
|
|
|
|
const turnCompletedEvent: AgentStreamEventPayload = {
|
|
type: "turn_completed",
|
|
provider: "claude",
|
|
};
|
|
|
|
const turnFailedEvent: AgentStreamEventPayload = {
|
|
type: "turn_failed",
|
|
provider: "claude",
|
|
error: "failed",
|
|
};
|
|
|
|
describe("session stream lifecycle helpers", () => {
|
|
it("derives optimistic terminal lifecycle only when current status is running", () => {
|
|
expect(deriveOptimisticLifecycleStatus("running", turnCompletedEvent)).toBe("idle");
|
|
expect(deriveOptimisticLifecycleStatus("running", turnFailedEvent)).toBe("error");
|
|
expect(deriveOptimisticLifecycleStatus("initializing", turnCompletedEvent)).toBe(null);
|
|
expect(deriveOptimisticLifecycleStatus("idle", turnFailedEvent)).toBe(null);
|
|
});
|
|
});
|