@@ -13,13 +13,21 @@ import InstabugUtils, {
1313 registerFilteringListener ,
1414 registerObfuscationListener ,
1515 reportNetworkLog ,
16+ resetNativeObfuscationListener ,
1617 sendCrashReport ,
18+ updateNetworkLogSnapshot ,
1719} from '../../src/utils/InstabugUtils' ;
1820
19- import { NativeNetworkLogger , NetworkListenerType } from '../../src/native/NativeNetworkLogger' ;
21+ import {
22+ NativeNetworkLogger ,
23+ NetworkListenerType ,
24+ NetworkLoggerEmitter ,
25+ } from '../../src/native/NativeNetworkLogger' ;
2026import { NativeInstabug } from '../../src/native/NativeInstabug' ;
2127import { NativeAPM } from '../../src/native/NativeAPM' ;
2228
29+ jest . mock ( '../../src/modules/NetworkLogger' ) ;
30+
2331describe ( 'Test global error handler' , ( ) => {
2432 beforeEach ( ( ) => {
2533 Instabug . init ( { token : '' , invocationEvents : [ InvocationEvent . none ] } ) ;
@@ -339,15 +347,33 @@ describe('reportNetworkLog', () => {
339347 } ) ;
340348} ) ;
341349
342- jest . mock ( '../../src/modules/NetworkLogger' ) ;
343-
344350describe ( 'test registerNetworkLogsListener usage' , ( ) => {
345351 beforeEach ( ( ) => {
346352 jest . clearAllMocks ( ) ; // Clear all mocks before each test
347353 } ) ;
354+
355+ const network : NetworkLogger . NetworkData = {
356+ id : '' ,
357+ url : 'https://api.instabug.com' ,
358+ requestBody : '' ,
359+ requestHeaders : { 'content-type' : 'application/json' } ,
360+ method : 'GET' ,
361+ responseBody : '' ,
362+ responseCode : 200 ,
363+ responseHeaders : { 'content-type' : 'application/json' } ,
364+ contentType : 'application/json' ,
365+ duration : 0 ,
366+ requestBodySize : 0 ,
367+ responseBodySize : 0 ,
368+ errorDomain : '' ,
369+ errorCode : 0 ,
370+ startTime : 0 ,
371+ serverErrorMessage : '' ,
372+ requestContentType : 'application/json' ,
373+ } ;
374+
348375 it ( 'registerObfuscationListener should call NetworkLogger.registerNetworkLogsListener() with NetworkListenerType = NetworkListenerType.obfuscation' , ( ) => {
349376 registerObfuscationListener ( ) ;
350-
351377 expect ( NetworkLogger . registerNetworkLogsListener ) . toBeCalledTimes ( 1 ) ;
352378 expect ( NetworkLogger . registerNetworkLogsListener ) . toBeCalledWith (
353379 NetworkListenerType . obfuscation ,
@@ -376,4 +402,35 @@ describe('test registerNetworkLogsListener usage', () => {
376402 expect . any ( Function ) ,
377403 ) ;
378404 } ) ;
405+
406+ it ( 'should call NetworkLoggerEmitter.removeAllListeners when call resetNativeObfuscationListener' , ( ) => {
407+ jest . spyOn ( NetworkLoggerEmitter , 'removeAllListeners' ) . mockImplementation ( ) ;
408+ resetNativeObfuscationListener ( ) ;
409+ expect ( NetworkLoggerEmitter . removeAllListeners ) . toBeCalledTimes ( 1 ) ;
410+ } ) ;
411+
412+ it ( 'should call NativeNetworkLogger.resetNetworkLogsListener when call resetNativeObfuscationListener on android platform' , ( ) => {
413+ Platform . OS = 'android' ;
414+ jest . spyOn ( NativeNetworkLogger , 'resetNetworkLogsListener' ) . mockImplementation ( ) ;
415+ jest . spyOn ( NetworkLoggerEmitter , 'removeAllListeners' ) . mockImplementation ( ) ;
416+ resetNativeObfuscationListener ( ) ;
417+ expect ( NativeNetworkLogger . resetNetworkLogsListener ) . toBeCalledTimes ( 1 ) ;
418+ expect ( NetworkLoggerEmitter . removeAllListeners ) . toBeCalledTimes ( 1 ) ;
419+ } ) ;
420+
421+ it ( 'should call NativeNetworkLogger.updateNetworkLogSnapshot when call updateNetworkLogSnapshot with correct parameters' , ( ) => {
422+ jest . spyOn ( NativeNetworkLogger , 'updateNetworkLogSnapshot' ) . mockImplementation ( ) ;
423+
424+ updateNetworkLogSnapshot ( network ) ;
425+ expect ( NativeNetworkLogger . updateNetworkLogSnapshot ) . toBeCalledTimes ( 1 ) ;
426+ expect ( NativeNetworkLogger . updateNetworkLogSnapshot ) . toHaveBeenCalledWith (
427+ network . url ,
428+ network . id ,
429+ network . requestBody ,
430+ network . responseBody ,
431+ network . responseCode ?? 200 ,
432+ network . requestHeaders ,
433+ network . responseHeaders ,
434+ ) ;
435+ } ) ;
379436} ) ;
0 commit comments