Automatic Merge
Этот коммит содержится в:
@@ -2570,6 +2570,10 @@ func (a *App) PromoteGuestToUser(c request.CTX, user *model.User, requestorId st
|
||||
// DemoteUserToGuest Convert user's roles and all his membership's roles from
|
||||
// regular user roles to guest roles.
|
||||
func (a *App) DemoteUserToGuest(c request.CTX, user *model.User) *model.AppError {
|
||||
if user.IsBot {
|
||||
return model.NewAppError("DemoteUserToGuest", "api.user.demote_user_to_guest.bot_not_allowed.app_error", nil, "", http.StatusBadRequest)
|
||||
}
|
||||
|
||||
demotedUser, nErr := a.ch.srv.userService.DemoteUserToGuest(user)
|
||||
a.InvalidateCacheForUser(user.Id)
|
||||
if nErr != nil {
|
||||
|
||||
@@ -1844,6 +1844,18 @@ func TestDemoteUserToGuest(t *testing.T) {
|
||||
th := Setup(t).InitBasic()
|
||||
defer th.TearDown()
|
||||
|
||||
t.Run("Must reject bot user", func(t *testing.T) {
|
||||
bot := th.CreateBot()
|
||||
user, err := th.App.GetUser(bot.UserId)
|
||||
require.Nil(t, err)
|
||||
require.True(t, user.IsBot)
|
||||
|
||||
appErr := th.App.DemoteUserToGuest(th.Context, user)
|
||||
require.NotNil(t, appErr)
|
||||
assert.Equal(t, "api.user.demote_user_to_guest.bot_not_allowed.app_error", appErr.Id)
|
||||
assert.Equal(t, http.StatusBadRequest, appErr.StatusCode)
|
||||
})
|
||||
|
||||
t.Run("Must invalidate channel stats cache when demoting a user", func(t *testing.T) {
|
||||
user := th.CreateUser()
|
||||
require.Equal(t, "system_user", user.Roles)
|
||||
|
||||
Ссылка в новой задаче
Block a user