diff --git a/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.test.tsx b/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.test.tsx
index 21b694135e..f44b129a23 100644
--- a/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.test.tsx
+++ b/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.test.tsx
@@ -217,4 +217,50 @@ describe('components/admin_console/group_settings/group_details/GroupDetails', (
getAnyInstance(wrapper).onMentionToggle(true);
expect(getAnyState(wrapper).groupMentionName).toBe('any_name_at_all');
});
+
+ test('handleRolesToUpdate should only update scheme_admin and not auto_add', async () => {
+ const patchGroupSyncable = jest.fn().mockReturnValue(Promise.resolve({data: true}));
+ const actions = {
+ ...defaultProps.actions,
+ patchGroupSyncable,
+ };
+
+ const wrapper = shallowWithIntl(
+ ,
+ );
+
+ const instance = getAnyInstance(wrapper);
+ instance.setState({
+ rolesToChange: {
+ 'team1/public-team': true,
+ 'channel1/public-channel': false,
+ },
+ });
+
+ await instance.handleRolesToUpdate();
+
+ expect(patchGroupSyncable).toHaveBeenCalledTimes(2);
+ expect(patchGroupSyncable).toHaveBeenCalledWith(
+ 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
+ 'team1',
+ 'team',
+ {scheme_admin: true},
+ );
+ expect(patchGroupSyncable).toHaveBeenCalledWith(
+ 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
+ 'channel1',
+ 'channel',
+ {scheme_admin: false},
+ );
+
+ // Verify auto_add was not included in any of the patch calls
+ patchGroupSyncable.mock.calls.forEach((call) => {
+ expect(call[3]).not.toHaveProperty('auto_add');
+ expect(Object.keys(call[3]).length).toBe(1);
+ expect(Object.keys(call[3])[0]).toBe('scheme_admin');
+ });
+ });
});
diff --git a/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.tsx b/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.tsx
index e15ef47edc..d480383554 100644
--- a/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.tsx
+++ b/webapp/channels/src/components/admin_console/group_settings/group_details/group_details.tsx
@@ -68,7 +68,7 @@ export type Props = {
id: string,
syncableID: string,
syncableType: SyncableType,
- patch: SyncablePatch
+ patch: Partial
) => Promise;
patchGroup: (id: string, patch: GroupPatch) => Promise;
setNavigationBlocked: (blocked: boolean) => {
@@ -531,7 +531,7 @@ class GroupDetails extends React.PureComponent {
this.props.groupID,
syncableID,
syncableType,
- {scheme_admin: value, auto_add: false},
+ {scheme_admin: value},
),
);
}