github.com/google/go-github/v33@v33.0.0/github/issues_events_test.go (about)

     1  // Copyright 2014 The go-github AUTHORS. All rights reserved.
     2  //
     3  // Use of this source code is governed by a BSD-style
     4  // license that can be found in the LICENSE file.
     5  
     6  package github
     7  
     8  import (
     9  	"context"
    10  	"fmt"
    11  	"net/http"
    12  	"reflect"
    13  	"testing"
    14  )
    15  
    16  func TestIssuesService_ListIssueEvents(t *testing.T) {
    17  	client, mux, _, teardown := setup()
    18  	defer teardown()
    19  
    20  	mux.HandleFunc("/repos/o/r/issues/1/events", func(w http.ResponseWriter, r *http.Request) {
    21  		testMethod(t, r, "GET")
    22  		testHeader(t, r, "Accept", mediaTypeProjectCardDetailsPreview)
    23  		testFormValues(t, r, values{
    24  			"page":     "1",
    25  			"per_page": "2",
    26  		})
    27  		fmt.Fprint(w, `[{"id":1}]`)
    28  	})
    29  
    30  	opt := &ListOptions{Page: 1, PerPage: 2}
    31  	events, _, err := client.Issues.ListIssueEvents(context.Background(), "o", "r", 1, opt)
    32  	if err != nil {
    33  		t.Errorf("Issues.ListIssueEvents returned error: %v", err)
    34  	}
    35  
    36  	want := []*IssueEvent{{ID: Int64(1)}}
    37  	if !reflect.DeepEqual(events, want) {
    38  		t.Errorf("Issues.ListIssueEvents returned %+v, want %+v", events, want)
    39  	}
    40  }
    41  
    42  func TestIssuesService_ListRepositoryEvents(t *testing.T) {
    43  	client, mux, _, teardown := setup()
    44  	defer teardown()
    45  
    46  	mux.HandleFunc("/repos/o/r/issues/events", func(w http.ResponseWriter, r *http.Request) {
    47  		testMethod(t, r, "GET")
    48  		testFormValues(t, r, values{
    49  			"page":     "1",
    50  			"per_page": "2",
    51  		})
    52  		fmt.Fprint(w, `[{"id":1}]`)
    53  	})
    54  
    55  	opt := &ListOptions{Page: 1, PerPage: 2}
    56  	events, _, err := client.Issues.ListRepositoryEvents(context.Background(), "o", "r", opt)
    57  	if err != nil {
    58  		t.Errorf("Issues.ListRepositoryEvents returned error: %v", err)
    59  	}
    60  
    61  	want := []*IssueEvent{{ID: Int64(1)}}
    62  	if !reflect.DeepEqual(events, want) {
    63  		t.Errorf("Issues.ListRepositoryEvents returned %+v, want %+v", events, want)
    64  	}
    65  }
    66  
    67  func TestIssuesService_GetEvent(t *testing.T) {
    68  	client, mux, _, teardown := setup()
    69  	defer teardown()
    70  
    71  	mux.HandleFunc("/repos/o/r/issues/events/1", func(w http.ResponseWriter, r *http.Request) {
    72  		testMethod(t, r, "GET")
    73  		fmt.Fprint(w, `{"id":1}`)
    74  	})
    75  
    76  	event, _, err := client.Issues.GetEvent(context.Background(), "o", "r", 1)
    77  	if err != nil {
    78  		t.Errorf("Issues.GetEvent returned error: %v", err)
    79  	}
    80  
    81  	want := &IssueEvent{ID: Int64(1)}
    82  	if !reflect.DeepEqual(event, want) {
    83  		t.Errorf("Issues.GetEvent returned %+v, want %+v", event, want)
    84  	}
    85  }