@@ -80,6 +80,106 @@ func TestListBillableGroupMembers(t *testing.T) {
8080 assert .Equal (t , want , billableMembers , "Expected returned Groups.ListBillableGroupMembers to equal" )
8181}
8282
83+ func TestListGroupMembersWithoutEmail (t * testing.T ) {
84+ mux , client := setup (t )
85+
86+ mux .HandleFunc ("/api/v4/groups/1/members" ,
87+ func (w http.ResponseWriter , r * http.Request ) {
88+ testMethod (t , r , http .MethodGet )
89+ fmt .Fprint (w ,
90+ `[
91+ {
92+ "id": 1,
93+ "username": "raymond_smith",
94+ "name": "Raymond Smith",
95+ "state": "active",
96+ "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
97+ "web_url": "http://192.168.1.8:3000/root",
98+ "created_at": "2012-10-21T14:13:35Z",
99+ "expires_at": "2012-10-22",
100+ "access_level": 30,
101+ "group_saml_identity": null
102+ }
103+ ]` )
104+ })
105+
106+ members , _ , err := client .Groups .ListGroupMembers (1 , & ListGroupMembersOptions {})
107+ if err != nil {
108+ t .Errorf ("Groups.ListGroupMembers returned error: %v" , err )
109+ }
110+
111+ createdAt , _ := time .Parse (time .RFC3339 , "2012-10-21T14:13:35Z" )
112+ expiresAt , _ := time .Parse (time .RFC3339 , "2012-10-22T00:00:00Z" )
113+ expiresAtISOTime := ISOTime (expiresAt )
114+ want := []* GroupMember {
115+ {
116+ ID : 1 ,
117+ Username : "raymond_smith" ,
118+ Name : "Raymond Smith" ,
119+ State : "active" ,
120+ AvatarURL : "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon" ,
121+ WebURL : "http://192.168.1.8:3000/root" ,
122+ CreatedAt : & createdAt ,
123+ ExpiresAt : & expiresAtISOTime ,
124+ AccessLevel : 30 ,
125+ },
126+ }
127+ if ! reflect .DeepEqual (want , members ) {
128+ t .Errorf ("Groups.ListBillableGroupMembers returned %+v, want %+v" , members [0 ], want [0 ])
129+ }
130+ }
131+
132+ func TestListGroupMembersWithEmail (t * testing.T ) {
133+ mux , client := setup (t )
134+
135+ mux .HandleFunc ("/api/v4/groups/1/members" ,
136+ func (w http.ResponseWriter , r * http.Request ) {
137+ testMethod (t , r , http .MethodGet )
138+ fmt .Fprint (w ,
139+ `[
140+ {
141+ "id": 1,
142+ "username": "raymond_smith",
143+ "name": "Raymond Smith",
144+ "state": "active",
145+ "avatar_url": "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon",
146+ "web_url": "http://192.168.1.8:3000/root",
147+ "created_at": "2012-10-21T14:13:35Z",
148+ "expires_at": "2012-10-22",
149+ "access_level": 30,
150+ "email": "john@example.com",
151+ "group_saml_identity": null
152+ }
153+ ]` )
154+ })
155+
156+ members , _ , err := client .Groups .ListGroupMembers (1 , & ListGroupMembersOptions {})
157+ if err != nil {
158+ t .Errorf ("Groups.ListGroupMembers returned error: %v" , err )
159+ }
160+
161+ createdAt , _ := time .Parse (time .RFC3339 , "2012-10-21T14:13:35Z" )
162+ expiresAt , _ := time .Parse (time .RFC3339 , "2012-10-22T00:00:00Z" )
163+ expiresAtISOTime := ISOTime (expiresAt )
164+ want := []* GroupMember {
165+ {
166+ ID : 1 ,
167+ Username : "raymond_smith" ,
168+ Name : "Raymond Smith" ,
169+ State : "active" ,
170+ AvatarURL : "https://www.gravatar.com/avatar/c2525a7f58ae3776070e44c106c48e15?s=80&d=identicon" ,
171+ WebURL : "http://192.168.1.8:3000/root" ,
172+ CreatedAt : & createdAt ,
173+ ExpiresAt : & expiresAtISOTime ,
174+ AccessLevel : 30 ,
175+ Email : "john@example.com" ,
176+ },
177+ }
178+ if ! reflect .DeepEqual (want , members ) {
179+ t .Errorf ("Groups.ListBillableGroupMembers returned %+v, want %+v" , members [0 ], want [0 ])
180+ }
181+ }
182+
83183func TestListGroupMembersWithoutSAML (t * testing.T ) {
84184 mux , client := setup (t )
85185
0 commit comments