summaryrefslogtreecommitdiffstats
path: root/api4/team_test.go
diff options
context:
space:
mode:
authorJoram Wilander <jwawilander@gmail.com>2017-02-07 08:57:41 -0800
committerHarrison Healey <harrisonmhealey@gmail.com>2017-02-07 08:57:41 -0800
commitba18374bd1b2644e577247204fad17dd52913b9b (patch)
tree1399082cc810f0708497bc2fc95a6da49d793bd3 /api4/team_test.go
parentd91fea65188a51dd41976cad47f9c8ebacd75a04 (diff)
downloadchat-ba18374bd1b2644e577247204fad17dd52913b9b.tar.gz
chat-ba18374bd1b2644e577247204fad17dd52913b9b.tar.bz2
chat-ba18374bd1b2644e577247204fad17dd52913b9b.zip
Implement a few team endpoints for APIv4 (#5296)
* Implement GET /teams/{team_id} endpoint for APIv4 * Implement GET /users/{user_id}/teams endpoint for APIv4 * Implement GET /teams/{team_id}/members/{user_id} endpoint for APIv4
Diffstat (limited to 'api4/team_test.go')
-rw-r--r--api4/team_test.go118
1 files changed, 118 insertions, 0 deletions
diff --git a/api4/team_test.go b/api4/team_test.go
index 90f237151..5c6d64ace 100644
--- a/api4/team_test.go
+++ b/api4/team_test.go
@@ -74,3 +74,121 @@ func TestCreateTeam(t *testing.T) {
_, resp = Client.CreateTeam(team)
CheckForbiddenStatus(t, resp)
}
+
+func TestGetTeam(t *testing.T) {
+ th := Setup().InitBasic().InitSystemAdmin()
+ defer TearDown()
+ Client := th.Client
+ team := th.BasicTeam
+
+ rteam, resp := Client.GetTeam(team.Id, "")
+ CheckNoError(t, resp)
+
+ if rteam.Id != team.Id {
+ t.Fatal("wrong team")
+ }
+
+ _, resp = Client.GetTeam("junk", "")
+ CheckBadRequestStatus(t, resp)
+
+ _, resp = Client.GetTeam("", "")
+ CheckNotFoundStatus(t, resp)
+
+ _, resp = Client.GetTeam(model.NewId(), "")
+ CheckNotFoundStatus(t, resp)
+
+ th.LoginTeamAdmin()
+
+ team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_INVITE}
+ rteam2, _ := Client.CreateTeam(team2)
+
+ th.LoginBasic()
+ _, resp = Client.GetTeam(rteam2.Id, "")
+ CheckForbiddenStatus(t, resp)
+
+ Client.Logout()
+ _, resp = Client.GetTeam(team.Id, "")
+ CheckUnauthorizedStatus(t, resp)
+
+ _, resp = th.SystemAdminClient.GetTeam(rteam2.Id, "")
+ CheckNoError(t, resp)
+}
+
+func TestGetTeamsForUser(t *testing.T) {
+ th := Setup().InitBasic().InitSystemAdmin()
+ defer TearDown()
+ Client := th.Client
+
+ team2 := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_INVITE}
+ rteam2, _ := Client.CreateTeam(team2)
+
+ teams, resp := Client.GetTeamsForUser(th.BasicUser.Id, "")
+ CheckNoError(t, resp)
+
+ if len(teams) != 2 {
+ t.Fatal("wrong number of teams")
+ }
+
+ found1 := false
+ found2 := false
+ for _, t := range teams {
+ if t.Id == th.BasicTeam.Id {
+ found1 = true
+ } else if t.Id == rteam2.Id {
+ found2 = true
+ }
+ }
+
+ if !found1 || !found2 {
+ t.Fatal("missing team")
+ }
+
+ _, resp = Client.GetTeamsForUser("junk", "")
+ CheckBadRequestStatus(t, resp)
+
+ _, resp = Client.GetTeamsForUser(model.NewId(), "")
+ CheckForbiddenStatus(t, resp)
+
+ _, resp = Client.GetTeamsForUser(th.BasicUser2.Id, "")
+ CheckForbiddenStatus(t, resp)
+
+ _, resp = th.SystemAdminClient.GetTeamsForUser(th.BasicUser2.Id, "")
+ CheckNoError(t, resp)
+}
+
+func TestGetTeamMember(t *testing.T) {
+ th := Setup().InitBasic().InitSystemAdmin()
+ defer TearDown()
+ Client := th.Client
+ team := th.BasicTeam
+ user := th.BasicUser
+
+ rmember, resp := Client.GetTeamMember(team.Id, user.Id, "")
+ CheckNoError(t, resp)
+
+ if rmember.TeamId != team.Id {
+ t.Fatal("wrong team id")
+ }
+
+ if rmember.UserId != user.Id {
+ t.Fatal("wrong team id")
+ }
+
+ _, resp = Client.GetTeamMember("junk", user.Id, "")
+ CheckBadRequestStatus(t, resp)
+
+ _, resp = Client.GetTeamMember(team.Id, "junk", "")
+ CheckBadRequestStatus(t, resp)
+
+ _, resp = Client.GetTeamMember("junk", "junk", "")
+ CheckBadRequestStatus(t, resp)
+
+ _, resp = Client.GetTeamMember(team.Id, model.NewId(), "")
+ CheckNotFoundStatus(t, resp)
+
+ _, resp = Client.GetTeamMember(model.NewId(), user.Id, "")
+ CheckForbiddenStatus(t, resp)
+
+ _, resp = th.SystemAdminClient.GetTeamMember(team.Id, user.Id, "")
+ CheckNoError(t, resp)
+}