[MM-41041] Remove requirement for create_at in UpdateUser (#19597)
Этот коммит содержится в:
@@ -1087,6 +1087,10 @@ func (a *App) UpdateUser(user *model.User, sendNotifications bool) (*model.User,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if prev.CreateAt != user.CreateAt {
|
||||||
|
user.CreateAt = prev.CreateAt
|
||||||
|
}
|
||||||
|
|
||||||
if user.Username != prev.Username {
|
if user.Username != prev.Username {
|
||||||
if err := a.isUniqueToGroupNames(user.Username); err != nil {
|
if err := a.isUniqueToGroupNames(user.Username); err != nil {
|
||||||
err.Where = "UpdateUser"
|
err.Where = "UpdateUser"
|
||||||
|
|||||||
@@ -196,6 +196,36 @@ func TestUpdateUser(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUpdateUserMissingFields(t *testing.T) {
|
||||||
|
th := Setup(t)
|
||||||
|
defer th.TearDown()
|
||||||
|
|
||||||
|
user := th.CreateUser()
|
||||||
|
defer th.App.PermanentDeleteUser(th.Context, user)
|
||||||
|
|
||||||
|
tests := map[string]struct {
|
||||||
|
input *model.User
|
||||||
|
expect string
|
||||||
|
}{
|
||||||
|
"no missing fields": {input: &model.User{Id: user.Id, Username: user.Username, Email: user.Email}, expect: ""},
|
||||||
|
"missing id": {input: &model.User{Username: user.Username, Email: user.Email}, expect: "app.user.missing_account.const"},
|
||||||
|
"missing username": {input: &model.User{Id: user.Id, Email: user.Email}, expect: "model.user.is_valid.username.app_error"},
|
||||||
|
"missing email": {input: &model.User{Id: user.Id, Username: user.Username}, expect: "model.user.is_valid.email.app_error"},
|
||||||
|
}
|
||||||
|
|
||||||
|
for name, tc := range tests {
|
||||||
|
t.Run(name, func(t *testing.T) {
|
||||||
|
_, err := th.App.UpdateUser(tc.input, false)
|
||||||
|
|
||||||
|
if name == "no missing fields" {
|
||||||
|
assert.Nil(t, err)
|
||||||
|
} else {
|
||||||
|
assert.Equal(t, tc.expect, err.Id)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestCreateUser(t *testing.T) {
|
func TestCreateUser(t *testing.T) {
|
||||||
th := Setup(t)
|
th := Setup(t)
|
||||||
defer th.TearDown()
|
defer th.TearDown()
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user