mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-21 07:59:03 +00:00
a35749893b
Addition to #22256 The `convert` package relies heavily on different models which is [disallowed by our definition of modules](https://github.com/go-gitea/gitea/blob/main/CONTRIBUTING.md#design-guideline). This helps to prevent possible import cycles. Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package convert
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/models/unittest"
|
|
user_model "code.gitea.io/gitea/models/user"
|
|
api "code.gitea.io/gitea/modules/structs"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestUser_ToUser(t *testing.T) {
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
|
|
|
user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1, IsAdmin: true})
|
|
|
|
apiUser := toUser(user1, true, true)
|
|
assert.True(t, apiUser.IsAdmin)
|
|
assert.Contains(t, apiUser.AvatarURL, "://")
|
|
|
|
user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2, IsAdmin: false})
|
|
|
|
apiUser = toUser(user2, true, true)
|
|
assert.False(t, apiUser.IsAdmin)
|
|
|
|
apiUser = toUser(user1, false, false)
|
|
assert.False(t, apiUser.IsAdmin)
|
|
assert.EqualValues(t, api.VisibleTypePublic.String(), apiUser.Visibility)
|
|
|
|
user31 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 31, IsAdmin: false, Visibility: api.VisibleTypePrivate})
|
|
|
|
apiUser = toUser(user31, true, true)
|
|
assert.False(t, apiUser.IsAdmin)
|
|
assert.EqualValues(t, api.VisibleTypePrivate.String(), apiUser.Visibility)
|
|
}
|