2020-10-17 07:23:08 +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.
package convert
import (
"testing"
2021-11-12 17:36:47 +03:00
"code.gitea.io/gitea/models/unittest"
2021-11-24 12:49:20 +03:00
user_model "code.gitea.io/gitea/models/user"
2021-06-26 22:53:14 +03:00
api "code.gitea.io/gitea/modules/structs"
2021-05-12 07:13:42 +03:00
2020-10-17 07:23:08 +03:00
"github.com/stretchr/testify/assert"
)
func TestUser_ToUser ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2020-10-17 07:23:08 +03:00
2021-11-24 12:49:20 +03:00
user1 := unittest . AssertExistsAndLoadBean ( t , & user_model . User { ID : 1 , IsAdmin : true } ) . ( * user_model . User )
2020-10-17 07:23:08 +03:00
2021-03-27 19:45:26 +03:00
apiUser := toUser ( user1 , true , true )
2020-10-17 07:23:08 +03:00
assert . True ( t , apiUser . IsAdmin )
2021-10-25 08:01:16 +03:00
assert . Contains ( t , apiUser . AvatarURL , "://" )
2020-10-17 07:23:08 +03:00
2021-11-24 12:49:20 +03:00
user2 := unittest . AssertExistsAndLoadBean ( t , & user_model . User { ID : 2 , IsAdmin : false } ) . ( * user_model . User )
2020-10-17 07:23:08 +03:00
2021-03-27 19:45:26 +03:00
apiUser = toUser ( user2 , true , true )
2020-10-17 07:23:08 +03:00
assert . False ( t , apiUser . IsAdmin )
2021-03-27 19:45:26 +03:00
apiUser = toUser ( user1 , false , false )
2020-10-17 07:23:08 +03:00
assert . False ( t , apiUser . IsAdmin )
2021-06-26 22:53:14 +03:00
assert . EqualValues ( t , api . VisibleTypePublic . String ( ) , apiUser . Visibility )
2021-11-24 12:49:20 +03:00
user31 := unittest . AssertExistsAndLoadBean ( t , & user_model . User { ID : 31 , IsAdmin : false , Visibility : api . VisibleTypePrivate } ) . ( * user_model . User )
2021-06-26 22:53:14 +03:00
apiUser = toUser ( user31 , true , true )
assert . False ( t , apiUser . IsAdmin )
assert . EqualValues ( t , api . VisibleTypePrivate . String ( ) , apiUser . Visibility )
2020-10-17 07:23:08 +03:00
}