Skip to content

Commit

Permalink
Add unit tests for AgentService, including createInbox method scenarios.
Browse files Browse the repository at this point in the history
  • Loading branch information
gru-agent[bot] authored Feb 15, 2025
1 parent 525cf07 commit 9b1fe38
Showing 1 changed file with 65 additions and 0 deletions.
65 changes: 65 additions & 0 deletions src/server/services/agent/index.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// @vitest-environment node
import { beforeEach, describe, expect, it, vi } from 'vitest';

import { SessionModel } from '@/database/server/models/session';
import { parseAgentConfig } from '@/server/globalConfig/parseDefaultAgent';

import { AgentService } from './index';

vi.mock('@/config/app', () => ({
appEnv: {
DEFAULT_AGENT_CONFIG: 'model=gpt-4;temperature=0.7',
},
}));

vi.mock('@/server/globalConfig/parseDefaultAgent', () => ({
parseAgentConfig: vi.fn(),
}));

vi.mock('@/database/server/models/session', () => ({
SessionModel: vi.fn(),
}));

describe('AgentService', () => {
let service: AgentService;
const mockDb = {} as any;
const mockUserId = 'test-user-id';

beforeEach(() => {
vi.clearAllMocks();
service = new AgentService(mockDb, mockUserId);
});

describe('createInbox', () => {
it('should create inbox with default agent config', async () => {
const mockConfig = { model: 'gpt-4', temperature: 0.7 };
const mockSessionModel = {
createInbox: vi.fn(),
};

(SessionModel as any).mockImplementation(() => mockSessionModel);
(parseAgentConfig as any).mockReturnValue(mockConfig);

await service.createInbox();

expect(SessionModel).toHaveBeenCalledWith(mockDb, mockUserId);
expect(parseAgentConfig).toHaveBeenCalledWith('model=gpt-4;temperature=0.7');
expect(mockSessionModel.createInbox).toHaveBeenCalledWith(mockConfig);
});

it('should create inbox with empty config if parseAgentConfig returns undefined', async () => {
const mockSessionModel = {
createInbox: vi.fn(),
};

(SessionModel as any).mockImplementation(() => mockSessionModel);
(parseAgentConfig as any).mockReturnValue(undefined);

await service.createInbox();

expect(SessionModel).toHaveBeenCalledWith(mockDb, mockUserId);
expect(parseAgentConfig).toHaveBeenCalledWith('model=gpt-4;temperature=0.7');
expect(mockSessionModel.createInbox).toHaveBeenCalledWith({});
});
});
});

0 comments on commit 9b1fe38

Please sign in to comment.