import { describe, expect, it } from "bun:test" /** * Tests for conditional tool registration logic in index.ts * * The actual plugin initialization is complex to test directly, * so we test the underlying logic that determines tool registration. */ describe("look_at tool conditional registration", () => { describe("isMultimodalLookerEnabled logic", () => { // #given multimodal-looker is in disabled_agents // #when checking if agent is enabled // #then should return false (disabled) it("returns false when multimodal-looker is disabled (exact case)", () => { const disabledAgents: string[] = ["multimodal-looker"] const isEnabled = !disabledAgents.some( (agent) => agent.toLowerCase() === "multimodal-looker" ) expect(isEnabled).toBe(false) }) // #given multimodal-looker is in disabled_agents with different case // #when checking if agent is enabled // #then should return false (case-insensitive match) it("returns false when multimodal-looker is disabled (case-insensitive)", () => { const disabledAgents: string[] = ["Multimodal-Looker"] const isEnabled = !disabledAgents.some( (agent) => agent.toLowerCase() === "multimodal-looker" ) expect(isEnabled).toBe(false) }) // #given multimodal-looker is NOT in disabled_agents // #when checking if agent is enabled // #then should return true (enabled) it("returns true when multimodal-looker is not disabled", () => { const disabledAgents: string[] = ["oracle", "librarian"] const isEnabled = !disabledAgents.some( (agent) => agent.toLowerCase() === "multimodal-looker" ) expect(isEnabled).toBe(true) }) // #given disabled_agents is empty // #when checking if agent is enabled // #then should return true (enabled by default) it("returns true when disabled_agents is empty", () => { const disabledAgents: string[] = [] const isEnabled = !disabledAgents.some( (agent) => agent.toLowerCase() === "multimodal-looker" ) expect(isEnabled).toBe(true) }) // #given disabled_agents is undefined (simulated as empty array) // #when checking if agent is enabled // #then should return true (enabled by default) it("returns true when disabled_agents is undefined (fallback to empty)", () => { const disabledAgents: string[] | undefined = undefined const list: string[] = disabledAgents ?? [] const isEnabled = !list.some( (agent) => agent.toLowerCase() === "multimodal-looker" ) expect(isEnabled).toBe(true) }) }) describe("conditional tool spread pattern", () => { // #given lookAt is not null (agent enabled) // #when spreading into tool object // #then look_at should be included it("includes look_at when lookAt is not null", () => { const lookAt = { execute: () => {} } // mock tool const tools = { ...(lookAt ? { look_at: lookAt } : {}), } expect(tools).toHaveProperty("look_at") }) // #given lookAt is null (agent disabled) // #when spreading into tool object // #then look_at should NOT be included it("excludes look_at when lookAt is null", () => { const lookAt = null const tools = { ...(lookAt ? { look_at: lookAt } : {}), } expect(tools).not.toHaveProperty("look_at") }) }) })