Skip to content

Commit 0075964

Browse files
committed
added unit tests in search_test.go
1 parent 1acddb3 commit 0075964

File tree

1 file changed

+56
-5
lines changed

1 file changed

+56
-5
lines changed

coderd/searchquery/search_test.go

Lines changed: 56 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ import (
66
"testing"
77
"time"
88

9+
"github.com/stretchr/testify/assert"
910
"github.com/stretchr/testify/require"
1011

1112
"github.com/coder/coder/coderd/database"
1213
"github.com/coder/coder/coderd/rbac"
1314
"github.com/coder/coder/coderd/searchquery"
15+
"github.com/coder/coder/coderd/util/ptr"
1416
"github.com/coder/coder/codersdk"
1517
)
1618

@@ -148,17 +150,18 @@ func TestSearchWorkspace(t *testing.T) {
148150
c := c
149151
t.Run(c.Name, func(t *testing.T) {
150152
t.Parallel()
151-
values, _, errs := searchquery.Workspaces(c.Query, codersdk.Pagination{}, 0)
153+
values, postFilter, errs := searchquery.Workspaces(c.Query, codersdk.Pagination{}, 0)
152154
if c.ExpectedErrorContains != "" {
153-
require.True(t, len(errs) > 0, "expect some errors")
155+
assert.True(t, len(errs) > 0, "expect some errors")
154156
var s strings.Builder
155157
for _, err := range errs {
156158
_, _ = s.WriteString(fmt.Sprintf("%s: %s\n", err.Field, err.Detail))
157159
}
158-
require.Contains(t, s.String(), c.ExpectedErrorContains)
160+
assert.Contains(t, s.String(), c.ExpectedErrorContains)
159161
} else {
160-
require.Len(t, errs, 0, "expected no error")
161-
require.Equal(t, c.Expected, values, "expected values")
162+
assert.Empty(t, postFilter)
163+
assert.Len(t, errs, 0, "expected no error")
164+
assert.Equal(t, c.Expected, values, "expected values")
162165
}
163166
})
164167
}
@@ -171,6 +174,47 @@ func TestSearchWorkspace(t *testing.T) {
171174
require.Empty(t, errs)
172175
require.Equal(t, int64(timeout.Seconds()), values.AgentInactiveDisconnectTimeoutSeconds)
173176
})
177+
178+
t.Run("TestSearchWorkspacePostFilter", func(t *testing.T) {
179+
t.Parallel()
180+
testCases := []struct {
181+
Name string
182+
Query string
183+
Expected searchquery.PostFilter
184+
}{
185+
{
186+
Name: "Empty",
187+
Query: "",
188+
Expected: searchquery.PostFilter{},
189+
},
190+
{
191+
Name: "DeletingBy",
192+
Query: "deleting_by:2023-06-09",
193+
Expected: searchquery.PostFilter{
194+
DeletingBy: ptr.Ref(time.Date(
195+
2023, 06, 9, 0, 0, 0, 0, time.UTC)),
196+
},
197+
},
198+
{
199+
Name: "MultipleParams",
200+
Query: "deleting_by:2023-06-09 name:workspace-name",
201+
Expected: searchquery.PostFilter{
202+
DeletingBy: ptr.Ref(time.Date(
203+
2023, 06, 9, 0, 0, 0, 0, time.UTC)),
204+
},
205+
},
206+
}
207+
208+
for _, c := range testCases {
209+
c := c
210+
t.Run(c.Name, func(t *testing.T) {
211+
t.Parallel()
212+
_, postFilter, errs := searchquery.Workspaces(c.Query, codersdk.Pagination{}, 0)
213+
assert.Len(t, errs, 0, "expected no error")
214+
assert.Equal(t, c.Expected, postFilter, "expected values")
215+
})
216+
}
217+
})
174218
}
175219

176220
func TestSearchAudit(t *testing.T) {
@@ -342,3 +386,10 @@ func TestSearchUsers(t *testing.T) {
342386
})
343387
}
344388
}
389+
390+
func must[T any](value T, err error) T {
391+
if err != nil {
392+
panic(err)
393+
}
394+
return value
395+
}

0 commit comments

Comments
 (0)