Browse Source

ListUserTeams implementation and test, go build and go test pass

Charlie Yan 11 years ago
parent
commit
ef6e01c09b
2 changed files with 45 additions and 0 deletions
  1. +23
    -0
      github/orgs_teams.go
  2. +22
    -0
      github/orgs_teams_test.go

+ 23
- 0
github/orgs_teams.go View File

@ -252,6 +252,29 @@ func (s *OrganizationsService) RemoveTeamRepo(team int, owner string, repo strin
return s.client.Do(req, nil) return s.client.Do(req, nil)
} }
// ListUserTeams lists a user's teams
// GitHub API docs: https://developer.github.com/v3/orgs/teams/#list-user-teams
func (s *OrganizationsService) ListUserTeams(opt *ListOptions) ([]Team, *Response, error) {
u := "user/teams"
u, err := addOptions(u, opt)
if err != nil {
return nil, nil, err
}
req, err := s.client.NewRequest("GET", u, nil)
if err != nil {
return nil, nil, err
}
teams := new([]Team)
resp, err := s.client.Do(req, teams)
if err != nil {
return nil, resp, err
}
return *teams, resp, err
}
// GetTeamMembership returns the membership status for a user in a team. // GetTeamMembership returns the membership status for a user in a team.
// //
// GitHub API docs: https://developer.github.com/v3/orgs/teams/#get-team-membership // GitHub API docs: https://developer.github.com/v3/orgs/teams/#get-team-membership


+ 22
- 0
github/orgs_teams_test.go View File

@ -493,3 +493,25 @@ func TestOrganizationsService_RemoveTeamMembership(t *testing.T) {
t.Errorf("Organizations.RemoveTeamMembership returned error: %v", err) t.Errorf("Organizations.RemoveTeamMembership returned error: %v", err)
} }
} }
func TestOrganizationsService_ListUserTeams(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/user/teams", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET")
testFormValues(t, r, values{"page": "1"})
fmt.Fprint(w, `[{"id":1}]`)
})
opt := &ListOptions{Page: 1}
teams, _, err := client.Organizations.ListUserTeams(opt)
if err != nil {
t.Errorf("Organizations.ListUserTeams returned error: %v", err)
}
want := []Team{{ID: Int(1)}}
if !reflect.DeepEqual(teams, want) {
t.Errorf("Organizations.ListUserTeams returned %+v, want %+v", teams, want)
}
}

Loading…
Cancel
Save