@@ -233,6 +233,42 @@ func TestWorkspaceByOwnerAndName(t *testing.T) {
233
233
})
234
234
}
235
235
236
+ func TestWorkspaceFilter (t * testing.T ) {
237
+ t .Parallel ()
238
+ t .Run ("Name" , func (t * testing.T ) {
239
+ t .Parallel ()
240
+ client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerD : true })
241
+ user := coderdtest .CreateFirstUser (t , client )
242
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
243
+ coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
244
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
245
+ workspace := coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID )
246
+
247
+ // full match
248
+ ws , err := client .Workspaces (context .Background (), codersdk.WorkspaceFilter {
249
+ Name : workspace .Name ,
250
+ })
251
+ require .NoError (t , err )
252
+ require .Len (t , ws , 1 , workspace .Name )
253
+ require .Equal (t , workspace .ID , ws [0 ].ID )
254
+
255
+ // partial match
256
+ ws , err = client .Workspaces (context .Background (), codersdk.WorkspaceFilter {
257
+ Name : workspace .Name [1 : len (workspace .Name )- 2 ],
258
+ })
259
+ require .NoError (t , err )
260
+ require .Len (t , ws , 1 )
261
+ require .Equal (t , workspace .ID , ws [0 ].ID )
262
+
263
+ // no match
264
+ ws , err = client .Workspaces (context .Background (), codersdk.WorkspaceFilter {
265
+ Name : "$$$$" ,
266
+ })
267
+ require .NoError (t , err )
268
+ require .Len (t , ws , 0 )
269
+ })
270
+ }
271
+
236
272
func TestPostWorkspaceBuild (t * testing.T ) {
237
273
t .Parallel ()
238
274
t .Run ("NoTemplateVersion" , func (t * testing.T ) {
0 commit comments