gitea

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

4
package issues_test
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 TestCreateIssueDependency(t *testing.T) {
18
	// Prepare
19
	assert.NoError(t, unittest.PrepareTestDatabase())
20

21
	user1, err := user_model.GetUserByID(db.DefaultContext, 1)
22
	assert.NoError(t, err)
23

24
	issue1, err := issues_model.GetIssueByID(db.DefaultContext, 1)
25
	assert.NoError(t, err)
26

27
	issue2, err := issues_model.GetIssueByID(db.DefaultContext, 2)
28
	assert.NoError(t, err)
29

30
	// Create a dependency and check if it was successful
31
	err = issues_model.CreateIssueDependency(db.DefaultContext, user1, issue1, issue2)
32
	assert.NoError(t, err)
33

34
	// Do it again to see if it will check if the dependency already exists
35
	err = issues_model.CreateIssueDependency(db.DefaultContext, user1, issue1, issue2)
36
	assert.Error(t, err)
37
	assert.True(t, issues_model.IsErrDependencyExists(err))
38

39
	// Check for circular dependencies
40
	err = issues_model.CreateIssueDependency(db.DefaultContext, user1, issue2, issue1)
41
	assert.Error(t, err)
42
	assert.True(t, issues_model.IsErrCircularDependency(err))
43

44
	_ = unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{Type: issues_model.CommentTypeAddDependency, PosterID: user1.ID, IssueID: issue1.ID})
45

46
	// Check if dependencies left is correct
47
	left, err := issues_model.IssueNoDependenciesLeft(db.DefaultContext, issue1)
48
	assert.NoError(t, err)
49
	assert.False(t, left)
50

51
	// Close #2 and check again
52
	_, err = issues_model.ChangeIssueStatus(db.DefaultContext, issue2, user1, true)
53
	assert.NoError(t, err)
54

55
	left, err = issues_model.IssueNoDependenciesLeft(db.DefaultContext, issue1)
56
	assert.NoError(t, err)
57
	assert.True(t, left)
58

59
	// Test removing the dependency
60
	err = issues_model.RemoveIssueDependency(db.DefaultContext, user1, issue1, issue2, issues_model.DependencyTypeBlockedBy)
61
	assert.NoError(t, err)
62
}
63

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

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

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

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