import { vi } from "vitest"; import type { WizardPrompter } from "../../../src/wizard/prompts.js"; export type { WizardPrompter } from "../../../src/wizard/prompts.js"; export async function selectFirstWizardOption(params: { options: Array<{ value: T }>; }): Promise { const first = params.options[0]; if (!first) { throw new Error("no options"); } return first.value; } export function createTestWizardPrompter(overrides: Partial = {}): WizardPrompter { return { intro: vi.fn(async () => {}), outro: vi.fn(async () => {}), note: vi.fn(async () => {}), select: selectFirstWizardOption as WizardPrompter["select"], multiselect: vi.fn(async () => []), text: vi.fn(async () => "") as WizardPrompter["text"], confirm: vi.fn(async () => false), progress: vi.fn(() => ({ update: vi.fn(), stop: vi.fn() })), ...overrides, }; }