Skip to content

Commit d1420de

Browse files
committed
Put switches in form, persist form state
1 parent bfbabe1 commit d1420de

File tree

7 files changed

+196
-212
lines changed

7 files changed

+196
-212
lines changed

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

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,45 @@
11
import {
2-
getValidationSchema,
32
Language,
43
ttlShutdownAt,
4+
validationSchema,
55
WorkspaceScheduleFormValues,
66
} from "./WorkspaceScheduleForm"
77
import { zones } from "./zones"
88

99
const valid: WorkspaceScheduleFormValues = {
10+
autoStartEnabled: true,
1011
sunday: false,
1112
monday: true,
1213
tuesday: true,
1314
wednesday: true,
1415
thursday: true,
1516
friday: true,
1617
saturday: false,
17-
1818
startTime: "09:30",
1919
timezone: "Canada/Eastern",
20+
21+
autoStopEnabled: true,
2022
ttl: 120,
2123
}
2224

2325
describe("validationSchema", () => {
2426
it("allows everything to be falsy when switches are off", () => {
2527
const values: WorkspaceScheduleFormValues = {
28+
autoStartEnabled: false,
2629
sunday: false,
2730
monday: false,
2831
tuesday: false,
2932
wednesday: false,
3033
thursday: false,
3134
friday: false,
3235
saturday: false,
33-
3436
startTime: "",
3537
timezone: "",
38+
39+
autoStopEnabled: false,
3640
ttl: 0,
3741
}
38-
const validate = () => getValidationSchema(false, false).validateSync(values)
42+
const validate = () => validationSchema.validateSync(values)
3943
expect(validate).not.toThrow()
4044
})
4145

@@ -44,7 +48,7 @@ describe("validationSchema", () => {
4448
...valid,
4549
ttl: -1,
4650
}
47-
const validate = () => getValidationSchema(true, true).validateSync(values)
51+
const validate = () => validationSchema.validateSync(values)
4852
expect(validate).toThrow()
4953
})
5054

@@ -59,7 +63,7 @@ describe("validationSchema", () => {
5963
friday: false,
6064
saturday: false,
6165
}
62-
const validate = () => getValidationSchema(true, false).validateSync(values)
66+
const validate = () => validationSchema.validateSync(values)
6367
expect(validate).toThrowError(Language.errorNoDayOfWeek)
6468
})
6569

@@ -75,7 +79,7 @@ describe("validationSchema", () => {
7579
saturday: false,
7680
startTime: "",
7781
}
78-
const validate = () => getValidationSchema(true, false).validateSync(values)
82+
const validate = () => validationSchema.validateSync(values)
7983
expect(validate).toThrowError(Language.errorNoTime)
8084
})
8185

@@ -84,7 +88,7 @@ describe("validationSchema", () => {
8488
...valid,
8589
startTime: "16:20",
8690
}
87-
const validate = () => getValidationSchema(true, true).validateSync(values)
91+
const validate = () => validationSchema.validateSync(values)
8892
expect(validate).not.toThrow()
8993
})
9094

@@ -93,7 +97,7 @@ describe("validationSchema", () => {
9397
...valid,
9498
startTime: "9:30",
9599
}
96-
const validate = () => getValidationSchema(true, true).validateSync(values)
100+
const validate = () => validationSchema.validateSync(values)
97101
expect(validate).toThrowError(Language.errorTime)
98102
})
99103

@@ -102,7 +106,7 @@ describe("validationSchema", () => {
102106
...valid,
103107
startTime: "09:5",
104108
}
105-
const validate = () => getValidationSchema(true, true).validateSync(values)
109+
const validate = () => validationSchema.validateSync(values)
106110
expect(validate).toThrowError(Language.errorTime)
107111
})
108112

@@ -111,7 +115,7 @@ describe("validationSchema", () => {
111115
...valid,
112116
startTime: "24:01",
113117
}
114-
const validate = () => getValidationSchema(true, true).validateSync(values)
118+
const validate = () => validationSchema.validateSync(values)
115119
expect(validate).toThrowError(Language.errorTime)
116120
})
117121

@@ -120,7 +124,7 @@ describe("validationSchema", () => {
120124
...valid,
121125
startTime: "09:60",
122126
}
123-
const validate = () => getValidationSchema(true, true).validateSync(values)
127+
const validate = () => validationSchema.validateSync(values)
124128
expect(validate).toThrowError(Language.errorTime)
125129
})
126130

@@ -129,7 +133,7 @@ describe("validationSchema", () => {
129133
...valid,
130134
timezone: "Canada/North",
131135
}
132-
const validate = () => getValidationSchema(true, true).validateSync(values)
136+
const validate = () => validationSchema.validateSync(values)
133137
expect(validate).toThrowError(Language.errorTimezone)
134138
})
135139

@@ -138,7 +142,7 @@ describe("validationSchema", () => {
138142
...valid,
139143
timezone: zone,
140144
}
141-
const validate = () => getValidationSchema(true, true).validateSync(values)
145+
const validate = () => validationSchema.validateSync(values)
142146
expect(validate).not.toThrow()
143147
})
144148

@@ -147,7 +151,7 @@ describe("validationSchema", () => {
147151
...valid,
148152
ttl: 24 * 7,
149153
}
150-
const validate = () => getValidationSchema(true, true).validateSync(values)
154+
const validate = () => validationSchema.validateSync(values)
151155
expect(validate).not.toThrowError()
152156
})
153157

@@ -156,7 +160,7 @@ describe("validationSchema", () => {
156160
...valid,
157161
ttl: 24 * 7 + 1,
158162
}
159-
const validate = () => getValidationSchema(true, true).validateSync(values)
163+
const validate = () => validationSchema.validateSync(values)
160164
expect(validate).toThrowError("ttl must be less than or equal to 168")
161165
})
162166
})

0 commit comments

Comments
 (0)