Files
openwork/apps/app/tests/current-tool-lifecycle.test.ts

23 lines
1.0 KiB
TypeScript

import { describe, expect, test } from "bun:test"
import { resolveCurrentToolLifecycle } from "@/lib/current-tool-lifecycle"
describe("resolveCurrentToolLifecycle", () => {
test("only active current-turn tools remain running", () => {
expect(resolveCurrentToolLifecycle("thinking", true, true)).toBe("running")
expect(resolveCurrentToolLifecycle("responding", true, true)).toBe("running")
expect(resolveCurrentToolLifecycle("compacting", true, true)).toBe("running")
})
test("unfinished current-turn tools expose waiting and interrupted outcomes", () => {
expect(resolveCurrentToolLifecycle("waiting", true, true)).toBe("waiting")
expect(resolveCurrentToolLifecycle("idle", true, true)).toBe("interrupted")
expect(resolveCurrentToolLifecycle("error", true, true)).toBe("interrupted")
})
test("does not rewrite completed or historical tool calls", () => {
expect(resolveCurrentToolLifecycle("idle", true, false)).toBeNull()
expect(resolveCurrentToolLifecycle("responding", false, true)).toBeNull()
})
})