Этот коммит содержится в:
Andrei Stanciu
2017-02-28 10:41:38 +02:00
коммит произвёл George Goldberg
родитель 83c113595a
Коммит 45edfbe719
6 изменённых файлов: 154 добавлений и 0 удалений

Просмотреть файл

@@ -16,6 +16,7 @@ func InitTeam() {
l4g.Debug(utils.T("api.team.init.debug"))
BaseRoutes.Teams.Handle("", ApiSessionRequired(createTeam)).Methods("POST")
BaseRoutes.Teams.Handle("", ApiSessionRequired(getAllTeams)).Methods("GET")
BaseRoutes.TeamsForUser.Handle("", ApiSessionRequired(getTeamsForUser)).Methods("GET")
BaseRoutes.Team.Handle("", ApiSessionRequired(getTeam)).Methods("GET")
@@ -189,3 +190,21 @@ func updateTeamMemberRoles(c *Context, w http.ResponseWriter, r *http.Request) {
ReturnStatusOK(w)
}
func getAllTeams(c *Context, w http.ResponseWriter, r *http.Request) {
var teams []*model.Team
var err *model.AppError
if app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
teams, err = app.GetAllTeamsPage(c.Params.Page, c.Params.PerPage)
} else {
teams, err = app.GetAllOpenTeamsPage(c.Params.Page, c.Params.PerPage)
}
if err != nil {
c.Err = err
return
}
w.Write([]byte(model.TeamListToJson(teams)))
}

Просмотреть файл

@@ -114,6 +114,54 @@ func TestGetTeam(t *testing.T) {
CheckNoError(t, resp)
}
func TestGetAllTeams(t *testing.T) {
th := Setup().InitBasic().InitSystemAdmin()
defer TearDown()
Client := th.Client
team := &model.Team{DisplayName: "Name", Name: GenerateTestTeamName(), Email: GenerateTestEmail(), Type: model.TEAM_OPEN, AllowOpenInvite: true}
_, resp := Client.CreateTeam(team)
CheckNoError(t, resp)
rrteams, resp := Client.GetAllTeams("", 1, 1)
CheckNoError(t, resp)
if (len(rrteams) != 1) {
t.Fatal("wrong number of teams - should be 1")
}
for _, rt := range rrteams {
if rt.Type != model.TEAM_OPEN {
t.Fatal("not all teams are open")
}
}
rrteams1, resp := Client.GetAllTeams("", 1, 0)
CheckNoError(t, resp)
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) {
t.Fatal("wrong number of teams - should be 1")
}
rrteams2, resp = Client.GetAllTeams("", 1, 0)
CheckNoError(t, resp)
if (len(rrteams2) != 0) {
t.Fatal("wrong number of teams - should be 0")
}
Client.Logout()
_, resp = Client.GetAllTeams("", 1, 10)
CheckUnauthorizedStatus(t, resp)
}
func TestGetTeamByName(t *testing.T) {
th := Setup().InitBasic().InitSystemAdmin()
defer TearDown()