Skip to content

Commit 60bf64f

Browse files
committed
Update a few things
1 parent 5ff98ce commit 60bf64f

File tree

8 files changed

+78
-19
lines changed

8 files changed

+78
-19
lines changed

site/src/pages/CreateTemplatePage/CreateTemplateForm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ import { LazyIconField } from "components/IconField/LazyIconField"
3131
import { Maybe } from "components/Conditionals/Maybe"
3232
import i18next from "i18next"
3333
import Link from "@material-ui/core/Link"
34-
import { FormFooter } from "components/FormFooter/FormFooter"
3534
import {
3635
HorizontalForm,
3736
FormSection,
3837
FormFields,
39-
} from "components/HorizontalForm/HorizontalForm"
38+
FormFooter,
39+
} from "components/Form/Form"
4040
import camelCase from "lodash/camelCase"
4141
import capitalize from "lodash/capitalize"
4242
import { VariableInput } from "./VariableInput"

site/src/pages/CreateWorkspacePage/CreateWorkspacePageView.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import {
1919
FormSection,
2020
FormFooter,
2121
HorizontalForm,
22-
} from "components/HorizontalForm/HorizontalForm"
22+
} from "components/Form/Form"
2323
import { makeStyles } from "@material-ui/core/styles"
2424
import {
2525
selectInitialRichParametersValues,

site/src/pages/TemplateSettingsPage/TemplateSettingsForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
FormSection,
1919
HorizontalForm,
2020
FormFooter,
21-
} from "components/HorizontalForm/HorizontalForm"
21+
} from "components/Form/Form"
2222
import { Stack } from "components/Stack/Stack"
2323
import Checkbox from "@material-ui/core/Checkbox"
2424
import { HelpTooltip, HelpTooltipText } from "components/Tooltips/HelpTooltip"

site/src/pages/TemplateVariablesPage/TemplateVariablesForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
FormSection,
1515
HorizontalForm,
1616
FormFooter,
17-
} from "components/HorizontalForm/HorizontalForm"
17+
} from "components/Form/Form"
1818
import {
1919
SensitiveVariableHelperText,
2020
TemplateVariableField,

site/src/pages/WorkspacePage/UpdateBuildParametersDialog.tsx

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@ import DialogTitle from "@material-ui/core/DialogTitle"
66
import { DialogProps } from "components/Dialogs/Dialog"
77
import { FC } from "react"
88
import { getFormHelpers } from "util/formUtils"
9-
import {
10-
FormFields,
11-
VerticalForm,
12-
} from "components/HorizontalForm/HorizontalForm"
9+
import { FormFields, VerticalForm } from "components/Form/Form"
1310
import {
1411
TemplateVersionParameter,
1512
WorkspaceBuildParameter,
@@ -56,6 +53,7 @@ export const UpdateBuildParametersDialog: FC<
5653
scroll="body"
5754
aria-labelledby="update-build-parameters-title"
5855
maxWidth="xs"
56+
data-testid="dialog"
5957
>
6058
<DialogTitle
6159
id="update-build-parameters-title"
@@ -137,19 +135,11 @@ const useStyles = makeStyles((theme) => ({
137135
},
138136

139137
info: {
140-
fontSize: theme.spacing(1.75),
141-
lineHeight: "160%",
142-
backgroundColor: theme.palette.info.dark,
143-
color: theme.palette.text.primary,
144-
border: `1px solid ${theme.palette.info.light}`,
145-
borderRight: 0,
146-
borderLeft: 0,
147-
padding: theme.spacing(3, 5),
148-
margin: theme.spacing(0, -5),
138+
margin: 0,
149139
},
150140

151141
form: {
152-
paddingTop: theme.spacing(5),
142+
paddingTop: theme.spacing(4),
153143
},
154144

155145
infoTitle: {

site/src/pages/WorkspacePage/WorkspacePage.test.tsx

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import {
1717
MockStoppedWorkspace,
1818
MockStoppingWorkspace,
1919
MockTemplate,
20+
MockTemplateVersionParameter1,
21+
MockTemplateVersionParameter2,
2022
MockWorkspace,
2123
MockWorkspaceBuild,
2224
renderWithAuth,
@@ -287,4 +289,64 @@ describe("WorkspacePage", () => {
287289
})
288290
})
289291
})
292+
293+
it("Workspace update when having new parameters on the template version", async () => {
294+
// Setup mocks
295+
const user = userEvent.setup()
296+
jest
297+
.spyOn(api, "getWorkspaceByOwnerAndName")
298+
.mockResolvedValueOnce(MockOutdatedWorkspace)
299+
const updateWorkspaceSpy = jest
300+
.spyOn(api, "updateWorkspace")
301+
.mockRejectedValueOnce(
302+
new api.MissingBuildParameters([
303+
MockTemplateVersionParameter1,
304+
MockTemplateVersionParameter2,
305+
]),
306+
)
307+
// Render page and wait for it to be loaded
308+
renderWithAuth(<WorkspacePage />, {
309+
route: `/@${MockWorkspace.owner_name}/${MockWorkspace.name}`,
310+
path: "/@:username/:workspace",
311+
})
312+
await waitForLoaderToBeRemoved()
313+
// Click on the update button
314+
const workspaceActions = screen.getByTestId("workspace-actions")
315+
await user.click(
316+
within(workspaceActions).getByRole("button", { name: "Update" }),
317+
)
318+
await waitFor(() => {
319+
expect(api.updateWorkspace).toBeCalled()
320+
// We want to clear this mock to use it later
321+
updateWorkspaceSpy.mockClear()
322+
})
323+
// Fill the parameters and send the form
324+
const dialog = await screen.findByTestId("dialog")
325+
const firstParameterInput = within(dialog).getByLabelText(
326+
MockTemplateVersionParameter1.name,
327+
{ exact: false },
328+
)
329+
await user.clear(firstParameterInput)
330+
await user.type(firstParameterInput, "some-value")
331+
const secondParameterInput = within(dialog).getByLabelText(
332+
MockTemplateVersionParameter2.name,
333+
{ exact: false },
334+
)
335+
await user.clear(secondParameterInput)
336+
await user.type(secondParameterInput, "2")
337+
await user.click(within(dialog).getByRole("button", { name: "Update" }))
338+
// Check if the update was called using the values from the form
339+
await waitFor(() => {
340+
expect(api.updateWorkspace).toBeCalledWith(MockOutdatedWorkspace, [
341+
{
342+
name: MockTemplateVersionParameter1.name,
343+
value: "some-value",
344+
},
345+
{
346+
name: MockTemplateVersionParameter2.name,
347+
value: "2",
348+
},
349+
])
350+
})
351+
})
290352
})

site/src/testHelpers/handlers.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,4 +311,11 @@ export const handlers = [
311311
rest.get("/api/v2/deployment/stats", (_, res, ctx) => {
312312
return res(ctx.status(200), ctx.json(M.MockDeploymentStats))
313313
}),
314+
315+
rest.get(
316+
"/api/v2/workspacebuilds/:workspaceBuildId/parameters",
317+
(_, res, ctx) => {
318+
return res(ctx.status(200), ctx.json([M.MockTemplateVersionParameter1]))
319+
},
320+
),
314321
]

0 commit comments

Comments
 (0)