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