diff --git a/command/pr.go b/command/pr.go index e1a65fcad..33de74aee 100644 --- a/command/pr.go +++ b/command/pr.go @@ -434,14 +434,20 @@ func prReviewerList(pr api.PullRequest) string { // Ref. https://developer.github.com/v4/union/requestedreviewer/ const teamTypeName = "Team" +const ghostName = "ghost" + // parseReviewers parses given Reviews and ReviewRequests func parseReviewers(pr api.PullRequest) []*reviewerState { reviewerStates := make(map[string]*reviewerState) for _, review := range pr.Reviews.Nodes { if review.Author.Login != pr.Author.Login { - reviewerStates[review.Author.Login] = &reviewerState{ - Name: review.Author.Login, + name := review.Author.Login + if name == "" { + name = ghostName + } + reviewerStates[name] = &reviewerState{ + Name: name, State: review.State, } } diff --git a/command/pr_test.go b/command/pr_test.go index 147621fc2..06d403efe 100644 --- a/command/pr_test.go +++ b/command/pr_test.go @@ -442,7 +442,7 @@ func TestPRView_Preview(t *testing.T) { fixture: "../test/fixtures/prViewPreviewWithReviewersByNumber.json", expectedOutputs: []string{ `Blueberries are from a fork`, - `Reviewers: DEF \(Commented\), def \(Changes requested\), xyz \(Approved\), 123 \(Requested\), Team 1 \(Requested\), abc \(Requested\)\n`, + `Reviewers: DEF \(Commented\), def \(Changes requested\), ghost \(Approved\), xyz \(Approved\), 123 \(Requested\), Team 1 \(Requested\), abc \(Requested\)\n`, `blueberries taste good`, `View this pull request on GitHub: https://github.com/OWNER/REPO/pull/12\n`, }, diff --git a/test/fixtures/prViewPreviewWithReviewersByNumber.json b/test/fixtures/prViewPreviewWithReviewersByNumber.json index 049718b07..791512d41 100644 --- a/test/fixtures/prViewPreviewWithReviewersByNumber.json +++ b/test/fixtures/prViewPreviewWithReviewersByNumber.json @@ -64,6 +64,12 @@ "login": "xyz" }, "state": "APPROVED" + }, + { + "author": { + "login": "" + }, + "state": "APPROVED" } ] },