Skip to content

Commit 38d278a

Browse files
authored
fix: use the default value for a rich parameter if unset (#6715)
This fixes an error thrown on the workspace settings page when a new parameter is added and the workspace hasn't been built yet.
1 parent abe1e89 commit 38d278a

File tree

3 files changed

+6
-11
lines changed

3 files changed

+6
-11
lines changed

site/src/api/api.test.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import axios from "axios"
22
import {
33
MockTemplate,
44
MockTemplateVersionParameter1,
5-
MockTemplateVersionParameter2,
65
MockWorkspace,
76
MockWorkspaceBuild,
87
MockWorkspaceBuildParameter1,
@@ -185,10 +184,7 @@ describe("api.ts", () => {
185184
jest.spyOn(api, "getWorkspaceBuildParameters").mockResolvedValue([])
186185
jest
187186
.spyOn(api, "getTemplateVersionRichParameters")
188-
.mockResolvedValue([
189-
MockTemplateVersionParameter1,
190-
{ ...MockTemplateVersionParameter2, mutable: false },
191-
])
187+
.mockResolvedValue([MockTemplateVersionParameter1])
192188

193189
let error = new Error()
194190
try {
@@ -198,8 +194,6 @@ describe("api.ts", () => {
198194
}
199195

200196
expect(error).toBeInstanceOf(api.MissingBuildParameters)
201-
// Verify if the correct missing parameters are being passed
202-
// It should not require immutable parameters
203197
expect((error as api.MissingBuildParameters).parameters).toEqual([
204198
MockTemplateVersionParameter1,
205199
])

site/src/api/api.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -976,9 +976,7 @@ const getMissingParameters = (
976976
templateParameters: TypesGen.TemplateVersionParameter[],
977977
) => {
978978
const missingParameters: TypesGen.TemplateVersionParameter[] = []
979-
const requiredParameters = templateParameters.filter(
980-
(p) => p.required && p.mutable,
981-
)
979+
const requiredParameters = templateParameters.filter((p) => p.required)
982980

983981
for (const parameter of requiredParameters) {
984982
// Check if there is a new value

site/src/pages/WorkspaceSettingsPage/WorkspaceSettingsForm.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ export const WorkspaceSettingsForm: FC<{
3737
(p) => p.name === parameter.name,
3838
)
3939
if (!buildParameter) {
40-
throw new Error("Missing build parameter for " + parameter.name)
40+
return {
41+
name: parameter.name,
42+
value: parameter.default_value,
43+
}
4144
}
4245
return buildParameter
4346
}),

0 commit comments

Comments
 (0)