summaryrefslogtreecommitdiffstats
path: root/api4/team_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'api4/team_test.go')
-rw-r--r--api4/team_test.go208
1 files changed, 202 insertions, 6 deletions
diff --git a/api4/team_test.go b/api4/team_test.go
index e54cf4414..4b69f5b62 100644
--- a/api4/team_test.go
+++ b/api4/team_test.go
@@ -114,6 +114,138 @@ func TestGetTeam(t *testing.T) {
CheckNoError(t, resp)
}
+func TestGetTeamUnread(t *testing.T) {
+ th := Setup().InitBasic().InitSystemAdmin()
+ defer TearDown()
+ Client := th.Client
+
+ teamUnread, resp := Client.GetTeamUnread(th.BasicTeam.Id, th.BasicUser.Id)
+ CheckNoError(t, resp)
+ if teamUnread.TeamId != th.BasicTeam.Id {
+ t.Fatal("wrong team id returned for regular user call")
+ }
+
+ _, resp = Client.GetTeamUnread("junk", th.BasicUser.Id)
+ CheckBadRequestStatus(t, resp)
+
+ _, resp = Client.GetTeamUnread(th.BasicTeam.Id, "junk")
+ CheckBadRequestStatus(t, resp)
+
+ _, resp = Client.GetTeamUnread(model.NewId(), th.BasicUser.Id)
+ CheckForbiddenStatus(t, resp)
+
+ _, resp = Client.GetTeamUnread(th.BasicTeam.Id, model.NewId())
+ CheckForbiddenStatus(t, resp)
+
+ Client.Logout()
+ _, resp = Client.GetTeamUnread(th.BasicTeam.Id, th.BasicUser.Id)
+ CheckUnauthorizedStatus(t, resp)
+
+ teamUnread, resp = th.SystemAdminClient.GetTeamUnread(th.BasicTeam.Id, th.BasicUser.Id)
+ CheckNoError(t, resp)
+ if teamUnread.TeamId != th.BasicTeam.Id {
+ t.Fatal("wrong team id returned")
+ }
+}
+
+func TestUpdateTeam(t *testing.T) {
+ th := Setup().InitBasic().InitSystemAdmin()
+ defer TearDown()
+ Client := th.Client
+
+ team := &model.Team{DisplayName: "Name", Description: "Some description", AllowOpenInvite: false, InviteId: "inviteid0", Name: "z-z-" + model.NewId() + "a", Email: "success+" + model.NewId() + "@simulator.amazonses.com", Type: model.TEAM_OPEN}
+ team, _ = Client.CreateTeam(team)
+
+ team.Description = "updated description"
+ uteam, resp := Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.Description != "updated description" {
+ t.Fatal("Update failed")
+ }
+
+ team.DisplayName = "Updated Name"
+ uteam, resp = Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.DisplayName != "Updated Name" {
+ t.Fatal("Update failed")
+ }
+
+ team.AllowOpenInvite = true
+ uteam, resp = Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.AllowOpenInvite != true {
+ t.Fatal("Update failed")
+ }
+
+ team.InviteId = "inviteid1"
+ uteam, resp = Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.InviteId != "inviteid1" {
+ t.Fatal("Update failed")
+ }
+
+ team.Name = "Updated name"
+ uteam, resp = Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.Name == "Updated name" {
+ t.Fatal("Should not update name")
+ }
+
+ team.Email = "test@domain.com"
+ uteam, resp = Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.Email == "test@domain.com" {
+ t.Fatal("Should not update email")
+ }
+
+ team.Type = model.TEAM_INVITE
+ uteam, resp = Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.Type == model.TEAM_INVITE {
+ t.Fatal("Should not update type")
+ }
+
+ team.AllowedDomains = "domain"
+ uteam, resp = Client.UpdateTeam(team)
+ CheckNoError(t, resp)
+
+ if uteam.AllowedDomains == "domain" {
+ t.Fatal("Should not update allowed_domains")
+ }
+
+ originalTeamId := team.Id
+ team.Id = model.NewId()
+
+ if r, err := Client.DoApiPut(Client.GetTeamRoute(originalTeamId), team.ToJson()); err != nil {
+ t.Fatal(err)
+ } else {
+ uteam = model.TeamFromJson(r.Body)
+ }
+
+ if uteam.Id != originalTeamId {
+ t.Fatal("wrong team id")
+ }
+
+ team.Id = "fake"
+ _, resp = Client.UpdateTeam(team)
+ CheckBadRequestStatus(t, resp)
+
+ Client.Logout()
+ _, resp = Client.UpdateTeam(team)
+ CheckUnauthorizedStatus(t, resp)
+
+ team.Id = originalTeamId
+ _, resp = th.SystemAdminClient.UpdateTeam(team)
+ CheckNoError(t, resp)
+}
+
func TestGetAllTeams(t *testing.T) {
th := Setup().InitBasic().InitSystemAdmin()
defer TearDown()
@@ -123,10 +255,11 @@ func TestGetAllTeams(t *testing.T) {
_, resp := Client.CreateTeam(team)
CheckNoError(t, resp)
- rrteams, resp := Client.GetAllTeams("", 1, 1)
+ rrteams, resp := Client.GetAllTeams("", 0, 1)
CheckNoError(t, resp)
- if (len(rrteams) != 1) {
+ if len(rrteams) != 1 {
+ t.Log(len(rrteams))
t.Fatal("wrong number of teams - should be 1")
}
@@ -139,21 +272,21 @@ func TestGetAllTeams(t *testing.T) {
rrteams1, resp := Client.GetAllTeams("", 1, 0)
CheckNoError(t, resp)
- if (len(rrteams1) != 0) {
+ if len(rrteams1) != 0 {
t.Fatal("wrong number of teams - should be 0")
}
rrteams2, resp := th.SystemAdminClient.GetAllTeams("", 1, 1)
CheckNoError(t, resp)
- if (len(rrteams2) != 1) {
+ if len(rrteams2) != 1 {
t.Fatal("wrong number of teams - should be 1")
}
rrteams2, resp = Client.GetAllTeams("", 1, 0)
CheckNoError(t, resp)
- if (len(rrteams2) != 0) {
+ if len(rrteams2) != 0 {
t.Fatal("wrong number of teams - should be 0")
}
@@ -331,6 +464,44 @@ func TestGetTeamMembers(t *testing.T) {
CheckNoError(t, resp)
}
+func TestGetTeamMembersByIds(t *testing.T) {
+ th := Setup().InitBasic()
+ defer TearDown()
+ Client := th.Client
+
+ tm, resp := Client.GetTeamMembersByIds(th.BasicTeam.Id, []string{th.BasicUser.Id})
+ CheckNoError(t, resp)
+
+ if tm[0].UserId != th.BasicUser.Id {
+ t.Fatal("returned wrong user")
+ }
+
+ _, resp = Client.GetTeamMembersByIds(th.BasicTeam.Id, []string{})
+ CheckBadRequestStatus(t, resp)
+
+ tm1, resp := Client.GetTeamMembersByIds(th.BasicTeam.Id, []string{"junk"})
+ CheckNoError(t, resp)
+ if len(tm1) > 0 {
+ t.Fatal("no users should be returned")
+ }
+
+ tm1, resp = Client.GetTeamMembersByIds(th.BasicTeam.Id, []string{"junk", th.BasicUser.Id})
+ CheckNoError(t, resp)
+ if len(tm1) != 1 {
+ t.Fatal("1 user should be returned")
+ }
+
+ tm1, resp = Client.GetTeamMembersByIds("junk", []string{th.BasicUser.Id})
+ CheckBadRequestStatus(t, resp)
+
+ tm1, resp = Client.GetTeamMembersByIds(model.NewId(), []string{th.BasicUser.Id})
+ CheckForbiddenStatus(t, resp)
+
+ Client.Logout()
+ _, resp = Client.GetTeamMembersByIds(th.BasicTeam.Id, []string{th.BasicUser.Id})
+ CheckUnauthorizedStatus(t, resp)
+}
+
func TestGetTeamStats(t *testing.T) {
th := Setup().InitBasic().InitSystemAdmin()
defer TearDown()
@@ -493,4 +664,29 @@ func TestGetMyTeamsUnread(t *testing.T) {
Client.Logout()
_, resp = Client.GetTeamsUnreadForUser(user.Id, "")
CheckUnauthorizedStatus(t, resp)
-} \ No newline at end of file
+}
+
+func TestTeamExists(t *testing.T) {
+ th := Setup().InitBasic().InitSystemAdmin()
+ defer TearDown()
+ Client := th.Client
+ team := th.BasicTeam
+
+ th.LoginBasic()
+
+ exists, resp := Client.TeamExists(team.Name, "")
+ CheckNoError(t, resp)
+ if exists != true {
+ t.Fatal("team should exist")
+ }
+
+ exists, resp = Client.TeamExists("testingteam", "")
+ CheckNoError(t, resp)
+ if exists != false {
+ t.Fatal("team should not exist")
+ }
+
+ Client.Logout()
+ _, resp = Client.TeamExists(team.Name, "")
+ CheckUnauthorizedStatus(t, resp)
+}