chore: add e2e test for updating theme (#16897)

This commit is contained in:
ケイラ
2025-03-14 09:16:47 -06:00
committed by GitHub
parent 564b387262
commit 673294deab
2 changed files with 31 additions and 7 deletions
+28
View File
@@ -0,0 +1,28 @@
import { expect, test } from "@playwright/test";
import { users } from "../../constants";
import { login } from "../../helpers";
import { beforeCoderTest } from "../../hooks";
test.beforeEach(({ page }) => {
beforeCoderTest(page);
});
test("adjust user theme preference", async ({ page }) => {
await login(page, users.member);
await page.goto("/settings/appearance", { waitUntil: "domcontentloaded" });
await page.getByText("Light", { exact: true }).click();
await expect(page.getByLabel("Light")).toBeChecked();
// Make sure the page is actually updated to use the light theme
const [root] = await page.$$("html");
expect(await root.evaluate((it) => it.className)).toContain("light");
await page.goto("/", { waitUntil: "domcontentloaded" });
// Make sure the page is still using the light theme after reloading and
// navigating away from the settings page.
const [homeRoot] = await page.$$("html");
expect(await homeRoot.evaluate((it) => it.className)).toContain("light");
});
@@ -5,11 +5,11 @@ import {
createTemplate, createTemplate,
createWorkspace, createWorkspace,
echoResponsesWithParameters, echoResponsesWithParameters,
login,
openTerminalWindow, openTerminalWindow,
requireTerraformProvisioner, requireTerraformProvisioner,
verifyParameters, verifyParameters,
} from "../../helpers"; } from "../../helpers";
import { login } from "../../helpers";
import { beforeCoderTest } from "../../hooks"; import { beforeCoderTest } from "../../hooks";
import { import {
fifthParameter, fifthParameter,
@@ -150,9 +150,7 @@ test("create workspace with disable_param search params", async ({ page }) => {
await login(page, users.member); await login(page, users.member);
await page.goto( await page.goto(
`/templates/${templateName}/workspace?disable_params=first_parameter,second_parameter`, `/templates/${templateName}/workspace?disable_params=first_parameter,second_parameter`,
{ { waitUntil: "domcontentloaded" },
waitUntil: "domcontentloaded",
},
); );
await expect(page.getByLabel(/First parameter/i)).toBeDisabled(); await expect(page.getByLabel(/First parameter/i)).toBeDisabled();
@@ -173,9 +171,7 @@ test.skip("create docker workspace", async ({ context, page }) => {
// The workspace agents must be ready before we try to interact with the workspace. // The workspace agents must be ready before we try to interact with the workspace.
await page.waitForSelector( await page.waitForSelector(
`//div[@role="status"][@data-testid="agent-status-ready"]`, `//div[@role="status"][@data-testid="agent-status-ready"]`,
{ { state: "visible" },
state: "visible",
},
); );
// Wait for the terminal button to be visible, and click it. // Wait for the terminal button to be visible, and click it.