2022-06-06 11:01:49 +03:00
// Copyright 2017 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2022-06-06 11:01:49 +03: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"
"github.com/stretchr/testify/assert"
)
func TestRepoAssignees ( t * testing . T ) {
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2022-08-16 05:22:25 +03:00
repo2 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 2 } )
2022-06-06 11:01:49 +03: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 05:22:25 +03:00
repo21 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 21 } )
2022-06-06 11:01:49 +03:00
users , err = repo_model . GetRepoAssignees ( db . DefaultContext , repo21 )
assert . NoError ( t , err )
assert . Len ( t , users , 3 )
assert . Equal ( t , users [ 0 ] . ID , int64 ( 15 ) )
assert . Equal ( t , users [ 1 ] . ID , int64 ( 18 ) )
assert . Equal ( t , users [ 2 ] . ID , int64 ( 16 ) )
}
func TestRepoGetReviewers ( t * testing . T ) {
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
// test public repo
2022-08-16 05:22:25 +03:00
repo1 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 1 } )
2022-06-06 11:01:49 +03:00
ctx := db . DefaultContext
reviewers , err := repo_model . GetReviewers ( ctx , repo1 , 2 , 2 )
assert . NoError ( t , err )
assert . Len ( t , reviewers , 4 )
// should include doer if doer is not PR poster.
reviewers , err = repo_model . GetReviewers ( ctx , repo1 , 11 , 2 )
assert . NoError ( t , err )
assert . Len ( t , reviewers , 4 )
// should not include PR poster, if PR poster would be otherwise eligible
reviewers , err = repo_model . GetReviewers ( ctx , repo1 , 11 , 4 )
assert . NoError ( t , err )
assert . Len ( t , reviewers , 3 )
// test private user repo
2022-08-16 05:22:25 +03:00
repo2 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 2 } )
2022-06-06 11:01:49 +03:00
reviewers , err = repo_model . GetReviewers ( ctx , repo2 , 2 , 4 )
assert . NoError ( t , err )
assert . Len ( t , reviewers , 1 )
assert . EqualValues ( t , reviewers [ 0 ] . ID , 2 )
// test private org repo
2022-08-16 05:22:25 +03:00
repo3 := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 3 } )
2022-06-06 11:01:49 +03:00
reviewers , err = repo_model . GetReviewers ( ctx , repo3 , 2 , 1 )
assert . NoError ( t , err )
assert . Len ( t , reviewers , 2 )
reviewers , err = repo_model . GetReviewers ( ctx , repo3 , 2 , 2 )
assert . NoError ( t , err )
assert . Len ( t , reviewers , 1 )
}