opencode/packages/tui/test/util/presentation.test.ts
opencode-agent[bot] 58d5c02e03
feat(tui): tell users to start OpenCode again after an update restart (#58139)
Co-authored-by: vimtor <36263538+vimtor@users.noreply.github.com>
2026-10-22 17:23:18 +02:00

30 lines
1 KiB
TypeScript

import { expect, test } from "bun:test"
import { epilogue } from "../../src/util/presentation"
const rows = (text: string | undefined) =>
Bun.stripANSI(text ?? "")
.split("\n")
.filter((line) => line.trim() && !/[▀▄█]/.test(line))
test("prints nothing without a session or update", () => {
expect(epilogue({})).toBeUndefined()
})
test("formats session continuation summary", () => {
expect(rows(epilogue({ session: { title: "A session", sessionID: "ses_123" } }))).toEqual([
" Session A session",
" Continue opencode -s ses_123",
])
})
test("tells the user to start OpenCode again after an update", () => {
expect(rows(epilogue({ updatedVersion: "2.0.0" }))).toEqual([" Run opencode to use 2.0.0"])
})
test("keeps the session continuation after an update", () => {
expect(rows(epilogue({ session: { title: "A session", sessionID: "ses_123" }, updatedVersion: "2.0.0" }))).toEqual([
" Run opencode to use 2.0.0",
" Session A session",
" Continue opencode -s ses_123",
])
})