Skip to content

Commit 4fdc57c

Browse files
committed
Add unit tests
1 parent 352058b commit 4fdc57c

File tree

2 files changed

+60
-1
lines changed

2 files changed

+60
-1
lines changed

cli/templateedit_test.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ func TestTemplateEdit(t *testing.T) {
248248
assert.Equal(t, "", updated.Icon)
249249
assert.Equal(t, "", updated.DisplayName)
250250
})
251-
t.Run("AutostopRequirement", func(t *testing.T) {
251+
t.Run("Autostop/startRequirement", func(t *testing.T) {
252252
t.Parallel()
253253
t.Run("BlockedAGPL", func(t *testing.T) {
254254
t.Parallel()
@@ -286,6 +286,12 @@ func TestTemplateEdit(t *testing.T) {
286286
"--autostop-requirement-weeks", "1",
287287
},
288288
},
289+
{
290+
name: "AutostartDays",
291+
flags: []string{
292+
"--autostart-requirement-weekdays", "monday",
293+
},
294+
},
289295
}
290296

291297
for _, c := range cases {
@@ -321,6 +327,7 @@ func TestTemplateEdit(t *testing.T) {
321327
assert.Equal(t, template.DefaultTTLMillis, updated.DefaultTTLMillis)
322328
assert.Equal(t, template.AutostopRequirement.DaysOfWeek, updated.AutostopRequirement.DaysOfWeek)
323329
assert.Equal(t, template.AutostopRequirement.Weeks, updated.AutostopRequirement.Weeks)
330+
assert.Equal(t, template.AutostartRequirement.DaysOfWeek, updated.AutostartRequirement.DaysOfWeek)
324331
})
325332
}
326333
})

enterprise/coderd/templates_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,58 @@ func TestTemplates(t *testing.T) {
140140
require.EqualValues(t, exp, *ws.TTLMillis)
141141
})
142142

143+
t.Run("SetAutostartRequirement", func(t *testing.T) {
144+
t.Parallel()
145+
146+
client, user := coderdenttest.New(t, &coderdenttest.Options{
147+
Options: &coderdtest.Options{
148+
IncludeProvisionerDaemon: true,
149+
},
150+
LicenseOptions: &coderdenttest.LicenseOptions{
151+
Features: license.Features{
152+
codersdk.FeatureAdvancedTemplateScheduling: 1,
153+
},
154+
},
155+
})
156+
157+
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
158+
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
159+
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
160+
require.Equal(t, []string{"monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"}, template.AutostartRequirement.DaysOfWeek)
161+
162+
// ctx := testutil.Context(t, testutil.WaitLong)
163+
ctx := context.Background()
164+
updated, err := client.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
165+
Name: template.Name,
166+
DisplayName: template.DisplayName,
167+
Description: template.Description,
168+
Icon: template.Icon,
169+
AutostartRequirement: &codersdk.TemplateAutostartRequirement{
170+
DaysOfWeek: []string{"monday", "saturday"},
171+
},
172+
})
173+
require.NoError(t, err)
174+
require.Equal(t, []string{"monday", "saturday"}, updated.AutostartRequirement.DaysOfWeek)
175+
176+
template, err = client.Template(ctx, template.ID)
177+
require.NoError(t, err)
178+
require.Equal(t, []string{"monday", "saturday"}, template.AutostartRequirement.DaysOfWeek)
179+
180+
// Ensure a missing field is a noop
181+
updated, err = client.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
182+
Name: template.Name,
183+
DisplayName: template.DisplayName,
184+
Description: template.Description,
185+
Icon: template.Icon + "something",
186+
})
187+
require.NoError(t, err)
188+
require.Equal(t, []string{"monday", "saturday"}, updated.AutostartRequirement.DaysOfWeek)
189+
190+
template, err = client.Template(ctx, template.ID)
191+
require.NoError(t, err)
192+
require.Equal(t, []string{"monday", "saturday"}, template.AutostartRequirement.DaysOfWeek)
193+
})
194+
143195
t.Run("SetAutostopRequirement", func(t *testing.T) {
144196
t.Parallel()
145197

0 commit comments

Comments
 (0)