mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	fix 500 when reviewer is deleted with integration tests (#6856)
This commit is contained in:
		
							
								
								
									
										20
									
								
								integrations/pull_review_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								integrations/pull_review_test.go
									
									
									
									
									
										Normal file
									
								
							@@ -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"
 | 
			
		||||
  created_unix: 946684812
 | 
			
		||||
  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"
 | 
			
		||||
  updated_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
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	c.Review.Issue = c.Issue
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -773,6 +773,8 @@ func ViewIssue(ctx *context.Context) {
 | 
			
		||||
	// Render comments and and fetch participants.
 | 
			
		||||
	participants[0] = issue.Poster
 | 
			
		||||
	for _, comment = range issue.Comments {
 | 
			
		||||
		comment.Issue = issue
 | 
			
		||||
 | 
			
		||||
		if err := comment.LoadPoster(); err != nil {
 | 
			
		||||
			ctx.ServerError("LoadPoster", err)
 | 
			
		||||
			return
 | 
			
		||||
@@ -850,9 +852,12 @@ func ViewIssue(ctx *context.Context) {
 | 
			
		||||
				continue
 | 
			
		||||
			}
 | 
			
		||||
			if err = comment.Review.LoadAttributes(); err != nil {
 | 
			
		||||
				if !models.IsErrUserNotExist(err) {
 | 
			
		||||
					ctx.ServerError("Review.LoadAttributes", err)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
				comment.Review.Reviewer = models.NewGhostUser()
 | 
			
		||||
			}
 | 
			
		||||
			if err = comment.Review.LoadCodeComments(); err != nil {
 | 
			
		||||
				ctx.ServerError("Review.LoadCodeComments", err)
 | 
			
		||||
				return
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user