diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/team.go | 21 | ||||
-rw-r--r-- | api/team_test.go | 28 |
2 files changed, 41 insertions, 8 deletions
diff --git a/api/team.go b/api/team.go index 5a8c605ef..b1a1ae3cd 100644 --- a/api/team.go +++ b/api/team.go @@ -902,16 +902,27 @@ func getTeamStats(c *Context, w http.ResponseWriter, r *http.Request) { } } - if result := <-Srv.Store.Team().GetMemberCount(c.TeamId); result.Err != nil { + tchan := Srv.Store.Team().GetTotalMemberCount(c.TeamId) + achan := Srv.Store.Team().GetActiveMemberCount(c.TeamId) + + stats := &model.TeamStats{} + stats.TeamId = c.TeamId + + if result := <-tchan; result.Err != nil { c.Err = result.Err return } else { - stats := &model.TeamStats{} - stats.MemberCount = result.Data.(int64) - stats.TeamId = c.TeamId - w.Write([]byte(stats.ToJson())) + stats.TotalMemberCount = result.Data.(int64) + } + + if result := <-achan; result.Err != nil { + c.Err = result.Err return + } else { + stats.ActiveMemberCount = result.Data.(int64) } + + w.Write([]byte(stats.ToJson())) } func importTeam(c *Context, w http.ResponseWriter, r *http.Request) { diff --git a/api/team_test.go b/api/team_test.go index bac0228ad..ec3c40e51 100644 --- a/api/team_test.go +++ b/api/team_test.go @@ -706,7 +706,25 @@ func TestGetTeamStats(t *testing.T) { if result, err := th.SystemAdminClient.GetTeamStats(th.BasicTeam.Id); err != nil { t.Fatal(err) } else { - if result.Data.(*model.TeamStats).MemberCount != 2 { + if result.Data.(*model.TeamStats).TotalMemberCount != 2 { + t.Fatal("wrong count") + } + + if result.Data.(*model.TeamStats).ActiveMemberCount != 2 { + t.Fatal("wrong count") + } + } + + th.SystemAdminClient.Must(th.SystemAdminClient.UpdateActive(th.BasicUser2.Id, false)) + + if result, err := th.SystemAdminClient.GetTeamStats(th.BasicTeam.Id); err != nil { + t.Fatal(err) + } else { + if result.Data.(*model.TeamStats).TotalMemberCount != 2 { + t.Fatal("wrong count") + } + + if result.Data.(*model.TeamStats).ActiveMemberCount != 1 { t.Fatal("wrong count") } } @@ -714,7 +732,11 @@ func TestGetTeamStats(t *testing.T) { if result, err := th.SystemAdminClient.GetTeamStats("junk"); err != nil { t.Fatal(err) } else { - if result.Data.(*model.TeamStats).MemberCount != 0 { + if result.Data.(*model.TeamStats).TotalMemberCount != 0 { + t.Fatal("wrong count") + } + + if result.Data.(*model.TeamStats).ActiveMemberCount != 0 { t.Fatal("wrong count") } } @@ -722,7 +744,7 @@ func TestGetTeamStats(t *testing.T) { if result, err := th.SystemAdminClient.GetTeamStats(th.BasicTeam.Id); err != nil { t.Fatal(err) } else { - if result.Data.(*model.TeamStats).MemberCount != 2 { + if result.Data.(*model.TeamStats).TotalMemberCount != 2 { t.Fatal("wrong count") } } |