gitea

Зеркало из https://github.com/go-gitea/gitea
Форк
0
/
label_test.go 
62 строки · 2.1 Кб
1
// Copyright 2017 The Gitea Authors. All rights reserved.
2
// SPDX-License-Identifier: MIT
3

4
package issue
5

6
import (
7
	"testing"
8

9
	"code.gitea.io/gitea/models/db"
10
	issues_model "code.gitea.io/gitea/models/issues"
11
	"code.gitea.io/gitea/models/unittest"
12
	user_model "code.gitea.io/gitea/models/user"
13

14
	"github.com/stretchr/testify/assert"
15
)
16

17
func TestIssue_AddLabels(t *testing.T) {
18
	tests := []struct {
19
		issueID  int64
20
		labelIDs []int64
21
		doerID   int64
22
	}{
23
		{1, []int64{1, 2}, 2}, // non-pull-request
24
		{1, []int64{}, 2},     // non-pull-request, empty
25
		{2, []int64{1, 2}, 2}, // pull-request
26
		{2, []int64{}, 1},     // pull-request, empty
27
	}
28
	for _, test := range tests {
29
		assert.NoError(t, unittest.PrepareTestDatabase())
30
		issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: test.issueID})
31
		labels := make([]*issues_model.Label, len(test.labelIDs))
32
		for i, labelID := range test.labelIDs {
33
			labels[i] = unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: labelID})
34
		}
35
		doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: test.doerID})
36
		assert.NoError(t, AddLabels(db.DefaultContext, issue, doer, labels))
37
		for _, labelID := range test.labelIDs {
38
			unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: test.issueID, LabelID: labelID})
39
		}
40
	}
41
}
42

43
func TestIssue_AddLabel(t *testing.T) {
44
	tests := []struct {
45
		issueID int64
46
		labelID int64
47
		doerID  int64
48
	}{
49
		{1, 2, 2}, // non-pull-request, not-already-added label
50
		{1, 1, 2}, // non-pull-request, already-added label
51
		{2, 2, 2}, // pull-request, not-already-added label
52
		{2, 1, 2}, // pull-request, already-added label
53
	}
54
	for _, test := range tests {
55
		assert.NoError(t, unittest.PrepareTestDatabase())
56
		issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: test.issueID})
57
		label := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: test.labelID})
58
		doer := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: test.doerID})
59
		assert.NoError(t, AddLabel(db.DefaultContext, issue, doer, label))
60
		unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: test.issueID, LabelID: test.labelID})
61
	}
62
}
63

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.