zzz / frontend /tests /settings.spec.ts
ar08's picture
Upload 1040 files
246d201 verified
import test, { expect, Page } from "@playwright/test";
test.beforeEach(async ({ page }) => {
await page.goto("/");
await page.evaluate(() => {
localStorage.setItem("analytics-consent", "true");
localStorage.setItem("SETTINGS_VERSION", "4");
});
});
const selectGpt4o = async (page: Page) => {
const aiConfigModal = page.getByTestId("ai-config-modal");
await expect(aiConfigModal).toBeVisible();
const providerSelectElement = aiConfigModal.getByTestId("llm-provider");
await providerSelectElement.click();
const openAiOption = page.getByTestId("provider-item-openai");
await openAiOption.click();
const modelSelectElement = aiConfigModal.getByTestId("llm-model");
await modelSelectElement.click();
const gpt4Option = page.getByText("gpt-4o", { exact: true });
await gpt4Option.click();
return {
aiConfigModal,
providerSelectElement,
modelSelectElement,
};
};
test("change ai config settings", async ({ page }) => {
const { aiConfigModal, modelSelectElement, providerSelectElement } =
await selectGpt4o(page);
const saveButton = aiConfigModal.getByText("Save");
await saveButton.click();
const settingsButton = page.getByTestId("settings-button");
await settingsButton.click();
await expect(providerSelectElement).toHaveValue("OpenAI");
await expect(modelSelectElement).toHaveValue("gpt-4o");
});
test("reset to default settings", async ({ page }) => {
const { aiConfigModal } = await selectGpt4o(page);
const saveButton = aiConfigModal.getByText("Save");
await saveButton.click();
const settingsButton = page.getByTestId("settings-button");
await settingsButton.click();
const resetButton = aiConfigModal.getByText(/reset to defaults/i);
await resetButton.click();
const endSessionModal = page.getByTestId("reset-defaults-modal");
expect(endSessionModal).toBeVisible();
const confirmButton = endSessionModal.getByText(/reset to defaults/i);
await confirmButton.click();
await settingsButton.click();
const providerSelectElement = aiConfigModal.getByTestId("llm-provider");
await expect(providerSelectElement).toHaveValue("Anthropic");
const modelSelectElement = aiConfigModal.getByTestId("llm-model");
await expect(modelSelectElement).toHaveValue(/claude-3.5/i);
});