summaryrefslogtreecommitdiffstats
path: root/services/convert/pull_review_test.go
blob: 68869502802b191b02c9c4d7aa3549fdf48716d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Copyright 2024 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

package convert

import (
	"testing"

	"code.gitea.io/gitea/models/db"
	issues_model "code.gitea.io/gitea/models/issues"
	"code.gitea.io/gitea/models/unittest"
	user_model "code.gitea.io/gitea/models/user"

	"github.com/stretchr/testify/assert"
)

func Test_ToPullReview(t *testing.T) {
	assert.NoError(t, unittest.PrepareTestDatabase())

	reviewer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
	review := unittest.AssertExistsAndLoadBean(t, &issues_model.Review{ID: 6})
	assert.EqualValues(t, reviewer.ID, review.ReviewerID)
	assert.EqualValues(t, issues_model.ReviewTypePending, review.Type)

	reviewList := []*issues_model.Review{review}

	t.Run("Anonymous User", func(t *testing.T) {
		prList, err := ToPullReviewList(db.DefaultContext, reviewList, nil)
		assert.NoError(t, err)
		assert.Empty(t, prList)
	})

	t.Run("Reviewer Himself", func(t *testing.T) {
		prList, err := ToPullReviewList(db.DefaultContext, reviewList, reviewer)
		assert.NoError(t, err)
		assert.Len(t, prList, 1)
	})

	t.Run("Other User", func(t *testing.T) {
		user4 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4})
		prList, err := ToPullReviewList(db.DefaultContext, reviewList, user4)
		assert.NoError(t, err)
		assert.Len(t, prList, 0)
	})

	t.Run("Admin User", func(t *testing.T) {
		adminUser := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
		prList, err := ToPullReviewList(db.DefaultContext, reviewList, adminUser)
		assert.NoError(t, err)
		assert.Len(t, prList, 1)
	})
}