From edd2b662c2f8fafa441d0b0261353a860d6dfbc5 Mon Sep 17 00:00:00 2001 From: lng2020 Date: Sat, 4 Nov 2023 22:59:16 +0800 Subject: [PATCH 1/2] fix dismiss review --- models/issues/review.go | 10 ++++++++++ models/issues/review_test.go | 30 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/models/issues/review.go b/models/issues/review.go index 8b64ba8048989..257b86de5bfbd 100644 --- a/models/issues/review.go +++ b/models/issues/review.go @@ -898,6 +898,16 @@ func DeleteReview(ctx context.Context, r *Review) error { return err } + opts = FindCommentsOptions{ + Type: CommentTypeDismissReview, + IssueID: r.IssueID, + ReviewID: r.ID, + } + + if _, err := sess.Where(opts.ToConds()).Delete(new(Comment)); err != nil { + return err + } + if _, err := sess.ID(r.ID).Delete(new(Review)); err != nil { return err } diff --git a/models/issues/review_test.go b/models/issues/review_test.go index 63e2aef2cce02..24d4c41d482a0 100644 --- a/models/issues/review_test.go +++ b/models/issues/review_test.go @@ -8,6 +8,7 @@ import ( "code.gitea.io/gitea/models/db" issues_model "code.gitea.io/gitea/models/issues" + repo_model "code.gitea.io/gitea/models/repo" "code.gitea.io/gitea/models/unittest" user_model "code.gitea.io/gitea/models/user" @@ -258,3 +259,32 @@ func TestDeleteReview(t *testing.T) { assert.NoError(t, err) assert.True(t, review1.Official) } + +func TestDeleteDismissedReview(t *testing.T) { + assert.NoError(t, unittest.PrepareTestDatabase()) + + ctx := db.DefaultContext + issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2}) + user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) + review, err := issues_model.CreateReview(ctx, issues_model.CreateReviewOptions{ + Content: "reject", + Type: issues_model.ReviewTypeReject, + Official: false, + Issue: issue, + Reviewer: user, + }) + assert.NoError(t, err) + assert.NoError(t, issues_model.DismissReview(ctx, review, true)) + comment, err := issues_model.CreateComment(ctx, &issues_model.CreateCommentOptions{ + Type: issues_model.CommentTypeDismissReview, + Doer: user, + Repo: repo, + Issue: issue, + ReviewID: review.ID, + Content: "dismiss", + }) + unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: comment.ID}) + assert.NoError(t, issues_model.DeleteReview(ctx, review)) + unittest.AssertNotExistsBean(t, &issues_model.Comment{ID: comment.ID}) +} From 6cf01ec04af1067afdcc0aa4943ca8a7f277f1ba Mon Sep 17 00:00:00 2001 From: Nanguan Lin <70063547+lng2020@users.noreply.github.com> Date: Sat, 4 Nov 2023 23:26:38 +0800 Subject: [PATCH 2/2] Update review_test.go --- models/issues/review_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/models/issues/review_test.go b/models/issues/review_test.go index 24d4c41d482a0..1868cb1bfab25 100644 --- a/models/issues/review_test.go +++ b/models/issues/review_test.go @@ -263,11 +263,10 @@ func TestDeleteReview(t *testing.T) { func TestDeleteDismissedReview(t *testing.T) { assert.NoError(t, unittest.PrepareTestDatabase()) - ctx := db.DefaultContext issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2}) user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1}) repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID}) - review, err := issues_model.CreateReview(ctx, issues_model.CreateReviewOptions{ + review, err := issues_model.CreateReview(db.DefaultContext, issues_model.CreateReviewOptions{ Content: "reject", Type: issues_model.ReviewTypeReject, Official: false, @@ -275,8 +274,8 @@ func TestDeleteDismissedReview(t *testing.T) { Reviewer: user, }) assert.NoError(t, err) - assert.NoError(t, issues_model.DismissReview(ctx, review, true)) - comment, err := issues_model.CreateComment(ctx, &issues_model.CreateCommentOptions{ + assert.NoError(t, issues_model.DismissReview(db.DefaultContext, review, true)) + comment, err := issues_model.CreateComment(db.DefaultContext, &issues_model.CreateCommentOptions{ Type: issues_model.CommentTypeDismissReview, Doer: user, Repo: repo, @@ -284,7 +283,8 @@ func TestDeleteDismissedReview(t *testing.T) { ReviewID: review.ID, Content: "dismiss", }) + assert.NoError(t, err) unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: comment.ID}) - assert.NoError(t, issues_model.DeleteReview(ctx, review)) + assert.NoError(t, issues_model.DeleteReview(db.DefaultContext, review)) unittest.AssertNotExistsBean(t, &issues_model.Comment{ID: comment.ID}) }