2022-06-06 16:01:49 +08:00
// Copyright 2017 The Gitea Authors. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2022-06-06 16:01:49 +08:00
package repo_test
import (
"testing"
"code.gitea.io/gitea/models/db"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unittest"
2024-04-30 10:43:08 +02:00
user_model "code.gitea.io/gitea/models/user"
2022-06-06 16:01:49 +08:00
"github.com/stretchr/testify/assert"
)
func TestRepoAssignees ( t * testing . T ) {
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2022-08-16 10:22:25 +08:00
repo2 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 2 } )
2022-06-06 16:01:49 +08:00
users , err := repo_model . GetRepoAssignees ( db . DefaultContext , repo2 )
assert . NoError ( t , err )
assert . Len ( t , users , 1 )
assert . Equal ( t , users [ 0 ] . ID , int64 ( 2 ) )
2022-08-16 10:22:25 +08:00
repo21 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 21 } )
2022-06-06 16:01:49 +08:00
users , err = repo_model . GetRepoAssignees ( db . DefaultContext , repo21 )
assert . NoError ( t , err )
2024-04-30 10:43:08 +02:00
if assert . Len ( t , users , 4 ) {
assert . ElementsMatch ( t , [ ] int64 { 10 , 15 , 16 , 18 } , [ ] int64 { users [ 0 ] . ID , users [ 1 ] . ID , users [ 2 ] . ID , users [ 3 ] . ID } )
}
// do not return deactivated users
assert . NoError ( t , user_model . UpdateUserCols ( db . DefaultContext , & user_model . User { ID : 15 , IsActive : false } , "is_active" ) )
users , err = repo_model . GetRepoAssignees ( db . DefaultContext , repo21 )
assert . NoError ( t , err )
if assert . Len ( t , users , 3 ) {
assert . NotContains ( t , [ ] int64 { users [ 0 ] . ID , users [ 1 ] . ID , users [ 2 ] . ID } , 15 )
}
2022-06-06 16:01:49 +08:00
}