You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pull_review_test.go 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package convert
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/db"
  7. issues_model "code.gitea.io/gitea/models/issues"
  8. "code.gitea.io/gitea/models/unittest"
  9. user_model "code.gitea.io/gitea/models/user"
  10. "github.com/stretchr/testify/assert"
  11. )
  12. func Test_ToPullReview(t *testing.T) {
  13. assert.NoError(t, unittest.PrepareTestDatabase())
  14. reviewer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
  15. review := unittest.AssertExistsAndLoadBean(t, &issues_model.Review{ID: 6})
  16. assert.EqualValues(t, reviewer.ID, review.ReviewerID)
  17. assert.EqualValues(t, issues_model.ReviewTypePending, review.Type)
  18. reviewList := []*issues_model.Review{review}
  19. t.Run("Anonymous User", func(t *testing.T) {
  20. prList, err := ToPullReviewList(db.DefaultContext, reviewList, nil)
  21. assert.NoError(t, err)
  22. assert.Empty(t, prList)
  23. })
  24. t.Run("Reviewer Himself", func(t *testing.T) {
  25. prList, err := ToPullReviewList(db.DefaultContext, reviewList, reviewer)
  26. assert.NoError(t, err)
  27. assert.Len(t, prList, 1)
  28. })
  29. t.Run("Other User", func(t *testing.T) {
  30. user4 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4})
  31. prList, err := ToPullReviewList(db.DefaultContext, reviewList, user4)
  32. assert.NoError(t, err)
  33. assert.Len(t, prList, 0)
  34. })
  35. t.Run("Admin User", func(t *testing.T) {
  36. adminUser := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
  37. prList, err := ToPullReviewList(db.DefaultContext, reviewList, adminUser)
  38. assert.NoError(t, err)
  39. assert.Len(t, prList, 1)
  40. })
  41. }