diff --git a/src/features/claude-code-agent-loader/opencode-config-agents-reader.test.ts b/src/features/claude-code-agent-loader/opencode-config-agents-reader.test.ts index 1f7a48deb..e90bc2519 100644 --- a/src/features/claude-code-agent-loader/opencode-config-agents-reader.test.ts +++ b/src/features/claude-code-agent-loader/opencode-config-agents-reader.test.ts @@ -1,23 +1,22 @@ -import { describe, expect, it, beforeEach, afterEach } from "bun:test" -import { mock } from "bun:test" +import { describe, expect, it, beforeEach, afterEach, spyOn } from "bun:test" import * as fs from "node:fs" import * as os from "node:os" import * as path from "node:path" -// Mock getOpenCodeConfigDir to prevent global config leakage -let mockGlobalConfigDir: string -mock.module("../../shared/opencode-config-dir", () => ({ - getOpenCodeConfigDir: () => mockGlobalConfigDir, -})) - -const { readOpencodeConfigAgents } = require("./opencode-config-agents-reader") +import * as configDir from "../../shared/opencode-config-dir" +import { readOpencodeConfigAgents } from "./opencode-config-agents-reader" describe("readOpencodeConfigAgents", () => { + let mockGlobalConfigDir = "" + let configDirSpy: ReturnType + beforeEach(() => { mockGlobalConfigDir = fs.mkdtempSync(path.join(os.tmpdir(), "opencode-mock-global-")) + configDirSpy = spyOn(configDir, "getOpenCodeConfigDir").mockReturnValue(mockGlobalConfigDir) }) afterEach(() => { + configDirSpy.mockRestore() fs.rmSync(mockGlobalConfigDir, { recursive: true, force: true }) })