fix for group member count using wrong property (#27201)

Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
Scott Bishel 2024-06-21 09:19:56 -06:00 committed by GitHub
parent 5823edf2c2
commit e23f992b26
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 96 additions and 1 deletions

View File

@ -785,6 +785,101 @@ describe('channels', () => {
});
});
describe('RECEIVED_CHANNEL_MEMBER_COUNTS_FROM_GROUPS_LIST', () => {
test('Should add new channel member counts', () => {
const state = deepFreeze(channelsReducer({
channels: {
channel1: {
id: 'channel1',
team_id: 'team',
},
},
}, {}));
const nextState = channelsReducer(state, {
type: ChannelTypes.RECEIVED_CHANNEL_MEMBER_COUNTS_FROM_GROUPS_LIST,
sync: true,
channelId: 'channel1',
teamId: 'team',
data: [
{
id: 'group-1',
member_count: 1,
channel_member_timezones_count: 1,
},
{
id: 'group-2',
member_count: 999,
channel_member_timezones_count: 131,
},
],
});
console.log(nextState.channelMemberCountsByGroup.channel1);
expect(nextState.channelMemberCountsByGroup.channel1['group-1'].channel_member_count).toEqual(1);
expect(nextState.channelMemberCountsByGroup.channel1['group-1'].channel_member_timezones_count).toEqual(1);
expect(nextState.channelMemberCountsByGroup.channel1['group-2'].channel_member_count).toEqual(999);
expect(nextState.channelMemberCountsByGroup.channel1['group-2'].channel_member_timezones_count).toEqual(131);
});
test('Should replace existing channel member counts', () => {
const state = deepFreeze(channelsReducer({
channels: {
channel1: {
id: 'channel1',
team_id: 'team',
},
},
channelMemberCountsByGroup: {
'group-1': {
id: 'group-1',
member_count: 1,
channel_member_timezones_count: 1,
},
'group-2': {
id: 'group-2',
member_count: 999,
channel_member_timezones_count: 131,
},
},
}, {}));
const nextState = channelsReducer(state, {
type: ChannelTypes.RECEIVED_CHANNEL_MEMBER_COUNTS_FROM_GROUPS_LIST,
sync: true,
channelId: 'channel1',
teamId: 'team',
data: [
{
id: 'group-1',
member_count: 5,
channel_member_timezones_count: 2,
},
{
id: 'group-2',
member_count: 1002,
channel_member_timezones_count: 133,
},
{
id: 'group-3',
member_count: 12,
channel_member_timezones_count: 13,
},
],
});
expect(nextState.channelMemberCountsByGroup.channel1['group-1'].channel_member_count).toEqual(5);
expect(nextState.channelMemberCountsByGroup.channel1['group-1'].channel_member_timezones_count).toEqual(2);
expect(nextState.channelMemberCountsByGroup.channel1['group-2'].channel_member_count).toEqual(1002);
expect(nextState.channelMemberCountsByGroup.channel1['group-2'].channel_member_timezones_count).toEqual(133);
expect(nextState.channelMemberCountsByGroup.channel1['group-3'].channel_member_count).toEqual(12);
expect(nextState.channelMemberCountsByGroup.channel1['group-3'].channel_member_timezones_count).toEqual(13);
});
});
describe('Data Retention Channels', () => {
test('RECEIVED_DATA_RETENTION_CUSTOM_POLICY_CHANNELS', () => {
const state = deepFreeze(channelsReducer({

View File

@ -858,7 +858,7 @@ export function channelMemberCountsByGroup(state: any = {}, action: AnyAction) {
action.data.forEach((group: Group) => {
memberCountsByGroup[group.id] = {
group_id: group.id,
channel_member_count: group.channel_member_count || 0,
channel_member_count: group.member_count || 0,
channel_member_timezones_count: group.channel_member_timezones_count || 0,
};
});