test: enhance agent-service tests with context loading mock

- Added a mock for the `loadContextFiles` function to return an empty context by default, improving test reliability.
- Updated the agent-service test suite to ensure proper initialization of the `AgentService` with mocked dependencies.

These changes aim to enhance the test coverage and stability of the agent-service functionality.
This commit is contained in:
Test User
2025-12-22 02:18:31 -05:00
parent 3b0a1a7eb2
commit 5e2718f8b2
2 changed files with 19 additions and 1 deletions

View File

@@ -4,12 +4,12 @@ import { ProviderFactory } from '@/providers/provider-factory.js';
import * as fs from 'fs/promises';
import * as imageHandler from '@automaker/utils';
import * as promptBuilder from '@automaker/utils';
import * as contextLoader from '@automaker/utils';
import { collectAsyncGenerator } from '../../utils/helpers.js';
vi.mock('fs/promises');
vi.mock('@/providers/provider-factory.js');
vi.mock('@automaker/utils');
vi.mock('@automaker/utils');
describe('agent-service.ts', () => {
let service: AgentService;
@@ -21,6 +21,12 @@ describe('agent-service.ts', () => {
beforeEach(() => {
vi.clearAllMocks();
service = new AgentService('/test/data', mockEvents as any);
// Mock loadContextFiles to return empty context by default
vi.mocked(contextLoader.loadContextFiles).mockResolvedValue({
files: [],
formattedPrompt: '',
});
});
describe('initialize', () => {

View File

@@ -24,6 +24,18 @@ export async function navigateToContext(page: Page): Promise<void> {
await page.goto('/context');
await page.waitForLoadState('networkidle');
// Wait for loading to complete (if present)
const loadingElement = page.locator('[data-testid="context-view-loading"]');
try {
const loadingVisible = await loadingElement.isVisible({ timeout: 2000 });
if (loadingVisible) {
// Wait for loading to disappear (context view will appear)
await loadingElement.waitFor({ state: 'hidden', timeout: 10000 });
}
} catch {
// Loading element not found or already hidden, continue
}
// Wait for the context view to be visible
await waitForElement(page, 'context-view', { timeout: 10000 });
}