import { beforeAll, describe, expect, mock, test } from "bun:test" let getWorkspaceTerminalCacheKey: (dir: string) => string let getLegacyTerminalStorageKeys: (dir: string, legacySessionID?: string) => string[] beforeAll(async () => { mock.module("@solidjs/router", () => ({ useParams: () => ({}), })) mock.module("@opencode-ai/ui/context", () => ({ createSimpleContext: () => ({ use: () => undefined, provider: () => undefined, }), })) const mod = await import("./terminal") getWorkspaceTerminalCacheKey = mod.getWorkspaceTerminalCacheKey getLegacyTerminalStorageKeys = mod.getLegacyTerminalStorageKeys }) describe("getWorkspaceTerminalCacheKey", () => { test("uses workspace-only directory cache key", () => { expect(getWorkspaceTerminalCacheKey("/repo")).toBe("/repo:__workspace__") }) }) describe("getLegacyTerminalStorageKeys", () => { test("keeps workspace storage path when no legacy session id", () => { expect(getLegacyTerminalStorageKeys("/repo")).toEqual(["/repo/terminal.v1"]) }) test("includes legacy session path before workspace path", () => { expect(getLegacyTerminalStorageKeys("/repo", "session-123")).toEqual([ "/repo/terminal/session-123.v1", "/repo/terminal.v1", ]) }) })