@@ -233,6 +233,27 @@ func TestPostWorkspacesByOrganization(t *testing.T) {
233
233
assert .Equal (t , database .AuditActionCreate , auditor .AuditLogs [3 ].Action )
234
234
})
235
235
236
+ t .Run ("CreateWithDeletedTemplate" , func (t * testing.T ) {
237
+ t .Parallel ()
238
+ client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
239
+ user := coderdtest .CreateFirstUser (t , client )
240
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
241
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
242
+ coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
243
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
244
+ defer cancel ()
245
+ err := client .DeleteTemplate (ctx , template .ID )
246
+ require .NoError (t , err )
247
+ _ , err = client .CreateWorkspace (ctx , user .OrganizationID , codersdk .Me , codersdk.CreateWorkspaceRequest {
248
+ TemplateID : template .ID ,
249
+ Name : "testing" ,
250
+ })
251
+ require .Error (t , err )
252
+ var apiErr * codersdk.Error
253
+ require .ErrorAs (t , err , & apiErr )
254
+ require .Equal (t , http .StatusNotFound , apiErr .StatusCode ())
255
+ })
256
+
236
257
t .Run ("TemplateNoTTL" , func (t * testing.T ) {
237
258
t .Parallel ()
238
259
client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
0 commit comments