summaryrefslogtreecommitdiffstats
path: root/api4/user_test.go
diff options
context:
space:
mode:
authorHarrison Healey <harrisonmhealey@gmail.com>2017-03-29 21:11:40 -0400
committerJoram Wilander <jwawilander@gmail.com>2017-03-29 21:11:40 -0400
commit6ac87d82e38c83e3b9b3bd12c3122e047f0110b1 (patch)
treeaa3f0f8f41df7c987f8bb62756ca3d8259ecbaa1 /api4/user_test.go
parenta4764a5c10ec59820eec7338d97be48d41c1a4d6 (diff)
downloadchat-6ac87d82e38c83e3b9b3bd12c3122e047f0110b1.tar.gz
chat-6ac87d82e38c83e3b9b3bd12c3122e047f0110b1.tar.bz2
chat-6ac87d82e38c83e3b9b3bd12c3122e047f0110b1.zip
PLT-2713 Added ability for admins to list users not in any team (#5844)
* PLT-2713 Added ability for admins to list users not in any team * Updated style of unit test
Diffstat (limited to 'api4/user_test.go')
-rw-r--r--api4/user_test.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/api4/user_test.go b/api4/user_test.go
index f6561310b..21b240957 100644
--- a/api4/user_test.go
+++ b/api4/user_test.go
@@ -851,6 +851,56 @@ func TestGetUsers(t *testing.T) {
CheckUnauthorizedStatus(t, resp)
}
+func TestGetUsersWithoutTeam(t *testing.T) {
+ th := Setup().InitBasic().InitSystemAdmin()
+ defer TearDown()
+ Client := th.Client
+ SystemAdminClient := th.SystemAdminClient
+
+ if _, resp := Client.GetUsersWithoutTeam(0, 100, ""); resp.Error == nil {
+ t.Fatal("should prevent non-admin user from getting users without a team")
+ }
+
+ // These usernames need to appear in the first 100 users for this to work
+
+ user, resp := Client.CreateUser(&model.User{
+ Username: "a000000000" + model.NewId(),
+ Email: "success+" + model.NewId() + "@simulator.amazonses.com",
+ Password: "Password1",
+ })
+ CheckNoError(t, resp)
+ LinkUserToTeam(user, th.BasicTeam)
+ defer app.Srv.Store.User().PermanentDelete(user.Id)
+
+ user2, resp := Client.CreateUser(&model.User{
+ Username: "a000000001" + model.NewId(),
+ Email: "success+" + model.NewId() + "@simulator.amazonses.com",
+ Password: "Password1",
+ })
+ CheckNoError(t, resp)
+ defer app.Srv.Store.User().PermanentDelete(user2.Id)
+
+ rusers, resp := SystemAdminClient.GetUsersWithoutTeam(0, 100, "")
+ CheckNoError(t, resp)
+
+ found1 := false
+ found2 := false
+
+ for _, u := range rusers {
+ if u.Id == user.Id {
+ found1 = true
+ } else if u.Id == user2.Id {
+ found2 = true
+ }
+ }
+
+ if found1 {
+ t.Fatal("shouldn't have returned user that has a team")
+ } else if !found2 {
+ t.Fatal("should've returned user that has no teams")
+ }
+}
+
func TestGetUsersInTeam(t *testing.T) {
th := Setup().InitBasic().InitSystemAdmin()
defer TearDown()