fix 500 when reviewer is deleted with integration tests (#6856)
parent
dab38c375d
commit
2382f1b057
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright 2019 The Gitea Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
package integrations
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestPullView_ReviewerMissed(t *testing.T) {
|
||||||
|
prepareTestEnv(t)
|
||||||
|
session := loginUser(t, "user1")
|
||||||
|
|
||||||
|
req := NewRequest(t, "GET", "/pulls")
|
||||||
|
session.MakeRequest(t, req, http.StatusOK)
|
||||||
|
|
||||||
|
req = NewRequest(t, "GET", "/user2/repo1/pulls/3")
|
||||||
|
session.MakeRequest(t, req, http.StatusOK)
|
||||||
|
}
|
|
@ -52,3 +52,15 @@
|
||||||
tree_path: "README.md"
|
tree_path: "README.md"
|
||||||
created_unix: 946684812
|
created_unix: 946684812
|
||||||
invalidated: true
|
invalidated: true
|
||||||
|
|
||||||
|
-
|
||||||
|
id: 7
|
||||||
|
type: 21 # code comment
|
||||||
|
poster_id: 100
|
||||||
|
issue_id: 3
|
||||||
|
content: "a review from a deleted user"
|
||||||
|
line: -4
|
||||||
|
review_id: 10
|
||||||
|
tree_path: "README.md"
|
||||||
|
created_unix: 946684812
|
||||||
|
invalidated: true
|
|
@ -70,3 +70,12 @@
|
||||||
content: "New review 3 rejected"
|
content: "New review 3 rejected"
|
||||||
updated_unix: 946684810
|
updated_unix: 946684810
|
||||||
created_unix: 946684810
|
created_unix: 946684810
|
||||||
|
|
||||||
|
-
|
||||||
|
id: 10
|
||||||
|
type: 3
|
||||||
|
reviewer_id: 100
|
||||||
|
issue_id: 3
|
||||||
|
content: "a deleted user's review"
|
||||||
|
updated_unix: 946684810
|
||||||
|
created_unix: 946684810
|
|
@ -447,6 +447,7 @@ func (c *Comment) loadReview(e Engine) (err error) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
c.Review.Issue = c.Issue
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -773,6 +773,8 @@ func ViewIssue(ctx *context.Context) {
|
||||||
// Render comments and and fetch participants.
|
// Render comments and and fetch participants.
|
||||||
participants[0] = issue.Poster
|
participants[0] = issue.Poster
|
||||||
for _, comment = range issue.Comments {
|
for _, comment = range issue.Comments {
|
||||||
|
comment.Issue = issue
|
||||||
|
|
||||||
if err := comment.LoadPoster(); err != nil {
|
if err := comment.LoadPoster(); err != nil {
|
||||||
ctx.ServerError("LoadPoster", err)
|
ctx.ServerError("LoadPoster", err)
|
||||||
return
|
return
|
||||||
|
@ -850,9 +852,12 @@ func ViewIssue(ctx *context.Context) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if err = comment.Review.LoadAttributes(); err != nil {
|
if err = comment.Review.LoadAttributes(); err != nil {
|
||||||
|
if !models.IsErrUserNotExist(err) {
|
||||||
ctx.ServerError("Review.LoadAttributes", err)
|
ctx.ServerError("Review.LoadAttributes", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
comment.Review.Reviewer = models.NewGhostUser()
|
||||||
|
}
|
||||||
if err = comment.Review.LoadCodeComments(); err != nil {
|
if err = comment.Review.LoadCodeComments(); err != nil {
|
||||||
ctx.ServerError("Review.LoadCodeComments", err)
|
ctx.ServerError("Review.LoadCodeComments", err)
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue