Files
oh-my-opencode/src/shared/first-message-variant.test.ts
T

33 lines
821 B
TypeScript
Raw Normal View History

2026-01-10 21:44:20 +00:00
import { describe, expect, test } from "bun:test"
import { createFirstMessageVariantGate } from "./first-message-variant"
describe("createFirstMessageVariantGate", () => {
test("marks new sessions and clears after apply", () => {
// given
2026-01-10 21:44:20 +00:00
const gate = createFirstMessageVariantGate()
// when
2026-01-10 21:44:20 +00:00
gate.markSessionCreated({ id: "session-1" })
// then
2026-01-10 21:44:20 +00:00
expect(gate.shouldOverride("session-1")).toBe(true)
// when
2026-01-10 21:44:20 +00:00
gate.markApplied("session-1")
// then
2026-01-10 21:44:20 +00:00
expect(gate.shouldOverride("session-1")).toBe(false)
})
test("ignores forked sessions", () => {
// given
2026-01-10 21:44:20 +00:00
const gate = createFirstMessageVariantGate()
// when
2026-01-10 21:44:20 +00:00
gate.markSessionCreated({ id: "session-2", parentID: "session-parent" })
// then
2026-01-10 21:44:20 +00:00
expect(gate.shouldOverride("session-2")).toBe(false)
})
})