@@ -234,3 +234,248 @@ func TestEnterpriseService_DeleteTeam(t *testing.T) {
234234 return client .Enterprise .DeleteTeam (ctx , "e" , "t1" )
235235 })
236236}
237+
238+ func TestEnterpriseService_ListTeamMembers (t * testing.T ) {
239+ t .Parallel ()
240+ client , mux , _ := setup (t )
241+
242+ mux .HandleFunc ("/enterprises/e/teams/t1/memberships" , func (w http.ResponseWriter , r * http.Request ) {
243+ testMethod (t , r , "GET" )
244+ fmt .Fprint (w , `[{
245+ "login": "user1",
246+ "id": 1001,
247+ "url": "https://example.com/user1"
248+ }]` )
249+ })
250+ ctx := t .Context ()
251+ opts := & ListOptions {Page : 1 , PerPage : 10 }
252+ got , _ , err := client .Enterprise .ListTeamMembers (ctx , "e" , "t1" , opts )
253+ if err != nil {
254+ t .Fatalf ("Enterprise.ListTeamMembers returned error: %v" , err )
255+ }
256+
257+ want := []* User {
258+ {
259+ Login : Ptr ("user1" ),
260+ ID : Ptr (int64 (1001 )),
261+ URL : Ptr ("https://example.com/user1" ),
262+ },
263+ }
264+
265+ if ! cmp .Equal (got , want ) {
266+ t .Errorf ("Enterprise.ListTeamMembers = %+v, want %+v" , got , want )
267+ }
268+
269+ const methodName = "ListTeamMembers"
270+ testBadOptions (t , methodName , func () error {
271+ _ , _ , err := client .Enterprise .ListTeamMembers (ctx , "\n " , "t1" , opts )
272+ return err
273+ })
274+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
275+ got , resp , err := client .Enterprise .ListTeamMembers (ctx , "e" , "t1" , opts )
276+ if got != nil {
277+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
278+ }
279+ return resp , err
280+ })
281+ }
282+
283+ func TestEnterpriseService_BulkAddTeamMembers (t * testing.T ) {
284+ t .Parallel ()
285+ client , mux , _ := setup (t )
286+
287+ mux .HandleFunc ("/enterprises/e/teams/t1/memberships/add" , func (w http.ResponseWriter , r * http.Request ) {
288+ testMethod (t , r , "POST" )
289+
290+ fmt .Fprint (w , `[{
291+ "login": "u1",
292+ "id": 1
293+ },{
294+ "login": "u2",
295+ "id": 2
296+ }]` )
297+ })
298+
299+ ctx := t .Context ()
300+ got , _ , err := client .Enterprise .BulkAddTeamMembers (ctx , "e" , "t1" , []string {"u1" , "u2" })
301+ if err != nil {
302+ t .Fatalf ("BulkAddTeamMembers returned error: %v" , err )
303+ }
304+
305+ want := []* User {
306+ {Login : Ptr ("u1" ), ID : Ptr (int64 (1 ))},
307+ {Login : Ptr ("u2" ), ID : Ptr (int64 (2 ))},
308+ }
309+
310+ if ! cmp .Equal (got , want ) {
311+ t .Errorf ("BulkAddTeamMembers = %+v, want %+v" , got , want )
312+ }
313+
314+ const methodName = "BulkAddTeamMembers"
315+ testBadOptions (t , methodName , func () error {
316+ _ , _ , err := client .Enterprise .BulkAddTeamMembers (ctx , "\n " , "t1" , []string {"u1" })
317+ return err
318+ })
319+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
320+ got , resp , err := client .Enterprise .BulkAddTeamMembers (ctx , "e" , "t1" , []string {"u1" })
321+ if got != nil {
322+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
323+ }
324+ return resp , err
325+ })
326+ }
327+
328+ func TestEnterpriseService_BulkRemoveTeamMembers (t * testing.T ) {
329+ t .Parallel ()
330+ client , mux , _ := setup (t )
331+
332+ mux .HandleFunc ("/enterprises/e/teams/t1/memberships/remove" , func (w http.ResponseWriter , r * http.Request ) {
333+ testMethod (t , r , "POST" )
334+
335+ fmt .Fprint (w , `[{
336+ "login": "u1",
337+ "id": 1
338+ },{
339+ "login": "u2",
340+ "id": 2
341+ }]` )
342+ })
343+
344+ ctx := t .Context ()
345+ got , _ , err := client .Enterprise .BulkRemoveTeamMembers (ctx , "e" , "t1" , []string {"u1" , "u2" })
346+ if err != nil {
347+ t .Fatalf ("BulkRemoveTeamMembers returned error: %v" , err )
348+ }
349+
350+ want := []* User {
351+ {Login : Ptr ("u1" ), ID : Ptr (int64 (1 ))},
352+ {Login : Ptr ("u2" ), ID : Ptr (int64 (2 ))},
353+ }
354+
355+ if ! cmp .Equal (got , want ) {
356+ t .Errorf ("BulkRemoveTeamMembers = %+v, want %+v" , got , want )
357+ }
358+
359+ const methodName = "BulkRemoveTeamMembers"
360+ testBadOptions (t , methodName , func () error {
361+ _ , _ , err := client .Enterprise .BulkRemoveTeamMembers (ctx , "\n " , "t1" , []string {"u1" })
362+ return err
363+ })
364+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
365+ got , resp , err := client .Enterprise .BulkRemoveTeamMembers (ctx , "e" , "t1" , []string {"u1" })
366+ if got != nil {
367+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
368+ }
369+ return resp , err
370+ })
371+ }
372+
373+ func TestEnterpriseService_GetTeamMembership (t * testing.T ) {
374+ t .Parallel ()
375+ client , mux , _ := setup (t )
376+
377+ mux .HandleFunc ("/enterprises/e/teams/t1/memberships/u1" , func (w http.ResponseWriter , r * http.Request ) {
378+ testMethod (t , r , "GET" )
379+ fmt .Fprint (w , `{
380+ "login": "u1",
381+ "id": 10
382+ }` )
383+ })
384+
385+ ctx := t .Context ()
386+ got , _ , err := client .Enterprise .GetTeamMembership (ctx , "e" , "t1" , "u1" )
387+ if err != nil {
388+ t .Fatalf ("GetTeamMembership returned error: %v" , err )
389+ }
390+
391+ want := & User {
392+ Login : Ptr ("u1" ),
393+ ID : Ptr (int64 (10 )),
394+ }
395+
396+ if ! cmp .Equal (got , want ) {
397+ t .Errorf ("GetTeamMembership = %+v, want %+v" , got , want )
398+ }
399+
400+ const methodName = "GetTeamMembership"
401+ testBadOptions (t , methodName , func () error {
402+ _ , _ , err := client .Enterprise .GetTeamMembership (ctx , "\n " , "t1" , "u1" )
403+ return err
404+ })
405+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
406+ got , resp , err := client .Enterprise .GetTeamMembership (ctx , "e" , "t1" , "u1" )
407+ if got != nil {
408+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
409+ }
410+ return resp , err
411+ })
412+ }
413+
414+ func TestEnterpriseService_AddTeamMember (t * testing.T ) {
415+ t .Parallel ()
416+ client , mux , _ := setup (t )
417+
418+ mux .HandleFunc ("/enterprises/e/teams/t1/memberships/u1" , func (w http.ResponseWriter , r * http.Request ) {
419+ testMethod (t , r , "PUT" )
420+ fmt .Fprint (w , `{
421+ "login": "u1",
422+ "id": 5
423+ }` )
424+ })
425+
426+ ctx := t .Context ()
427+ got , _ , err := client .Enterprise .AddTeamMember (ctx , "e" , "t1" , "u1" )
428+ if err != nil {
429+ t .Fatalf ("AddTeamMember returned error: %v" , err )
430+ }
431+
432+ want := & User {
433+ Login : Ptr ("u1" ),
434+ ID : Ptr (int64 (5 )),
435+ }
436+
437+ if ! cmp .Equal (got , want ) {
438+ t .Errorf ("AddTeamMember = %+v, want %+v" , got , want )
439+ }
440+
441+ const methodName = "AddTeamMember"
442+ testBadOptions (t , methodName , func () error {
443+ _ , _ , err := client .Enterprise .AddTeamMember (ctx , "\n " , "t1" , "u1" )
444+ return err
445+ })
446+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
447+ got , resp , err := client .Enterprise .AddTeamMember (ctx , "e" , "t1" , "u1" )
448+ if got != nil {
449+ t .Errorf ("testNewRequestAndDoFailure %v = %#v, want nil" , methodName , got )
450+ }
451+ return resp , err
452+ })
453+ }
454+
455+ func TestEnterpriseService_RemoveTeamMember (t * testing.T ) {
456+ t .Parallel ()
457+ client , mux , _ := setup (t )
458+
459+ mux .HandleFunc ("/enterprises/e/teams/t1/memberships/u1" , func (w http.ResponseWriter , r * http.Request ) {
460+ testMethod (t , r , "DELETE" )
461+ w .WriteHeader (http .StatusNoContent )
462+ })
463+
464+ ctx := t .Context ()
465+ resp , err := client .Enterprise .RemoveTeamMember (ctx , "e" , "t1" , "u1" )
466+ if err != nil {
467+ t .Fatalf ("RemoveTeamMember returned error: %v" , err )
468+ }
469+ if resp == nil {
470+ t .Fatal ("RemoveTeamMember returned nil Response" )
471+ }
472+
473+ const methodName = "RemoveTeamMember"
474+ testBadOptions (t , methodName , func () error {
475+ _ , err := client .Enterprise .RemoveTeamMember (ctx , "\n " , "t1" , "u1" )
476+ return err
477+ })
478+ testNewRequestAndDoFailure (t , methodName , client , func () (* Response , error ) {
479+ return client .Enterprise .RemoveTeamMember (ctx , "e" , "t1" , "u1" )
480+ })
481+ }
0 commit comments