import { Page, Locator } from "@playwright/test"; import { getByTestId } from "../core/elements"; import { waitForElement } from "../core/waiting"; import { setupFirstRun } from "../project/setup"; /** * Wait for setup view to be visible */ export async function waitForSetupView(page: Page): Promise { return waitForElement(page, "setup-view", { timeout: 10000 }); } /** * Click "Get Started" button on setup welcome step */ export async function clickSetupGetStarted(page: Page): Promise { const button = await getByTestId(page, "setup-start-button"); await button.click(); } /** * Click continue on Claude setup step */ export async function clickClaudeContinue(page: Page): Promise { const button = await getByTestId(page, "claude-next-button"); await button.click(); } /** * Click finish on setup complete step */ export async function clickSetupFinish(page: Page): Promise { const button = await getByTestId(page, "setup-finish-button"); await button.click(); } /** * Enter Anthropic API key in setup */ export async function enterAnthropicApiKey( page: Page, apiKey: string ): Promise { // Click "Use Anthropic API Key Instead" button const useApiKeyButton = await getByTestId(page, "use-api-key-button"); await useApiKeyButton.click(); // Enter the API key const input = await getByTestId(page, "anthropic-api-key-input"); await input.fill(apiKey); // Click save button const saveButton = await getByTestId(page, "save-anthropic-key-button"); await saveButton.click(); } /** * Enter OpenAI API key in setup */ export async function enterOpenAIApiKey( page: Page, apiKey: string ): Promise { // Click "Enter OpenAI API Key" button const useApiKeyButton = await getByTestId(page, "use-openai-key-button"); await useApiKeyButton.click(); // Enter the API key const input = await getByTestId(page, "openai-api-key-input"); await input.fill(apiKey); // Click save button const saveButton = await getByTestId(page, "save-openai-key-button"); await saveButton.click(); }