diff --git a/command/pr.go b/command/pr.go index cd2bf91e9..642067598 100644 --- a/command/pr.go +++ b/command/pr.go @@ -163,7 +163,7 @@ func prList(cmd *cobra.Command, args []string) error { case "open": graphqlState = []string{"OPEN"} case "closed": - graphqlState = []string{"CLOSED"} + graphqlState = []string{"CLOSED", "MERGED"} case "merged": graphqlState = []string{"MERGED"} case "all": diff --git a/command/pr_test.go b/command/pr_test.go index d621d447b..25fc8b34d 100644 --- a/command/pr_test.go +++ b/command/pr_test.go @@ -210,6 +210,30 @@ No pull requests match your search eq(t, reqBody.Variables.Labels, []string{"one", "two", "three"}) } +func TestPRList_filteringClosed(t *testing.T) { + initBlankContext("OWNER/REPO", "master") + http := initFakeHTTP() + http.StubRepoResponse("OWNER", "REPO") + + respBody := bytes.NewBufferString(`{ "data": {} }`) + http.StubResponse(200, respBody) + + _, err := RunCommand(prListCmd, `pr list -s closed`) + if err != nil { + t.Fatal(err) + } + + bodyBytes, _ := ioutil.ReadAll(http.Requests[1].Body) + reqBody := struct { + Variables struct { + State []string + } + }{} + json.Unmarshal(bodyBytes, &reqBody) + + eq(t, reqBody.Variables.State, []string{"CLOSED", "MERGED"}) +} + func TestPRList_filteringAssignee(t *testing.T) { initBlankContext("OWNER/REPO", "master") http := initFakeHTTP()