Skip to content

Commit 45a41d1

Browse files
committed
added ttl tests
1 parent 7b5a78c commit 45a41d1

File tree

3 files changed

+22
-28
lines changed

3 files changed

+22
-28
lines changed

site/src/components/WorkspaceScheduleForm/WorkspaceScheduleForm.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ describe("validationSchema", () => {
161161
ttl: 24 * 7 + 1,
162162
}
163163
const validate = () => validationSchema.validateSync(values)
164-
expect(validate).toThrowError("ttl must be less than or equal to 168")
164+
expect(validate).toThrowError(Language.errorTtlMax)
165165
})
166166
})
167167

site/src/pages/TemplateSettingsPage/TemplateSettingsForm.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,18 @@ export const TemplateSettingsForm: FC<TemplateSettingsForm> = ({
5454
initialValues: {
5555
name: template.name,
5656
description: template.description,
57-
max_ttl_ms: template.max_ttl_ms,
57+
// on display, convert from ms => hours
58+
max_ttl_ms: template.max_ttl_ms / 3600000,
5859
icon: template.icon,
5960
},
6061
validationSchema,
61-
onSubmit,
62+
onSubmit: (formData) => {
63+
// on submit, convert from hours => ms
64+
onSubmit({
65+
...formData,
66+
max_ttl_ms: formData.max_ttl_ms ? formData.max_ttl_ms * 3600000 : undefined,
67+
})
68+
},
6269
initialTouched,
6370
})
6471
const getFieldHelpers = getFormHelpersWithError<UpdateTemplateMeta>(form, error)
@@ -152,6 +159,7 @@ export const TemplateSettingsForm: FC<TemplateSettingsForm> = ({
152159
inputProps={{ min: 0, step: 1 }}
153160
label={Language.maxTtlLabel}
154161
variant="outlined"
162+
type="number"
155163
/>
156164
</Stack>
157165

site/src/pages/TemplateSettingsPage/TemplateSettingsPage.test.tsx

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,11 @@ const renderTemplateSettingsPage = async () => {
1919
return renderResult
2020
}
2121

22-
const validFormValues: UpdateTemplateMeta = {
23-
name: "A name",
22+
const validFormValues = {
23+
name: "Name",
2424
description: "A description",
2525
icon: "A string",
26-
max_ttl_ms: 24,
27-
min_autostart_interval_ms: 24,
26+
max_ttl_ms: 1,
2827
}
2928

3029
const fillAndSubmitForm = async ({
@@ -63,46 +62,33 @@ describe("TemplateSettingsPage", () => {
6362
it("succeeds", async () => {
6463
await renderTemplateSettingsPage()
6564

66-
const newTemplateSettings = {
67-
name: "edited-template-name",
68-
description: "Edited description",
69-
max_ttl_ms: 4000,
70-
icon: "/icon/code.svg",
71-
}
7265
jest.spyOn(API, "updateTemplateMeta").mockResolvedValueOnce({
7366
...MockTemplate,
74-
...newTemplateSettings,
67+
...validFormValues,
7568
})
76-
await fillAndSubmitForm(newTemplateSettings)
69+
await fillAndSubmitForm(validFormValues)
7770

7871
await waitFor(() => expect(API.updateTemplateMeta).toBeCalledTimes(1))
7972
})
8073

8174
test("ttl is converted to and from hours", async () => {
8275
await renderTemplateSettingsPage()
8376

84-
const newTemplateSettings = {
85-
name: "edited-template-name",
86-
description: "Edited description",
87-
max_ttl_ms: 1,
88-
icon: "/icon/code.svg",
89-
}
90-
9177
jest.spyOn(API, "updateTemplateMeta").mockResolvedValueOnce({
9278
...MockTemplate,
93-
...newTemplateSettings,
79+
...validFormValues,
9480
})
9581

96-
await fillAndSubmitForm(newTemplateSettings)
97-
expect(screen.getByDisplayValue(1)).toBeInTheDocument()
82+
await fillAndSubmitForm(validFormValues)
83+
expect(screen.getByDisplayValue(1)).toBeInTheDocument() // the max_ttl_ms
9884
await waitFor(() => expect(API.updateTemplateMeta).toBeCalledTimes(1))
9985

10086
await waitFor(() =>
10187
expect(API.updateTemplateMeta).toBeCalledWith(
10288
"test-template",
10389
expect.objectContaining({
104-
...newTemplateSettings,
105-
max_ttl_ms: 3600000,
90+
...validFormValues,
91+
max_ttl_ms: 3600000, // the max_ttl_ms to ms
10692
}),
10793
),
10894
)
@@ -123,6 +109,6 @@ describe("TemplateSettingsPage", () => {
123109
max_ttl_ms: 24 * 7 + 1,
124110
}
125111
const validate = () => validationSchema.validateSync(values)
126-
expect(validate).toThrowError("ttl must be less than or equal to 168")
112+
expect(validate).toThrowError(FormLanguage.ttlMaxError)
127113
})
128114
})

0 commit comments

Comments
 (0)