diff --git a/src/services/code-index/__tests__/manager.spec.ts b/src/services/code-index/__tests__/manager.spec.ts index 929f6f93c8..ec61cd9bfd 100644 --- a/src/services/code-index/__tests__/manager.spec.ts +++ b/src/services/code-index/__tests__/manager.spec.ts @@ -307,6 +307,7 @@ describe("CodeIndexManager - handleSettingsChange regression", () => { // Mock service factory instance mockServiceFactoryInstance = { + createEmbedder: vi.fn().mockReturnValue(mockEmbedder), createServices: vi.fn().mockReturnValue({ embedder: mockEmbedder, vectorStore: mockVectorStore, @@ -349,9 +350,9 @@ describe("CodeIndexManager - handleSettingsChange regression", () => { await (manager as any)._recreateServices() // Assert + expect(mockServiceFactoryInstance.createEmbedder).toHaveBeenCalled() + expect(mockServiceFactoryInstance.validateEmbedder).toHaveBeenCalledWith(mockEmbedder) expect(mockServiceFactoryInstance.createServices).toHaveBeenCalled() - const createdEmbedder = mockServiceFactoryInstance.createServices.mock.results[0].value.embedder - expect(mockServiceFactoryInstance.validateEmbedder).toHaveBeenCalledWith(createdEmbedder) expect(mockStateManager.setSystemState).not.toHaveBeenCalledWith("Error", expect.any(String)) }) @@ -368,9 +369,8 @@ describe("CodeIndexManager - handleSettingsChange regression", () => { ) // Assert other expectations - expect(mockServiceFactoryInstance.createServices).toHaveBeenCalled() - const createdEmbedder = mockServiceFactoryInstance.createServices.mock.results[0].value.embedder - expect(mockServiceFactoryInstance.validateEmbedder).toHaveBeenCalledWith(createdEmbedder) + expect(mockServiceFactoryInstance.createEmbedder).toHaveBeenCalled() + expect(mockServiceFactoryInstance.validateEmbedder).toHaveBeenCalledWith(mockEmbedder) expect(mockStateManager.setSystemState).toHaveBeenCalledWith( "Error", "embeddings:validation.authenticationFailed", @@ -391,9 +391,8 @@ describe("CodeIndexManager - handleSettingsChange regression", () => { ) // Assert other expectations - expect(mockServiceFactoryInstance.createServices).toHaveBeenCalled() - const createdEmbedder = mockServiceFactoryInstance.createServices.mock.results[0].value.embedder - expect(mockServiceFactoryInstance.validateEmbedder).toHaveBeenCalledWith(createdEmbedder) + expect(mockServiceFactoryInstance.createEmbedder).toHaveBeenCalled() + expect(mockServiceFactoryInstance.validateEmbedder).toHaveBeenCalledWith(mockEmbedder) expect(mockStateManager.setSystemState).toHaveBeenCalledWith( "Error", "embeddings:validation.configurationError", @@ -401,8 +400,8 @@ describe("CodeIndexManager - handleSettingsChange regression", () => { }) it("should handle embedder creation failure", async () => { - // Arrange - mockServiceFactoryInstance.createServices.mockImplementation(() => { + // Arrange - createEmbedder is now called before createServices + mockServiceFactoryInstance.createEmbedder.mockImplementation(() => { throw new Error("Invalid configuration") }) @@ -500,6 +499,7 @@ describe("CodeIndexManager - handleSettingsChange regression", () => { it("should allow re-initialization after recovery", async () => { // Setup mock for re-initialization const mockServiceFactoryInstance = { + createEmbedder: vi.fn().mockReturnValue({ embedderInfo: { name: "openai" } }), createServices: vi.fn().mockReturnValue({ embedder: { embedderInfo: { name: "openai" } }, vectorStore: {},