@@ -255,3 +255,91 @@ func TestTimeline_Marshal(t *testing.T) {
255255
256256testJSONMarshal (t , u , want )
257257}
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