File size: 2,359 Bytes
246d201 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
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);
});
|