Skip to content

Commit 3984337

Browse files
committed
add tests
1 parent 7727f7c commit 3984337

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

coderd/database/databasefake/databasefake.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ func (q *fakeQuerier) GetWorkspacesWithFilter(_ context.Context, arg database.Ge
330330
if !arg.Deleted && workspace.Deleted {
331331
continue
332332
}
333-
if arg.Name != "" && workspace.Name != arg.Name {
333+
if arg.Name != "" && !strings.Contains(workspace.Name, arg.Name) {
334334
continue
335335
}
336336
workspaces = append(workspaces, workspace)

coderd/workspaces_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,42 @@ func TestWorkspaceByOwnerAndName(t *testing.T) {
233233
})
234234
}
235235

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+
236272
func TestPostWorkspaceBuild(t *testing.T) {
237273
t.Parallel()
238274
t.Run("NoTemplateVersion", func(t *testing.T) {

0 commit comments

Comments
 (0)