Skip to content

Commit 6cb0e29

Browse files
committed
Fix ephemeral parameters
1 parent 1a1d0fa commit 6cb0e29

File tree

4 files changed

+17
-5
lines changed

4 files changed

+17
-5
lines changed

site/e2e/parameters.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,10 @@ export const seventhParameter: RichParameter = {
129129
};
130130

131131
// randParamName returns a new parameter with a random name.
132+
// It helps to avoid cross-test interference when user-auto-fill triggers on
133+
// the same parameter name.
132134
export const randParamName = (p: RichParameter): RichParameter => {
133-
const name = p.name + Math.random().toString(36).substring(7);
135+
const name = p.name + "_" + Math.random().toString(36).substring(7);
134136
return { ...p, name: name };
135137
};
136138

site/e2e/tests/restartWorkspace.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ test("restart workspace with ephemeral parameters", async ({ page }) => {
4949

5050
// Verify that build options are default (not selected).
5151
await verifyParameters(page, workspaceName, richParameters, [
52-
{ name: firstBuildOption.name, value: firstBuildOption.defaultValue },
53-
{ name: secondBuildOption.name, value: secondBuildOption.defaultValue },
52+
{ name: richParameters[0].name, value: firstBuildOption.defaultValue },
53+
{ name: richParameters[1].name, value: secondBuildOption.defaultValue },
5454
]);
5555
});

site/e2e/tests/startWorkspace.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ test("start workspace with ephemeral parameters", async ({ page }) => {
5050

5151
// Verify that build options are default (not selected).
5252
await verifyParameters(page, workspaceName, richParameters, [
53-
{ name: firstBuildOption.name, value: firstBuildOption.defaultValue },
54-
{ name: secondBuildOption.name, value: secondBuildOption.defaultValue },
53+
{ name: richParameters[0].name, value: firstBuildOption.defaultValue },
54+
{ name: richParameters[1].name, value: secondBuildOption.defaultValue },
5555
]);
5656
});

site/src/utils/richParameters.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,19 @@ export const getInitialRichParameterValues = (
1717
autofillParams?: AutofillBuildParameter[],
1818
): WorkspaceBuildParameter[] => {
1919
return templateParams.map((parameter) => {
20+
// Short-circuit for ephemeral parameters, which are always reset to
21+
// the template-defined default.
22+
if (parameter.ephemeral) {
23+
return {
24+
name: parameter.name,
25+
value: parameter.default_value,
26+
};
27+
}
28+
2029
const autofillParam = autofillParams?.find(
2130
(p) => p.name === parameter.name,
2231
);
32+
2333
if (autofillParam !== undefined && isValidValue(parameter, autofillParam)) {
2434
return {
2535
name: parameter.name,

0 commit comments

Comments
 (0)