diff --git a/src/helpers/llm.test.ts b/src/helpers/llm.test.ts index 17800b5..3b4643d 100644 --- a/src/helpers/llm.test.ts +++ b/src/helpers/llm.test.ts @@ -1,4 +1,9 @@ -import { getCompletion, getOpenAi, getSimpleCompletion } from './llm'; +import { + getCompletion, + getOpenAi, + getSimpleCompletion, + getFileSuggestion, +} from './llm'; import { KnownError } from './error'; import { expect, describe, it, vi } from 'vitest'; import OpenAI from 'openai'; @@ -177,3 +182,28 @@ describe('getCompletion', () => { expect(stdErrWriteMock).toHaveBeenCalledWith(gray('World')); }); }); + +describe('getFileSuggestion', () => { + it('should return a valid file suggestion based on input', async () => { + mocks.getConfig.mockResolvedValue({ + ...defaultConfig, + MODEL: 'gpt-4o', + }); + mocks.create.mockResolvedValueOnce({ + choices: [ + { + message: { + tool_calls: [ + { function: { arguments: '{ "filePath": "/src/add.test.ts"}' } }, + ], + }, + }, + ], + }); + const prompt = 'a function that adds numbers'; + const fileString = 'src/add.ts\nsrc/subtract.ts\nsrc/multiply.ts'; + const expectedResult = 'src/add.test.ts'; + const result = await getFileSuggestion(prompt, fileString); + expect(result).to.equal(expectedResult); + }); +});