mirror of
https://github.com/go-gitea/gitea.git
synced 2026-07-22 17:02:41 +00:00
Follow-ups from https://github.com/go-gitea/gitea/pull/37038: - Render the OpenAPI 3.0 spec in the API viewer, it is richer than the Swagger 2.0 rendering - Replace the back link with gitea-styled buttons to view both specs and return to Gitea, flowing above swagger-ui on viewports where they would overlap the title - Key `VisibilityModes` by the string enum type, now named `VisibilityString`, removing the `string()` casts at API call sites - Drop the raw visibility strings from the `Service` settings struct in favor of the typed mode fields, which also removes the org default visibility row from the admin config page - Fix two pre-existing issues surfaced in review: an invalid `DEFAULT_USER_VISIBILITY` was silently accepted as public, and the org visibility error message showed the enum zero value instead of the submitted input Co-authored-by: wxiaoguang <wxiaoguang@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"
|
|
|
|
"gitea.dev/models/unittest"
|
|
user_model "gitea.dev/models/user"
|
|
api "gitea.dev/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(t.Context(), 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(t.Context(), user2, true, true)
|
|
assert.False(t, apiUser.IsAdmin)
|
|
|
|
apiUser = toUser(t.Context(), user1, false, false)
|
|
assert.False(t, apiUser.IsAdmin)
|
|
assert.Equal(t, api.VisibilityStringPublic, apiUser.Visibility)
|
|
|
|
user31 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 31, IsAdmin: false, Visibility: api.VisibleTypePrivate})
|
|
|
|
apiUser = toUser(t.Context(), user31, true, true)
|
|
assert.False(t, apiUser.IsAdmin)
|
|
assert.Equal(t, api.VisibilityStringPrivate, apiUser.Visibility)
|
|
}
|