Files
coder/site/e2e/tests/workspaces/restartWorkspace.spec.ts
T
Jaayden Halko 1320b8d5be feat: make dynamic parameters opt-in by default for new templates (#19006)
resolves #18975 

---------

Co-authored-by: Steven Masley <stevenmasley@gmail.com>
Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com>
2025-07-28 20:41:49 -05:00

59 lines
1.9 KiB
TypeScript

import { test } from "@playwright/test";
import { users } from "../../constants";
import {
buildWorkspaceWithParameters,
createTemplate,
createWorkspace,
disableDynamicParameters,
echoResponsesWithParameters,
verifyParameters,
} from "../../helpers";
import { login } from "../../helpers";
import { beforeCoderTest } from "../../hooks";
import { firstBuildOption, secondBuildOption } from "../../parameters";
import type { RichParameter } from "../../provisionerGenerated";
test.beforeEach(async ({ page }) => {
beforeCoderTest(page);
});
test("restart workspace with ephemeral parameters", async ({ page }) => {
await login(page, users.templateAdmin);
const richParameters: RichParameter[] = [firstBuildOption, secondBuildOption];
const template = await createTemplate(
page,
echoResponsesWithParameters(richParameters),
);
// Disable dynamic parameters to use classic parameter flow for this test
await disableDynamicParameters(page, template);
await login(page, users.member);
const workspaceName = await createWorkspace(page, template);
// Verify that build options are default (not selected).
await verifyParameters(page, workspaceName, richParameters, [
{ name: richParameters[0].name, value: firstBuildOption.defaultValue },
{ name: richParameters[1].name, value: secondBuildOption.defaultValue },
]);
// Now, restart the workspace with ephemeral parameters selected.
const buildParameters = [
{ name: richParameters[0].name, value: "AAAAA" },
{ name: richParameters[1].name, value: "true" },
];
await buildWorkspaceWithParameters(
page,
workspaceName,
richParameters,
buildParameters,
true,
);
// Verify that build options are default (not selected).
await verifyParameters(page, workspaceName, richParameters, [
{ name: richParameters[0].name, value: firstBuildOption.defaultValue },
{ name: richParameters[1].name, value: secondBuildOption.defaultValue },
]);
});