gitea源码

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package pull_test
  4. import (
  5. "testing"
  6. issues_model "code.gitea.io/gitea/models/issues"
  7. "code.gitea.io/gitea/models/unittest"
  8. user_model "code.gitea.io/gitea/models/user"
  9. pull_service "code.gitea.io/gitea/services/pull"
  10. "github.com/stretchr/testify/assert"
  11. )
  12. func TestDismissReview(t *testing.T) {
  13. assert.NoError(t, unittest.PrepareTestDatabase())
  14. pull := unittest.AssertExistsAndLoadBean(t, &issues_model.PullRequest{})
  15. assert.NoError(t, pull.LoadIssue(t.Context()))
  16. issue := pull.Issue
  17. assert.NoError(t, issue.LoadRepo(t.Context()))
  18. reviewer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
  19. review, err := issues_model.CreateReview(t.Context(), issues_model.CreateReviewOptions{
  20. Issue: issue,
  21. Reviewer: reviewer,
  22. Type: issues_model.ReviewTypeReject,
  23. })
  24. assert.NoError(t, err)
  25. issue.IsClosed = true
  26. pull.HasMerged = false
  27. assert.NoError(t, issues_model.UpdateIssueCols(t.Context(), issue, "is_closed"))
  28. assert.NoError(t, pull.UpdateCols(t.Context(), "has_merged"))
  29. _, err = pull_service.DismissReview(t.Context(), review.ID, issue.RepoID, "", &user_model.User{}, false, false)
  30. assert.Error(t, err)
  31. assert.True(t, pull_service.IsErrDismissRequestOnClosedPR(err))
  32. pull.HasMerged = true
  33. pull.Issue.IsClosed = false
  34. assert.NoError(t, issues_model.UpdateIssueCols(t.Context(), issue, "is_closed"))
  35. assert.NoError(t, pull.UpdateCols(t.Context(), "has_merged"))
  36. _, err = pull_service.DismissReview(t.Context(), review.ID, issue.RepoID, "", &user_model.User{}, false, false)
  37. assert.Error(t, err)
  38. assert.True(t, pull_service.IsErrDismissRequestOnClosedPR(err))
  39. }