Files
gemini-cli/packages/core/src/availability/testUtils.ts
2026-02-10 00:10:15 +00:00

32 lines
841 B
TypeScript

/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { vi } from 'vitest';
import type {
ModelAvailabilityService,
ModelSelectionResult,
} from './modelAvailabilityService.js';
/**
* Test helper to create a fully mocked ModelAvailabilityService.
*/
export function createAvailabilityServiceMock(
selection: ModelSelectionResult = { selectedModel: null, skipped: [] },
): ModelAvailabilityService {
const service = {
markTerminal: vi.fn(),
markHealthy: vi.fn(),
markRetryOncePerTurn: vi.fn(),
consumeStickyAttempt: vi.fn(),
snapshot: vi.fn(),
resetTurn: vi.fn(),
selectFirstAvailable: vi.fn().mockReturnValue(selection),
};
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
return service as unknown as ModelAvailabilityService;
}