mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
chore: add e2e test for updating theme (#16897)
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user