test: update test fixtures for oh-my-openagent primary name
This commit is contained in:
@@ -15,7 +15,7 @@ describe("detectCurrentConfig - single package detection", () => {
|
|||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
testConfigDir = join(tmpdir(), `omo-detect-config-${Date.now()}-${Math.random().toString(36).slice(2)}`)
|
testConfigDir = join(tmpdir(), `omo-detect-config-${Date.now()}-${Math.random().toString(36).slice(2)}`)
|
||||||
testConfigPath = join(testConfigDir, "opencode.json")
|
testConfigPath = join(testConfigDir, "opencode.json")
|
||||||
testOmoConfigPath = join(testConfigDir, "oh-my-opencode.json")
|
testOmoConfigPath = join(testConfigDir, "oh-my-openagent.json")
|
||||||
|
|
||||||
mkdirSync(testConfigDir, { recursive: true })
|
mkdirSync(testConfigDir, { recursive: true })
|
||||||
process.env.OPENCODE_CONFIG_DIR = testConfigDir
|
process.env.OPENCODE_CONFIG_DIR = testConfigDir
|
||||||
@@ -28,31 +28,7 @@ describe("detectCurrentConfig - single package detection", () => {
|
|||||||
delete process.env.OPENCODE_CONFIG_DIR
|
delete process.env.OPENCODE_CONFIG_DIR
|
||||||
})
|
})
|
||||||
|
|
||||||
it("detects oh-my-opencode in plugin array", () => {
|
it("detects oh-my-openagent in plugin array", () => {
|
||||||
// given
|
|
||||||
const config = { plugin: ["oh-my-opencode"] }
|
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
|
||||||
|
|
||||||
// when
|
|
||||||
const result = detectCurrentConfig()
|
|
||||||
|
|
||||||
// then
|
|
||||||
expect(result.isInstalled).toBe(true)
|
|
||||||
})
|
|
||||||
|
|
||||||
it("detects oh-my-opencode with version pin", () => {
|
|
||||||
// given
|
|
||||||
const config = { plugin: ["oh-my-opencode@3.11.0"] }
|
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
|
||||||
|
|
||||||
// when
|
|
||||||
const result = detectCurrentConfig()
|
|
||||||
|
|
||||||
// then
|
|
||||||
expect(result.isInstalled).toBe(true)
|
|
||||||
})
|
|
||||||
|
|
||||||
it("detects oh-my-openagent as installed (legacy name)", () => {
|
|
||||||
// given
|
// given
|
||||||
const config = { plugin: ["oh-my-openagent"] }
|
const config = { plugin: ["oh-my-openagent"] }
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
@@ -64,7 +40,7 @@ describe("detectCurrentConfig - single package detection", () => {
|
|||||||
expect(result.isInstalled).toBe(true)
|
expect(result.isInstalled).toBe(true)
|
||||||
})
|
})
|
||||||
|
|
||||||
it("detects oh-my-openagent with version pin as installed (legacy name)", () => {
|
it("detects oh-my-openagent with version pin", () => {
|
||||||
// given
|
// given
|
||||||
const config = { plugin: ["oh-my-openagent@3.11.0"] }
|
const config = { plugin: ["oh-my-openagent@3.11.0"] }
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
@@ -76,6 +52,30 @@ describe("detectCurrentConfig - single package detection", () => {
|
|||||||
expect(result.isInstalled).toBe(true)
|
expect(result.isInstalled).toBe(true)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it("detects oh-my-opencode as installed (legacy name)", () => {
|
||||||
|
// given
|
||||||
|
const config = { plugin: ["oh-my-opencode"] }
|
||||||
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
|
|
||||||
|
// when
|
||||||
|
const result = detectCurrentConfig()
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(result.isInstalled).toBe(true)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("detects oh-my-opencode with version pin as installed (legacy name)", () => {
|
||||||
|
// given
|
||||||
|
const config = { plugin: ["oh-my-opencode@3.11.0"] }
|
||||||
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
|
|
||||||
|
// when
|
||||||
|
const result = detectCurrentConfig()
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(result.isInstalled).toBe(true)
|
||||||
|
})
|
||||||
|
|
||||||
it("returns false when plugin not present", () => {
|
it("returns false when plugin not present", () => {
|
||||||
// given
|
// given
|
||||||
const config = { plugin: ["some-other-plugin"] }
|
const config = { plugin: ["some-other-plugin"] }
|
||||||
@@ -89,7 +89,7 @@ describe("detectCurrentConfig - single package detection", () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it("returns false when plugin not present (even with similar name)", () => {
|
it("returns false when plugin not present (even with similar name)", () => {
|
||||||
// given - not exactly oh-my-openagent
|
// given
|
||||||
const config = { plugin: ["oh-my-openagent-extra"] }
|
const config = { plugin: ["oh-my-openagent-extra"] }
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ describe("detectCurrentConfig - single package detection", () => {
|
|||||||
|
|
||||||
it("detects OpenCode Go from the existing omo config", () => {
|
it("detects OpenCode Go from the existing omo config", () => {
|
||||||
// given
|
// given
|
||||||
writeFileSync(testConfigPath, JSON.stringify({ plugin: ["oh-my-opencode"] }, null, 2) + "\n", "utf-8")
|
writeFileSync(testConfigPath, JSON.stringify({ plugin: ["oh-my-openagent"] }, null, 2) + "\n", "utf-8")
|
||||||
writeFileSync(
|
writeFileSync(
|
||||||
testOmoConfigPath,
|
testOmoConfigPath,
|
||||||
JSON.stringify({ agents: { atlas: { model: "opencode-go/kimi-k2.5" } } }, null, 2) + "\n",
|
JSON.stringify({ agents: { atlas: { model: "opencode-go/kimi-k2.5" } } }, null, 2) + "\n",
|
||||||
@@ -137,36 +137,7 @@ describe("addPluginToOpenCodeConfig - single package writes", () => {
|
|||||||
delete process.env.OPENCODE_CONFIG_DIR
|
delete process.env.OPENCODE_CONFIG_DIR
|
||||||
})
|
})
|
||||||
|
|
||||||
it("keeps oh-my-opencode when it already exists", async () => {
|
it("keeps oh-my-openagent when it already exists", async () => {
|
||||||
// given
|
|
||||||
const config = { plugin: ["oh-my-opencode"] }
|
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
|
||||||
|
|
||||||
// when
|
|
||||||
const result = await addPluginToOpenCodeConfig("3.11.0")
|
|
||||||
|
|
||||||
// then
|
|
||||||
expect(result.success).toBe(true)
|
|
||||||
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
|
||||||
expect(savedConfig.plugin).toContain("oh-my-opencode")
|
|
||||||
})
|
|
||||||
|
|
||||||
it("replaces version-pinned oh-my-opencode@X.Y.Z", async () => {
|
|
||||||
// given
|
|
||||||
const config = { plugin: ["oh-my-opencode@3.10.0"] }
|
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
|
||||||
|
|
||||||
// when
|
|
||||||
const result = await addPluginToOpenCodeConfig("3.11.0")
|
|
||||||
|
|
||||||
// then
|
|
||||||
expect(result.success).toBe(true)
|
|
||||||
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
|
||||||
expect(savedConfig.plugin).toContain("oh-my-opencode")
|
|
||||||
expect(savedConfig.plugin).not.toContain("oh-my-opencode@3.10.0")
|
|
||||||
})
|
|
||||||
|
|
||||||
it("recognizes oh-my-openagent as already installed (legacy name)", async () => {
|
|
||||||
// given
|
// given
|
||||||
const config = { plugin: ["oh-my-openagent"] }
|
const config = { plugin: ["oh-my-openagent"] }
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
@@ -177,12 +148,10 @@ describe("addPluginToOpenCodeConfig - single package writes", () => {
|
|||||||
// then
|
// then
|
||||||
expect(result.success).toBe(true)
|
expect(result.success).toBe(true)
|
||||||
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
||||||
// Should upgrade to new name
|
expect(savedConfig.plugin).toContain("oh-my-openagent")
|
||||||
expect(savedConfig.plugin).toContain("oh-my-opencode")
|
|
||||||
expect(savedConfig.plugin).not.toContain("oh-my-openagent")
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("replaces version-pinned oh-my-openagent@X.Y.Z with new name", async () => {
|
it("replaces version-pinned oh-my-openagent@X.Y.Z", async () => {
|
||||||
// given
|
// given
|
||||||
const config = { plugin: ["oh-my-openagent@3.10.0"] }
|
const config = { plugin: ["oh-my-openagent@3.10.0"] }
|
||||||
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
@@ -190,12 +159,43 @@ describe("addPluginToOpenCodeConfig - single package writes", () => {
|
|||||||
// when
|
// when
|
||||||
const result = await addPluginToOpenCodeConfig("3.11.0")
|
const result = await addPluginToOpenCodeConfig("3.11.0")
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(result.success).toBe(true)
|
||||||
|
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
||||||
|
expect(savedConfig.plugin).toContain("oh-my-openagent")
|
||||||
|
expect(savedConfig.plugin).not.toContain("oh-my-openagent@3.10.0")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("recognizes oh-my-opencode as already installed (legacy name)", async () => {
|
||||||
|
// given
|
||||||
|
const config = { plugin: ["oh-my-opencode"] }
|
||||||
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
|
|
||||||
|
// when
|
||||||
|
const result = await addPluginToOpenCodeConfig("3.11.0")
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(result.success).toBe(true)
|
||||||
|
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
||||||
|
// Should upgrade to new name
|
||||||
|
expect(savedConfig.plugin).toContain("oh-my-openagent")
|
||||||
|
expect(savedConfig.plugin).not.toContain("oh-my-opencode")
|
||||||
|
})
|
||||||
|
|
||||||
|
it("replaces version-pinned oh-my-opencode@X.Y.Z with new name", async () => {
|
||||||
|
// given
|
||||||
|
const config = { plugin: ["oh-my-opencode@3.10.0"] }
|
||||||
|
writeFileSync(testConfigPath, JSON.stringify(config, null, 2) + "\n", "utf-8")
|
||||||
|
|
||||||
|
// when
|
||||||
|
const result = await addPluginToOpenCodeConfig("3.11.0")
|
||||||
|
|
||||||
// then
|
// then
|
||||||
expect(result.success).toBe(true)
|
expect(result.success).toBe(true)
|
||||||
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
||||||
// Legacy should be replaced with new name
|
// Legacy should be replaced with new name
|
||||||
expect(savedConfig.plugin).toContain("oh-my-opencode")
|
expect(savedConfig.plugin).toContain("oh-my-openagent")
|
||||||
expect(savedConfig.plugin).not.toContain("oh-my-openagent")
|
expect(savedConfig.plugin).not.toContain("oh-my-opencode")
|
||||||
})
|
})
|
||||||
|
|
||||||
it("adds new plugin when none exists", async () => {
|
it("adds new plugin when none exists", async () => {
|
||||||
@@ -209,7 +209,7 @@ describe("addPluginToOpenCodeConfig - single package writes", () => {
|
|||||||
// then
|
// then
|
||||||
expect(result.success).toBe(true)
|
expect(result.success).toBe(true)
|
||||||
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
||||||
expect(savedConfig.plugin).toContain("oh-my-opencode")
|
expect(savedConfig.plugin).toContain("oh-my-openagent")
|
||||||
})
|
})
|
||||||
|
|
||||||
it("adds plugin when plugin array is empty", async () => {
|
it("adds plugin when plugin array is empty", async () => {
|
||||||
@@ -223,6 +223,6 @@ describe("addPluginToOpenCodeConfig - single package writes", () => {
|
|||||||
// then
|
// then
|
||||||
expect(result.success).toBe(true)
|
expect(result.success).toBe(true)
|
||||||
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
const savedConfig = JSON.parse(readFileSync(testConfigPath, "utf-8"))
|
||||||
expect(savedConfig.plugin).toContain("oh-my-opencode")
|
expect(savedConfig.plugin).toContain("oh-my-openagent")
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { describe, expect, it } from "bun:test"
|
import { describe, expect, it } from "bun:test"
|
||||||
import type { OhMyOpenCodeConfig } from "../../config"
|
import type { OhMyOpenAgentConfig } from "../../config"
|
||||||
import type { ModelCacheState } from "../../plugin-state"
|
import type { ModelCacheState } from "../../plugin-state"
|
||||||
import type { PluginContext } from "../types"
|
import type { PluginContext } from "../types"
|
||||||
import { createSessionHooks } from "./create-session-hooks"
|
import { createSessionHooks } from "./create-session-hooks"
|
||||||
@@ -22,7 +22,7 @@ const mockModelCacheState = {} as ModelCacheState
|
|||||||
describe("createSessionHooks", () => {
|
describe("createSessionHooks", () => {
|
||||||
it("keeps model fallback disabled when config is unset", () => {
|
it("keeps model fallback disabled when config is unset", () => {
|
||||||
// given
|
// given
|
||||||
const pluginConfig = {} as OhMyOpenCodeConfig
|
const pluginConfig = {} as OhMyOpenAgentConfig
|
||||||
|
|
||||||
// when
|
// when
|
||||||
const result = createSessionHooks({
|
const result = createSessionHooks({
|
||||||
@@ -39,7 +39,7 @@ describe("createSessionHooks", () => {
|
|||||||
|
|
||||||
it("creates model fallback hook when config explicitly enables it", () => {
|
it("creates model fallback hook when config explicitly enables it", () => {
|
||||||
// given
|
// given
|
||||||
const pluginConfig = { model_fallback: true } as OhMyOpenCodeConfig
|
const pluginConfig = { model_fallback: true } as OhMyOpenAgentConfig
|
||||||
|
|
||||||
// when
|
// when
|
||||||
const result = createSessionHooks({
|
const result = createSessionHooks({
|
||||||
|
|||||||
Reference in New Issue
Block a user