2017-01-25 05:37:10 -05:00
// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package models
import (
"testing"
2021-09-19 19:49:59 +08:00
"code.gitea.io/gitea/models/db"
2021-12-10 09:27:50 +08:00
repo_model "code.gitea.io/gitea/models/repo"
2021-11-12 22:36:47 +08:00
"code.gitea.io/gitea/models/unittest"
2021-11-17 20:34:35 +08:00
2017-01-25 05:37:10 -05:00
"github.com/stretchr/testify/assert"
)
func TestStarRepo ( t * testing . T ) {
2021-11-12 22:36:47 +08:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-25 05:37:10 -05:00
const userID = 2
const repoID = 1
2021-11-16 16:53:21 +08:00
unittest . AssertNotExistsBean ( t , & Star { UID : userID , RepoID : repoID } )
2017-01-25 05:37:10 -05:00
assert . NoError ( t , StarRepo ( userID , repoID , true ) )
2021-11-16 16:53:21 +08:00
unittest . AssertExistsAndLoadBean ( t , & Star { UID : userID , RepoID : repoID } )
2017-01-25 05:37:10 -05:00
assert . NoError ( t , StarRepo ( userID , repoID , true ) )
2021-11-16 16:53:21 +08:00
unittest . AssertExistsAndLoadBean ( t , & Star { UID : userID , RepoID : repoID } )
2017-01-25 05:37:10 -05:00
assert . NoError ( t , StarRepo ( userID , repoID , false ) )
2021-11-16 16:53:21 +08:00
unittest . AssertNotExistsBean ( t , & Star { UID : userID , RepoID : repoID } )
2017-01-25 05:37:10 -05:00
}
func TestIsStaring ( t * testing . T ) {
2021-11-12 22:36:47 +08:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-25 05:37:10 -05:00
assert . True ( t , IsStaring ( 2 , 4 ) )
assert . False ( t , IsStaring ( 3 , 4 ) )
}
func TestRepository_GetStargazers ( t * testing . T ) {
// repo with stargazers
2021-11-12 22:36:47 +08:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2021-12-10 09:27:50 +08:00
repo := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 4 } ) . ( * repo_model . Repository )
2021-11-22 23:21:55 +08:00
gazers , err := GetStargazers ( repo , db . ListOptions { Page : 0 } )
2017-01-25 05:37:10 -05:00
assert . NoError ( t , err )
2017-08-28 11:17:45 +02:00
if assert . Len ( t , gazers , 1 ) {
assert . Equal ( t , int64 ( 2 ) , gazers [ 0 ] . ID )
}
2017-01-25 05:37:10 -05:00
}
func TestRepository_GetStargazers2 ( t * testing . T ) {
// repo with stargazers
2021-11-12 22:36:47 +08:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2021-12-10 09:27:50 +08:00
repo := unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository { ID : 3 } ) . ( * repo_model . Repository )
2021-11-22 23:21:55 +08:00
gazers , err := GetStargazers ( repo , db . ListOptions { Page : 0 } )
2017-01-25 05:37:10 -05:00
assert . NoError ( t , err )
assert . Len ( t , gazers , 0 )
}