mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
MM-16625: Set UpdateAt correctly on deleting profile pic. (#11525)
This commit is contained in:
committed by
Harrison Healey
parent
1bd6d9a90b
commit
efc342f294
@@ -223,7 +223,9 @@ func (us SqlUserStore) UpdateLastPictureUpdate(userId string) *model.AppError {
|
||||
}
|
||||
|
||||
func (us SqlUserStore) ResetLastPictureUpdate(userId string) *model.AppError {
|
||||
if _, err := us.GetMaster().Exec("UPDATE Users SET LastPictureUpdate = :Time, UpdateAt = :Time WHERE Id = :UserId", map[string]interface{}{"Time": 0, "UserId": userId}); err != nil {
|
||||
curTime := model.GetMillis()
|
||||
|
||||
if _, err := us.GetMaster().Exec("UPDATE Users SET LastPictureUpdate = :PictureUpdateTime, UpdateAt = :UpdateTime WHERE Id = :UserId", map[string]interface{}{"PictureUpdateTime": 0, "UpdateTime": curTime, "UserId": userId}); err != nil {
|
||||
return model.NewAppError("SqlUserStore.ResetLastPictureUpdate", "store.sql_user.update_last_picture_update.app_error", nil, "user_id="+userId, http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ func TestUserStore(t *testing.T, ss store.Store) {
|
||||
t.Run("GetUsersBatchForIndexing", func(t *testing.T) { testUserStoreGetUsersBatchForIndexing(t, ss) })
|
||||
t.Run("GetTeamGroupUsers", func(t *testing.T) { testUserStoreGetTeamGroupUsers(t, ss) })
|
||||
t.Run("GetChannelGroupUsers", func(t *testing.T) { testUserStoreGetChannelGroupUsers(t, ss) })
|
||||
t.Run("ResetLastPictureUpdate", func(t *testing.T) { testUserStoreResetLastPictureUpdate(t, ss) })
|
||||
}
|
||||
|
||||
func testUserStoreSave(t *testing.T, ss store.Store) {
|
||||
@@ -3944,3 +3945,29 @@ func testUserStoreGetChannelGroupUsers(t *testing.T, ss store.Store) {
|
||||
// ensure removed allowed member still returned by query
|
||||
requireNUsers(2)
|
||||
}
|
||||
|
||||
func testUserStoreResetLastPictureUpdate(t *testing.T, ss store.Store) {
|
||||
u1 := &model.User{}
|
||||
u1.Email = MakeEmail()
|
||||
store.Must(ss.User().Save(u1))
|
||||
defer func() { require.Nil(t, ss.User().PermanentDelete(u1.Id)) }()
|
||||
store.Must(ss.Team().SaveMember(&model.TeamMember{TeamId: model.NewId(), UserId: u1.Id}, -1))
|
||||
|
||||
err := ss.User().UpdateLastPictureUpdate(u1.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
user, err := ss.User().Get(u1.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
assert.NotZero(t, user.LastPictureUpdate)
|
||||
assert.NotZero(t, user.UpdateAt)
|
||||
|
||||
err = ss.User().ResetLastPictureUpdate(u1.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
user2, err := ss.User().Get(u1.Id)
|
||||
require.Nil(t, err)
|
||||
|
||||
assert.True(t, user2.UpdateAt > user.UpdateAt)
|
||||
assert.Zero(t, user2.LastPictureUpdate)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user