diff --git a/libs/ai-assistant/src/lib/ai/ai.controller.spec.ts b/libs/ai-assistant/src/lib/ai/ai.controller.spec.ts index 9f07171..02648d0 100644 --- a/libs/ai-assistant/src/lib/ai/ai.controller.spec.ts +++ b/libs/ai-assistant/src/lib/ai/ai.controller.spec.ts @@ -1,6 +1,7 @@ import { AiController } from './ai.controller'; import { AiService } from './ai.service'; -import { mockFileData, transcriptionMock } from './ai.mock'; +import { mockBuffer, mockFileData, transcriptionMock } from './ai.mock'; +import { Response } from 'openai/core'; describe('AiController', () => { let aiController: AiController; @@ -13,6 +14,10 @@ describe('AiController', () => { jest .spyOn(aiService.provider.audio.transcriptions, 'create') .mockResolvedValue(transcriptionMock); + + jest.spyOn(aiService.provider.audio.speech, 'create').mockResolvedValue({ + arrayBuffer: jest.fn().mockResolvedValue(mockBuffer), + } as unknown as Response); }); afterEach(() => { @@ -27,10 +32,6 @@ describe('AiController', () => { }); it('should throw an error', async () => { - jest - .spyOn(aiService.provider.audio.transcriptions, 'create') - .mockRejectedValue(new Error()); - try { await aiController.postTranscription(mockFileData); } catch (error) { diff --git a/libs/ai-assistant/src/lib/ai/ai.service.ts b/libs/ai-assistant/src/lib/ai/ai.service.ts index f454616..e94e72e 100644 --- a/libs/ai-assistant/src/lib/ai/ai.service.ts +++ b/libs/ai-assistant/src/lib/ai/ai.service.ts @@ -6,7 +6,9 @@ import 'dotenv/config'; @Injectable() export class AiService { - provider = new OpenAI(); + provider = new OpenAI({ + apiKey: process.env['OPENAI_API_KEY'] || '', + }); async transcription(file: Uploadable): Promise { return this.provider.audio.transcriptions.create({ diff --git a/libs/ai-assistant/src/lib/assistant/assistant-memory.service.spec.ts b/libs/ai-assistant/src/lib/assistant/assistant-memory.service.spec.ts index 603da18..f798eee 100644 --- a/libs/ai-assistant/src/lib/assistant/assistant-memory.service.spec.ts +++ b/libs/ai-assistant/src/lib/assistant/assistant-memory.service.spec.ts @@ -1,6 +1,7 @@ import * as fs from 'fs'; import * as envfile from 'envfile'; import { AssistantMemoryService } from './assistant-memory.service'; +import { readFile } from 'fs/promises'; describe('AssistantMemoryService', () => { let assistantMemoryService: AssistantMemoryService; @@ -9,6 +10,14 @@ describe('AssistantMemoryService', () => { assistantMemoryService = new AssistantMemoryService(); jest.spyOn(fs.promises, 'writeFile').mockResolvedValue(); + jest.spyOn(fs.promises, 'readFile').mockResolvedValue({ + toString: jest.fn().mockReturnValue('ASSISTANT_ID=123\n'), + } as unknown as Buffer); + jest.mock('process', () => ({ + env: { + ASSISTANT_ID: '123', + }, + })); }); afterEach(() => { diff --git a/libs/ai-assistant/src/lib/run/run.service.spec.ts b/libs/ai-assistant/src/lib/run/run.service.spec.ts index 332d33c..894cb1f 100644 --- a/libs/ai-assistant/src/lib/run/run.service.spec.ts +++ b/libs/ai-assistant/src/lib/run/run.service.spec.ts @@ -128,6 +128,5 @@ describe('RunService', () => { afterEach(() => { jest.clearAllMocks(); - runService.isRunning = true; }); });