diff --git a/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts b/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts index 514d869c1..0cb13c75a 100644 --- a/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts +++ b/src/lib/hooks/useConnect/__test__/setupConnection.spec.ts @@ -265,4 +265,27 @@ describe('useConnect/setupConnection/initSDK', () => { }); expect(newSdk).toEqual(mockSdk); }); + it('should override default localCacheEnabled when provided in sdkInitParams', async () => { + const setUpConnectionProps = generateSetUpConnectionParams(); + const { appId } = setUpConnectionProps; + const sdkInitParams = { + localCacheEnabled: false, + }; + + const newSdk = initSDK({ appId, sdkInitParams }); + + // @ts-ignore + expect(require('@sendbird/chat').init).toBeCalledWith({ + appId, + newInstance: false, + modules: [ + // @ts-ignore + new (require('@sendbird/chat/groupChannel').GroupChannelModule)(), + // @ts-ignore + new (require('@sendbird/chat/openChannel').OpenChannelModule)(), + ], + localCacheEnabled: false, + }); + expect(newSdk).toEqual(mockSdk); + }); }); diff --git a/src/lib/hooks/useConnect/setupConnection.ts b/src/lib/hooks/useConnect/setupConnection.ts index 1872aac25..208fe2e27 100644 --- a/src/lib/hooks/useConnect/setupConnection.ts +++ b/src/lib/hooks/useConnect/setupConnection.ts @@ -173,12 +173,13 @@ export function initSDK({ sdkInitParams?: SendbirdChatInitParams; customExtensionParams?: CustomExtensionParams; }) { - const params = Object.assign(sdkInitParams, { + // eslint-disable-next-line prefer-object-spread -- not to break the existing types + const params = Object.assign({}, { appId, modules: [new GroupChannelModule(), new OpenChannelModule()], newInstance: isNewApp, localCacheEnabled: true, - }); + }, sdkInitParams); if (customApiHost) params.customApiHost = customApiHost; if (customWebSocketHost) params.customWebSocketHost = customWebSocketHost;