diff --git a/src/services/code-index/__tests__/orchestrator.spec.ts b/src/services/code-index/__tests__/orchestrator.spec.ts index b7b478c43e..f12d84ed7f 100644 --- a/src/services/code-index/__tests__/orchestrator.spec.ts +++ b/src/services/code-index/__tests__/orchestrator.spec.ts @@ -217,7 +217,7 @@ describe("CodeIndexOrchestrator - error path cleanup gating", () => { getProviderSettings: vi.fn().mockReturnValue({}), setProviderSettings: vi.fn(), } - const mgr = new configManagerModule.CodeIndexConfigManager(mockContextProxy) + const mgr = new configManagerModule.CodeIndexConfigManager(mockContextProxy as any) await mgr.loadConfiguration() const requiresRestart = mgr.doesConfigChangeRequireRestart(prev) expect(requiresRestart).toBe(true) diff --git a/webview-ui/src/components/chat/__tests__/CodeIndexPopover.auto-populate.spec.tsx b/webview-ui/src/components/chat/__tests__/CodeIndexPopover.auto-populate.spec.tsx index 658b0ab529..ecf2b233cf 100644 --- a/webview-ui/src/components/chat/__tests__/CodeIndexPopover.auto-populate.spec.tsx +++ b/webview-ui/src/components/chat/__tests__/CodeIndexPopover.auto-populate.spec.tsx @@ -309,59 +309,6 @@ describe("CodeIndexPopover - Auto-population Feature Logic", () => { awsProfile: "default", } - /** - * UI/component tests for codebaseIndexOpenRouterEmbedderBaseUrl field - */ - describe("CodeIndexPopover - OpenRouter Embedder Base URL Field", () => { - /** - * Test 1: Renders VSCodeTextField for codebaseIndexOpenRouterEmbedderBaseUrl - */ - test("renders VSCodeTextField for codebaseIndexOpenRouterEmbedderBaseUrl", () => { - const settings = { - codebaseIndexEmbedderProvider: "openrouter", - codebaseIndexOpenRouterEmbedderBaseUrl: "https://openrouter.ai/api/v1", - } - const rendered = `` - expect(rendered).toContain('data-testid="openrouter-base-url"') - expect(rendered).toContain(settings.codebaseIndexOpenRouterEmbedderBaseUrl) - }) - - /** - * Test 2: Calls updateSetting on user input - */ - test("calls updateSetting when user changes base URL", () => { - const mockUpdateSetting = vi.fn() - const event = { target: { value: "https://custom.openrouter.ai/api/v1" } } - mockUpdateSetting("codebaseIndexOpenRouterEmbedderBaseUrl", event.target.value) - expect(mockUpdateSetting).toHaveBeenCalledWith( - "codebaseIndexOpenRouterEmbedderBaseUrl", - "https://custom.openrouter.ai/api/v1", - ) - }) - - /** - * Test 3: Validation error shown for invalid URL - */ - test("shows validation error for invalid OpenRouter base URL", () => { - const invalidUrl = "not-a-url" - const formErrors = { codebaseIndexOpenRouterEmbedderBaseUrl: "Invalid URL" } - const rendered = `` - expect(rendered).toContain("border-red-500") - expect(formErrors.codebaseIndexOpenRouterEmbedderBaseUrl).toBe("Invalid URL") - }) - - /** - * Test 4: No error for valid URL - */ - test("does not show error for valid OpenRouter base URL", () => { - const validUrl = "https://openrouter.ai/api/v1" - const formErrors: Record = {} - const rendered = `` - expect(rendered).not.toContain("border-red-500") - expect(formErrors.codebaseIndexOpenRouterEmbedderBaseUrl).toBeUndefined() - }) - }) - // Simulate the onValueChange logic const value = "bedrock" @@ -383,3 +330,56 @@ describe("CodeIndexPopover - Auto-population Feature Logic", () => { expect(mockUpdateSetting).toHaveBeenCalledTimes(1) }) }) + +/** + * UI/component tests for codebaseIndexOpenRouterEmbedderBaseUrl field + */ +describe("CodeIndexPopover - OpenRouter Embedder Base URL Field", () => { + /** + * Test 1: Renders VSCodeTextField for codebaseIndexOpenRouterEmbedderBaseUrl + */ + test("renders VSCodeTextField for codebaseIndexOpenRouterEmbedderBaseUrl", () => { + const settings = { + codebaseIndexEmbedderProvider: "openrouter", + codebaseIndexOpenRouterEmbedderBaseUrl: "https://openrouter.ai/api/v1", + } + const rendered = `` + expect(rendered).toContain('data-testid="openrouter-base-url"') + expect(rendered).toContain(settings.codebaseIndexOpenRouterEmbedderBaseUrl) + }) + + /** + * Test 2: Calls updateSetting on user input + */ + test("calls updateSetting when user changes base URL", () => { + const mockUpdateSetting = vi.fn() + const event = { target: { value: "https://custom.openrouter.ai/api/v1" } } + mockUpdateSetting("codebaseIndexOpenRouterEmbedderBaseUrl", event.target.value) + expect(mockUpdateSetting).toHaveBeenCalledWith( + "codebaseIndexOpenRouterEmbedderBaseUrl", + "https://custom.openrouter.ai/api/v1", + ) + }) + + /** + * Test 3: Validation error shown for invalid URL + */ + test("shows validation error for invalid OpenRouter base URL", () => { + const invalidUrl = "not-a-url" + const formErrors = { codebaseIndexOpenRouterEmbedderBaseUrl: "Invalid URL" } + const rendered = `` + expect(rendered).toContain("border-red-500") + expect(formErrors.codebaseIndexOpenRouterEmbedderBaseUrl).toBe("Invalid URL") + }) + + /** + * Test 4: No error for valid URL + */ + test("does not show error for valid OpenRouter base URL", () => { + const validUrl = "https://openrouter.ai/api/v1" + const formErrors: Record = {} + const rendered = `` + expect(rendered).not.toContain("border-red-500") + expect(formErrors.codebaseIndexOpenRouterEmbedderBaseUrl).toBeUndefined() + }) +})