Skip to content

Commit ac8d3fb

Browse files
committed
fix dismiss review
1 parent ed8b731 commit ac8d3fb

File tree

2 files changed

+41
-3
lines changed

2 files changed

+41
-3
lines changed

models/issues/review.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -897,6 +897,16 @@ func DeleteReview(ctx context.Context, r *Review) error {
897897
return err
898898
}
899899

900+
opts = FindCommentsOptions{
901+
Type: CommentTypeDismissReview,
902+
IssueID: r.IssueID,
903+
ReviewID: r.ID,
904+
}
905+
906+
if _, err := sess.Where(opts.ToConds()).Delete(new(Comment)); err != nil {
907+
return err
908+
}
909+
900910
if _, err := sess.ID(r.ID).Delete(new(Review)); err != nil {
901911
return err
902912
}

models/issues/review_test.go

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"code.gitea.io/gitea/models/db"
1010
issues_model "code.gitea.io/gitea/models/issues"
11+
repo_model "code.gitea.io/gitea/models/repo"
1112
"code.gitea.io/gitea/models/unittest"
1213
user_model "code.gitea.io/gitea/models/user"
1314

@@ -238,6 +239,9 @@ func TestDeleteReview(t *testing.T) {
238239
Reviewer: user,
239240
})
240241
assert.NoError(t, err)
242+
review1, err = issues_model.GetReviewByID(db.DefaultContext, review1.ID)
243+
assert.NoError(t, err)
244+
assert.True(t, review1.Official)
241245

242246
review2, err := issues_model.CreateReview(db.DefaultContext, issues_model.CreateReviewOptions{
243247
Content: "Official approval",
@@ -247,14 +251,38 @@ func TestDeleteReview(t *testing.T) {
247251
Reviewer: user,
248252
})
249253
assert.NoError(t, err)
250-
251254
assert.NoError(t, issues_model.DeleteReview(db.DefaultContext, review2))
252255

253256
_, err = issues_model.GetReviewByID(db.DefaultContext, review2.ID)
254257
assert.Error(t, err)
255258
assert.True(t, issues_model.IsErrReviewNotExist(err), "IsErrReviewNotExist")
259+
}
256260

257-
review1, err = issues_model.GetReviewByID(db.DefaultContext, review1.ID)
261+
func TestDeleteDismissedReview(t *testing.T) {
262+
assert.NoError(t, unittest.PrepareTestDatabase())
263+
264+
ctx := db.DefaultContext
265+
issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2})
266+
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
267+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: issue.RepoID})
268+
review, err := issues_model.CreateReview(ctx, issues_model.CreateReviewOptions{
269+
Content: "reject",
270+
Type: issues_model.ReviewTypeReject,
271+
Official: false,
272+
Issue: issue,
273+
Reviewer: user,
274+
})
258275
assert.NoError(t, err)
259-
assert.True(t, review1.Official)
276+
assert.NoError(t, issues_model.DismissReview(ctx, review, true))
277+
comment, err := issues_model.CreateComment(ctx, &issues_model.CreateCommentOptions{
278+
Type: issues_model.CommentTypeDismissReview,
279+
Doer: user,
280+
Repo: repo,
281+
Issue: issue,
282+
ReviewID: review.ID,
283+
Content: "dismiss",
284+
})
285+
unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ID: comment.ID})
286+
assert.NoError(t, issues_model.DeleteReview(ctx, review))
287+
unittest.AssertNotExistsBean(t, &issues_model.Comment{ID: comment.ID})
260288
}

0 commit comments

Comments
 (0)