Fixed bug where channel admin wasn't set when converting GM to private channel (#25515)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
37ce3e6398
Коммит
6561f6f4ff
@@ -3561,6 +3561,13 @@ func (a *App) ConvertGroupMessageToChannel(c request.CTX, convertedByUserId stri
|
|||||||
|
|
||||||
_ = a.setSidebarCategoriesForConvertedGroupMessage(c, gmConversionRequest, users)
|
_ = a.setSidebarCategoriesForConvertedGroupMessage(c, gmConversionRequest, users)
|
||||||
_ = a.postMessageForConvertGroupMessageToChannel(c, gmConversionRequest.ChannelID, convertedByUserId, users)
|
_ = a.postMessageForConvertGroupMessageToChannel(c, gmConversionRequest.ChannelID, convertedByUserId, users)
|
||||||
|
|
||||||
|
// the user conversion the GM becomes the channel admin.
|
||||||
|
_, appErr = a.UpdateChannelMemberSchemeRoles(c, gmConversionRequest.ChannelID, convertedByUserId, false, true, true)
|
||||||
|
if appErr != nil {
|
||||||
|
return nil, appErr
|
||||||
|
}
|
||||||
|
|
||||||
return updatedChannel, nil
|
return updatedChannel, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2542,7 +2542,9 @@ func TestConvertGroupMessageToChannel(t *testing.T) {
|
|||||||
mockChannelStore.On("InvalidateChannelByName", "team_id_1", "new_name").Times(1)
|
mockChannelStore.On("InvalidateChannelByName", "team_id_1", "new_name").Times(1)
|
||||||
mockChannelStore.On("InvalidateChannelByName", "dm", "")
|
mockChannelStore.On("InvalidateChannelByName", "dm", "")
|
||||||
mockChannelStore.On("GetMember", sqlstore.WithMaster(context.Background()), "channelidchannelidchanneli", "user_id_1").Return(&model.ChannelMember{}, nil).Times(1)
|
mockChannelStore.On("GetMember", sqlstore.WithMaster(context.Background()), "channelidchannelidchanneli", "user_id_1").Return(&model.ChannelMember{}, nil).Times(1)
|
||||||
mockChannelStore.On("GetMember", context.Background(), "channelidchannelidchanneli", "user_id_1").Return(&model.ChannelMember{}, nil).Times(1)
|
mockChannelStore.On("GetMember", context.Background(), "channelidchannelidchanneli", "user_id_1").Return(&model.ChannelMember{}, nil).Times(2)
|
||||||
|
mockChannelStore.On("UpdateMember", mock.AnythingOfType("*model.ChannelMember")).Return(&model.ChannelMember{UserId: "user_id_1"}, nil)
|
||||||
|
mockChannelStore.On("InvalidateAllChannelMembersForUser", "user_id_1").Return()
|
||||||
mockChannelStore.On("InvalidatePinnedPostCount", "channelidchannelidchanneli")
|
mockChannelStore.On("InvalidatePinnedPostCount", "channelidchannelidchanneli")
|
||||||
mockChannelStore.On("GetAllChannelMembersNotifyPropsForChannel", "channelidchannelidchanneli", true).Return(map[string]model.StringMap{}, nil)
|
mockChannelStore.On("GetAllChannelMembersNotifyPropsForChannel", "channelidchannelidchanneli", true).Return(map[string]model.StringMap{}, nil)
|
||||||
mockChannelStore.On("IncrementMentionCount", "", []string{}, true, false).Return(nil)
|
mockChannelStore.On("IncrementMentionCount", "", []string{}, true, false).Return(nil)
|
||||||
@@ -2623,12 +2625,18 @@ func TestConvertGroupMessageToChannel(t *testing.T) {
|
|||||||
{Id: "user_id_2", Username: "user_id_2"},
|
{Id: "user_id_2", Username: "user_id_2"},
|
||||||
}, nil)
|
}, nil)
|
||||||
mockUserStore.On("GetAllProfilesInChannel", mock.Anything, mock.Anything, mock.Anything).Return(map[string]*model.User{}, nil)
|
mockUserStore.On("GetAllProfilesInChannel", mock.Anything, mock.Anything, mock.Anything).Return(map[string]*model.User{}, nil)
|
||||||
|
mockUserStore.On("InvalidateProfilesInChannelCacheByUser", "user_id_1").Return()
|
||||||
|
mockUserStore.On("InvalidateProfileCacheForUser", "user_id_1").Return()
|
||||||
|
|
||||||
mockPostStore := mocks.PostStore{}
|
mockPostStore := mocks.PostStore{}
|
||||||
mockStore.On("Post").Return(&mockPostStore)
|
mockStore.On("Post").Return(&mockPostStore)
|
||||||
mockPostStore.On("Save", mock.AnythingOfType("*model.Post")).Return(&model.Post{}, nil)
|
mockPostStore.On("Save", mock.AnythingOfType("*model.Post")).Return(&model.Post{}, nil)
|
||||||
mockPostStore.On("InvalidateLastPostTimeCache", "channelidchannelidchanneli")
|
mockPostStore.On("InvalidateLastPostTimeCache", "channelidchannelidchanneli")
|
||||||
|
|
||||||
|
mockSystemStore := mocks.SystemStore{}
|
||||||
|
mockStore.On("System").Return(&mockSystemStore)
|
||||||
|
mockSystemStore.On("GetByName", model.MigrationKeyAdvancedPermissionsPhase2).Return(nil, nil)
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
|
|
||||||
th.App.ch.srv.userService, err = users.New(users.ServiceConfig{
|
th.App.ch.srv.userService, err = users.New(users.ServiceConfig{
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user