mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-01 08:13:37 +00:00
refactor: migrate AgentService to use centralized logger
Replace console.error calls with createLogger for consistent logging across the AgentService. This improves debuggability and makes logger calls testable. Changes: - Add createLogger import from @automaker/utils - Add private logger instance initialized with 'AgentService' prefix - Replace all 7 console.error calls with this.logger.error - Update test mocks to use vi.hoisted() for proper mock access - Update settings-helpers test to create mockLogger inside vi.mock() Test Impact: - All 774 tests passing - Logger error calls are now verifiable in tests - Mock logger properly accessible via vi.hoisted() pattern Resolves Gemini Code Assist suggestions: - "Make logger mockable for test assertions" - "Use logger instead of console.error in AgentService" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -5,14 +5,15 @@ import type { SettingsService } from '@/services/settings-service.js';
|
||||
// Mock the logger
|
||||
vi.mock('@automaker/utils', async () => {
|
||||
const actual = await vi.importActual('@automaker/utils');
|
||||
const mockLogger = {
|
||||
info: vi.fn(),
|
||||
error: vi.fn(),
|
||||
warn: vi.fn(),
|
||||
debug: vi.fn(),
|
||||
};
|
||||
return {
|
||||
...actual,
|
||||
createLogger: () => ({
|
||||
info: vi.fn(),
|
||||
error: vi.fn(),
|
||||
warn: vi.fn(),
|
||||
debug: vi.fn(),
|
||||
}),
|
||||
createLogger: () => mockLogger,
|
||||
};
|
||||
});
|
||||
|
||||
|
||||
@@ -7,6 +7,14 @@ import * as promptBuilder from '@automaker/utils';
|
||||
import * as contextLoader from '@automaker/utils';
|
||||
import { collectAsyncGenerator } from '../../utils/helpers.js';
|
||||
|
||||
// Create a shared mock logger instance for assertions using vi.hoisted
|
||||
const mockLogger = vi.hoisted(() => ({
|
||||
info: vi.fn(),
|
||||
error: vi.fn(),
|
||||
warn: vi.fn(),
|
||||
debug: vi.fn(),
|
||||
}));
|
||||
|
||||
vi.mock('fs/promises');
|
||||
vi.mock('@/providers/provider-factory.js');
|
||||
vi.mock('@automaker/utils', async () => {
|
||||
@@ -16,12 +24,7 @@ vi.mock('@automaker/utils', async () => {
|
||||
loadContextFiles: vi.fn(),
|
||||
buildPromptWithImages: vi.fn(),
|
||||
readImageAsBase64: vi.fn(),
|
||||
createLogger: vi.fn(() => ({
|
||||
info: vi.fn(),
|
||||
error: vi.fn(),
|
||||
warn: vi.fn(),
|
||||
debug: vi.fn(),
|
||||
})),
|
||||
createLogger: vi.fn(() => mockLogger),
|
||||
};
|
||||
});
|
||||
|
||||
@@ -244,7 +247,7 @@ describe('agent-service.ts', () => {
|
||||
imagePaths: ['/path/test.png'],
|
||||
});
|
||||
|
||||
// Logger will be called with error, but we don't need to assert it
|
||||
expect(mockLogger.error).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('should use custom model if provided', async () => {
|
||||
|
||||
Reference in New Issue
Block a user