gitea
Зеркало из https://github.com/go-gitea/gitea
1// Copyright 2019 The Gitea Authors. All rights reserved.
2// SPDX-License-Identifier: MIT
3
4package issue5
6import (7"testing"8
9"code.gitea.io/gitea/models/db"10issues_model "code.gitea.io/gitea/models/issues"11"code.gitea.io/gitea/models/unittest"12user_model "code.gitea.io/gitea/models/user"13
14"github.com/stretchr/testify/assert"15)
16
17func TestDeleteNotPassedAssignee(t *testing.T) {18assert.NoError(t, unittest.PrepareTestDatabase())19
20// Fake issue with assignees21issue, err := issues_model.GetIssueByID(db.DefaultContext, 1)22assert.NoError(t, err)23
24err = issue.LoadAttributes(db.DefaultContext)25assert.NoError(t, err)26
27assert.Len(t, issue.Assignees, 1)28
29user1, err := user_model.GetUserByID(db.DefaultContext, 1) // This user is already assigned (see the definition in fixtures), so running UpdateAssignee should unassign him30assert.NoError(t, err)31
32// Check if he got removed33isAssigned, err := issues_model.IsUserAssignedToIssue(db.DefaultContext, issue, user1)34assert.NoError(t, err)35assert.True(t, isAssigned)36
37// Clean everyone38err = DeleteNotPassedAssignee(db.DefaultContext, issue, user1, []*user_model.User{})39assert.NoError(t, err)40assert.Empty(t, issue.Assignees)41
42// Reload to check they're gone43issue.ResetAttributesLoaded()44assert.NoError(t, issue.LoadAssignees(db.DefaultContext))45assert.Empty(t, issue.Assignees)46assert.Empty(t, issue.Assignee)47}
48