mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-11 14:40:52 -07:00
32 lines
841 B
TypeScript
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;
|
|
}
|