@@ -140,6 +140,58 @@ func TestTemplates(t *testing.T) {
140
140
require .EqualValues (t , exp , * ws .TTLMillis )
141
141
})
142
142
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
+
143
195
t .Run ("SetAutostopRequirement" , func (t * testing.T ) {
144
196
t .Parallel ()
145
197
0 commit comments