aboutsummaryrefslogtreecommitdiff
path: root/internal/db/users_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/db/users_test.go')
-rw-r--r--internal/db/users_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/internal/db/users_test.go b/internal/db/users_test.go
index b13bf5be..c302d2e8 100644
--- a/internal/db/users_test.go
+++ b/internal/db/users_test.go
@@ -105,6 +105,7 @@ func TestUsers(t *testing.T) {
{"List", usersList},
{"ListFollowers", usersListFollowers},
{"ListFollowings", usersListFollowings},
+ {"SearchByName", usersSearchByName},
{"Update", usersUpdate},
{"UseCustomAvatar", usersUseCustomAvatar},
} {
@@ -756,6 +757,46 @@ func usersListFollowings(t *testing.T, db *users) {
assert.Equal(t, alice.ID, got[0].ID)
}
+func usersSearchByName(t *testing.T, db *users) {
+ ctx := context.Background()
+
+ alice, err := db.Create(ctx, "alice", "alice@example.com", CreateUserOptions{FullName: "Alice Jordan"})
+ require.NoError(t, err)
+ bob, err := db.Create(ctx, "bob", "bob@example.com", CreateUserOptions{FullName: "Bob Jordan"})
+ require.NoError(t, err)
+
+ t.Run("search for username alice", func(t *testing.T) {
+ users, count, err := db.SearchByName(ctx, "Li", 1, 1, "")
+ require.NoError(t, err)
+ require.Len(t, users, int(count))
+ assert.Equal(t, int64(1), count)
+ assert.Equal(t, alice.ID, users[0].ID)
+ })
+
+ t.Run("search for username bob", func(t *testing.T) {
+ users, count, err := db.SearchByName(ctx, "oB", 1, 1, "")
+ require.NoError(t, err)
+ require.Len(t, users, int(count))
+ assert.Equal(t, int64(1), count)
+ assert.Equal(t, bob.ID, users[0].ID)
+ })
+
+ t.Run("search for full name jordan", func(t *testing.T) {
+ users, count, err := db.SearchByName(ctx, "Jo", 1, 10, "")
+ require.NoError(t, err)
+ require.Len(t, users, int(count))
+ assert.Equal(t, int64(2), count)
+ })
+
+ t.Run("search for full name jordan ORDER BY id DESC LIMIT 1", func(t *testing.T) {
+ users, count, err := db.SearchByName(ctx, "Jo", 1, 1, "id DESC")
+ require.NoError(t, err)
+ require.Len(t, users, 1)
+ assert.Equal(t, int64(2), count)
+ assert.Equal(t, bob.ID, users[0].ID)
+ })
+}
+
func usersUpdate(t *testing.T, db *users) {
ctx := context.Background()