2020-04-05 09:20:50 +03:00
// Copyright 2020 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.
2017-01-09 06:08:36 +03:00
package models
import (
2017-05-26 04:38:18 +03:00
"path"
2017-01-09 06:08:36 +03:00
"testing"
"code.gitea.io/gitea/modules/setting"
2017-02-28 04:42:10 +03:00
2017-01-09 06:08:36 +03:00
"github.com/stretchr/testify/assert"
)
func TestAction_GetRepoPath ( t * testing . T ) {
2017-05-26 04:38:18 +03:00
assert . NoError ( t , PrepareTestDatabase ( ) )
repo := AssertExistsAndLoadBean ( t , & Repository { } ) . ( * Repository )
owner := AssertExistsAndLoadBean ( t , & User { ID : repo . OwnerID } ) . ( * User )
action := & Action { RepoID : repo . ID }
assert . Equal ( t , path . Join ( owner . Name , repo . Name ) , action . GetRepoPath ( ) )
2017-01-09 06:08:36 +03:00
}
func TestAction_GetRepoLink ( t * testing . T ) {
2017-05-26 04:38:18 +03:00
assert . NoError ( t , PrepareTestDatabase ( ) )
repo := AssertExistsAndLoadBean ( t , & Repository { } ) . ( * Repository )
owner := AssertExistsAndLoadBean ( t , & User { ID : repo . OwnerID } ) . ( * User )
action := & Action { RepoID : repo . ID }
2021-02-20 00:36:43 +03:00
setting . AppSubURL = "/suburl"
2017-05-26 04:38:18 +03:00
expected := path . Join ( setting . AppSubURL , owner . Name , repo . Name )
assert . Equal ( t , expected , action . GetRepoLink ( ) )
2017-01-09 06:08:36 +03:00
}
func TestGetFeeds ( t * testing . T ) {
// test with an individual user
assert . NoError ( t , PrepareTestDatabase ( ) )
2017-01-25 05:49:51 +03:00
user := AssertExistsAndLoadBean ( t , & User { ID : 2 } ) . ( * User )
2017-01-09 06:08:36 +03:00
2017-06-02 03:42:25 +03:00
actions , err := GetFeeds ( GetFeedsOptions {
2020-01-13 20:33:46 +03:00
RequestedUser : user ,
Actor : user ,
IncludePrivate : true ,
OnlyPerformedBy : false ,
IncludeDeleted : true ,
2017-06-02 03:42:25 +03:00
} )
2017-01-09 06:08:36 +03:00
assert . NoError ( t , err )
2017-08-28 12:17:45 +03:00
if assert . Len ( t , actions , 1 ) {
assert . EqualValues ( t , 1 , actions [ 0 ] . ID )
assert . EqualValues ( t , user . ID , actions [ 0 ] . UserID )
}
2017-06-02 03:42:25 +03:00
actions , err = GetFeeds ( GetFeedsOptions {
2020-01-13 20:33:46 +03:00
RequestedUser : user ,
Actor : user ,
IncludePrivate : false ,
OnlyPerformedBy : false ,
2017-06-02 03:42:25 +03:00
} )
2017-01-09 06:08:36 +03:00
assert . NoError ( t , err )
assert . Len ( t , actions , 0 )
}
func TestGetFeeds2 ( t * testing . T ) {
// test with an organization user
assert . NoError ( t , PrepareTestDatabase ( ) )
2017-06-02 03:42:25 +03:00
org := AssertExistsAndLoadBean ( t , & User { ID : 3 } ) . ( * User )
2020-01-13 20:33:46 +03:00
user := AssertExistsAndLoadBean ( t , & User { ID : 2 } ) . ( * User )
2017-06-02 03:42:25 +03:00
actions , err := GetFeeds ( GetFeedsOptions {
2020-01-13 20:33:46 +03:00
RequestedUser : org ,
Actor : user ,
IncludePrivate : true ,
OnlyPerformedBy : false ,
IncludeDeleted : true ,
2017-06-02 03:42:25 +03:00
} )
2017-01-09 06:08:36 +03:00
assert . NoError ( t , err )
assert . Len ( t , actions , 1 )
2017-08-28 12:17:45 +03:00
if assert . Len ( t , actions , 1 ) {
assert . EqualValues ( t , 2 , actions [ 0 ] . ID )
assert . EqualValues ( t , org . ID , actions [ 0 ] . UserID )
}
2017-06-02 03:42:25 +03:00
actions , err = GetFeeds ( GetFeedsOptions {
2020-01-13 20:33:46 +03:00
RequestedUser : org ,
Actor : user ,
IncludePrivate : false ,
OnlyPerformedBy : false ,
IncludeDeleted : true ,
2017-06-02 03:42:25 +03:00
} )
2017-01-09 06:08:36 +03:00
assert . NoError ( t , err )
2017-02-28 04:42:10 +03:00
assert . Len ( t , actions , 0 )
2017-01-09 06:08:36 +03:00
}