* changing SchemeAdmin to false on demotion

* Added test

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Anurag Shivarathri
2021-03-15 18:33:54 +05:30
коммит произвёл GitHub
родитель 8abb4184b5
Коммит 145fa97069
2 изменённых файлов: 48 добавлений и 0 удалений

Просмотреть файл

@@ -1349,6 +1349,52 @@ func TestDemoteUserToGuest(t *testing.T) {
require.Nil(t, err)
assert.Len(t, *channelMembers, 3)
})
t.Run("Must be removed as team and channel admin", func(t *testing.T) {
user := th.CreateUser()
require.Equal(t, "system_user", user.Roles)
team := th.CreateTeam()
th.LinkUserToTeam(user, team)
th.App.UpdateTeamMemberRoles(team.Id, user.Id, "team_user team_admin")
teamMember, err := th.App.GetTeamMember(team.Id, user.Id)
require.Nil(t, err)
require.True(t, teamMember.SchemeUser)
require.True(t, teamMember.SchemeAdmin)
require.False(t, teamMember.SchemeGuest)
channel := th.CreateChannel(team)
th.AddUserToChannel(user, channel)
th.App.UpdateChannelMemberSchemeRoles(channel.Id, user.Id, false, true, true)
channelMember, err := th.App.GetChannelMember(channel.Id, user.Id)
assert.Nil(t, err)
assert.True(t, channelMember.SchemeUser)
assert.True(t, channelMember.SchemeAdmin)
assert.False(t, channelMember.SchemeGuest)
err = th.App.DemoteUserToGuest(user)
require.Nil(t, err)
user, err = th.App.GetUser(user.Id)
assert.Nil(t, err)
assert.Equal(t, "system_guest", user.Roles)
teamMember, err = th.App.GetTeamMember(team.Id, user.Id)
assert.Nil(t, err)
assert.False(t, teamMember.SchemeUser)
assert.False(t, teamMember.SchemeAdmin)
assert.True(t, teamMember.SchemeGuest)
channelMember, err = th.App.GetChannelMember(channel.Id, user.Id)
assert.Nil(t, err)
assert.False(t, channelMember.SchemeUser)
assert.False(t, channelMember.SchemeAdmin)
assert.True(t, channelMember.SchemeGuest)
})
}
func TestDeactivateGuests(t *testing.T) {

Просмотреть файл

@@ -1884,6 +1884,7 @@ func (us SqlUserStore) DemoteUserToGuest(userID string) (*model.User, error) {
query = us.getQueryBuilder().Update("ChannelMembers").
Set("SchemeUser", false).
Set("SchemeAdmin", false).
Set("SchemeGuest", true).
Where(sq.Eq{"UserId": userID})
@@ -1898,6 +1899,7 @@ func (us SqlUserStore) DemoteUserToGuest(userID string) (*model.User, error) {
query = us.getQueryBuilder().Update("TeamMembers").
Set("SchemeUser", false).
Set("SchemeAdmin", false).
Set("SchemeGuest", true).
Where(sq.Eq{"UserId": userID})