2019-10-28 07:41:50 +05:30
// Copyright 2019 The Gitea Authors. All rights reserved.
2022-11-27 23:50:29 +05:30
// SPDX-License-Identifier: MIT
2019-10-28 07:41:50 +05:30
package issue
import (
"testing"
2022-05-20 19:38:52 +05:30
"code.gitea.io/gitea/models/db"
2022-06-13 15:07:59 +05:30
issues_model "code.gitea.io/gitea/models/issues"
2021-11-12 20:06:47 +05:30
"code.gitea.io/gitea/models/unittest"
2021-11-24 15:19:20 +05:30
user_model "code.gitea.io/gitea/models/user"
2021-11-17 18:04:35 +05:30
2019-10-28 07:41:50 +05:30
"github.com/stretchr/testify/assert"
)
func TestDeleteNotPassedAssignee ( t * testing . T ) {
2021-11-12 20:06:47 +05:30
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2019-10-28 07:41:50 +05:30
// Fake issue with assignees
2022-06-13 15:07:59 +05:30
issue , err := issues_model . GetIssueWithAttrsByID ( 1 )
2019-10-28 07:41:50 +05:30
assert . NoError ( t , err )
2022-05-20 19:38:52 +05:30
assert . EqualValues ( t , 1 , len ( issue . Assignees ) )
2019-10-28 07:41:50 +05:30
2022-12-03 08:18:26 +05:30
user1 , err := user_model . GetUserByID ( db . DefaultContext , 1 ) // This user is already assigned (see the definition in fixtures), so running UpdateAssignee should unassign him
2019-10-28 07:41:50 +05:30
assert . NoError ( t , err )
// Check if he got removed
2022-06-13 15:07:59 +05:30
isAssigned , err := issues_model . IsUserAssignedToIssue ( db . DefaultContext , issue , user1 )
2019-10-28 07:41:50 +05:30
assert . NoError ( t , err )
assert . True ( t , isAssigned )
// Clean everyone
2021-11-24 15:19:20 +05:30
err = DeleteNotPassedAssignee ( issue , user1 , [ ] * user_model . User { } )
2019-10-28 07:41:50 +05:30
assert . NoError ( t , err )
2022-05-20 19:38:52 +05:30
assert . EqualValues ( t , 0 , len ( issue . Assignees ) )
2019-10-28 07:41:50 +05:30
// Check they're gone
2022-05-20 19:38:52 +05:30
assert . NoError ( t , issue . LoadAssignees ( db . DefaultContext ) )
assert . EqualValues ( t , 0 , len ( issue . Assignees ) )
assert . Empty ( t , issue . Assignee )
2019-10-28 07:41:50 +05:30
}