copilot-api / tests /logger.test.ts
imspsycho's picture
Initial upload from Google Colab
98c9143 verified
Raw
History Blame Contribute Delete
1.28 kB
import { afterEach, expect, mock, test } from "bun:test"
import { debugJson, debugJsonTail } from "../src/lib/logger"
import { state } from "../src/lib/state"
afterEach(() => {
state.verbose = false
})
test("debugJson skips serialization when verbose logging is disabled", () => {
state.verbose = false
const logger = {
debug: mock(() => {}),
}
const toJSON = mock(() => ({ ok: true }))
debugJson(logger as never, "payload", { toJSON })
expect(toJSON).not.toHaveBeenCalled()
expect(logger.debug).not.toHaveBeenCalled()
})
test("debugJson logs the serialized payload when verbose logging is enabled", () => {
state.verbose = true
const logger = {
debug: mock(() => {}),
}
const payload = { ok: true }
debugJson(logger as never, "payload", payload)
expect(logger.debug).toHaveBeenCalledWith("payload", JSON.stringify(payload))
})
test("debugJsonTail preserves tail truncation behavior", () => {
state.verbose = true
const logger = {
debug: mock(() => {}),
}
const payload = { text: "abcdefghijklmnopqrstuvwxyz" }
const expected = JSON.stringify(payload).slice(-10)
debugJsonTail(logger as never, "payload", { value: payload, tailLength: 10 })
expect(logger.debug).toHaveBeenCalledWith("payload", expected)
})