@@ -255,3 +255,91 @@ func TestTimeline_Marshal(t *testing.T) {
255
255
256
256
testJSONMarshal (t , u , want )
257
257
}
258
+
259
+ func TestTimeline_ReviewRequests (t * testing.T ) {
260
+ t .Parallel ()
261
+ client , mux , _ := setup (t )
262
+
263
+ mux .HandleFunc ("/repos/example-org/example-repo/issues/3/timeline" , func (w http.ResponseWriter , r * http.Request ) {
264
+ testMethod (t , r , "GET" )
265
+ fmt .Fprint (w , `[{
266
+ "id": 1234567890,
267
+ "url": "http://example.com/timeline/1",
268
+ "actor": {
269
+ "login": "actor-user",
270
+ "id": 1
271
+ },
272
+ "event": "review_requested",
273
+ "created_at": "2006-01-02T15:04:05Z",
274
+ "requested_reviewer": {
275
+ "login": "reviewer-user",
276
+ "id": 2
277
+ },
278
+ "review_requester": {
279
+ "login": "requester-user",
280
+ "id": 1
281
+ }
282
+ },
283
+ {
284
+ "id": 1234567891,
285
+ "url": "http://example.com/timeline/2",
286
+ "actor": {
287
+ "login": "actor-user",
288
+ "id": 1
289
+ },
290
+ "event": "review_request_removed",
291
+ "created_at": "2006-01-02T15:04:05Z",
292
+ "requested_reviewer": {
293
+ "login": "reviewer-user",
294
+ "id": 2
295
+ }
296
+ }]` )
297
+ })
298
+
299
+ ctx := context .Background ()
300
+ events , _ , err := client .Issues .ListIssueTimeline (ctx , "example-org" , "example-repo" , 3 , nil )
301
+ if err != nil {
302
+ t .Errorf ("Issues.ListIssueTimeline returned error: %v" , err )
303
+ }
304
+
305
+ want := []* Timeline {
306
+ {
307
+ ID : Ptr (int64 (1234567890 )),
308
+ URL : Ptr ("http://example.com/timeline/1" ),
309
+ Actor : & User {
310
+ Login : Ptr ("actor-user" ),
311
+ ID : Ptr (int64 (1 )),
312
+ },
313
+ Event : Ptr ("review_requested" ),
314
+ CreatedAt : & Timestamp {referenceTime },
315
+ Reviewer : & User {
316
+ Login : Ptr ("reviewer-user" ),
317
+ ID : Ptr (int64 (2 )),
318
+ },
319
+ Requester : & User {
320
+ Login : Ptr ("requester-user" ),
321
+ ID : Ptr (int64 (1 )),
322
+ },
323
+ },
324
+ {
325
+ ID : Ptr (int64 (1234567891 )),
326
+ URL : Ptr ("http://example.com/timeline/2" ),
327
+ Actor : & User {
328
+ Login : Ptr ("actor-user" ),
329
+ ID : Ptr (int64 (1 )),
330
+ },
331
+ Event : Ptr ("review_request_removed" ),
332
+ CreatedAt : & Timestamp {referenceTime },
333
+ Reviewer : & User {
334
+ Login : Ptr ("reviewer-user" ),
335
+ ID : Ptr (int64 (2 )),
336
+ },
337
+ },
338
+ }
339
+
340
+ if ! cmp .Equal (events , want ) {
341
+ t .Errorf ("Issues.ListIssueTimeline review request events = %+v, want %+v" , events , want )
342
+ diff := cmp .Diff (events , want )
343
+ t .Errorf ("Difference: %s" , diff )
344
+ }
345
+ }
0 commit comments