Skip to content

Commit 46d0746

Browse files
add: unit tests to InstabugUtils.spec.ts
1 parent 5de5fc4 commit 46d0746

File tree

2 files changed

+66
-2
lines changed

2 files changed

+66
-2
lines changed

src/utils/InstabugUtils.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@ export const reportNetworkLog = (network: NetworkData) => {
233233
}
234234
};
235235

236+
/**
237+
* @internal
238+
* This method is for internal use only.
239+
*/
236240
export function registerObfuscationListener() {
237241
NetworkLogger.registerNetworkLogsListener(
238242
NetworkListenerType.obfuscation,
@@ -246,6 +250,10 @@ export function registerObfuscationListener() {
246250
);
247251
}
248252

253+
/**
254+
* @internal
255+
* This method is for internal use only.
256+
*/
249257
export function registerFilteringListener(filterExpression: string) {
250258
NetworkLogger.registerNetworkLogsListener(
251259
NetworkListenerType.filtering,
@@ -267,6 +275,10 @@ export function registerFilteringListener(filterExpression: string) {
267275
);
268276
}
269277

278+
/**
279+
* @internal
280+
* This method is for internal use only.
281+
*/
270282
export function registerFilteringAndObfuscationListener(filterExpression: string) {
271283
NetworkLogger.registerNetworkLogsListener(NetworkListenerType.both, async (networkSnapshot) => {
272284
// eslint-disable-next-line no-new-func
@@ -292,6 +304,10 @@ export function registerFilteringAndObfuscationListener(filterExpression: string
292304
});
293305
}
294306

307+
/**
308+
* @internal
309+
* This method is for internal use only.
310+
*/
295311
export function checkNetworkRequestHandlers() {
296312
const obfuscationHandler = NetworkLogger.getNetworkDataObfuscationHandler();
297313
const hasFilterExpression = NetworkLogger.hasRequestFilterExpression();
@@ -320,7 +336,11 @@ export function resetNativeObfuscationListener() {
320336
NetworkLoggerEmitter.removeAllListeners(NativeNetworkLoggerEvent.NETWORK_LOGGER_HANDLER);
321337
}
322338

323-
function updateNetworkLogSnapshot(networkSnapshot: NetworkData) {
339+
/**
340+
* @internal
341+
* This method is for internal use only.
342+
*/
343+
export function updateNetworkLogSnapshot(networkSnapshot: NetworkData) {
324344
NativeNetworkLogger.updateNetworkLogSnapshot(
325345
networkSnapshot.url,
326346
networkSnapshot.id,

test/utils/InstabugUtils.spec.ts

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,19 @@ import { Platform } from 'react-native';
44
import parseErrorStackLib from 'react-native/Libraries/Core/Devtools/parseErrorStack';
55

66
import * as Instabug from '../../src/modules/Instabug';
7+
import * as NetworkLogger from '../../src/modules/NetworkLogger';
78
import { NativeCrashReporting } from '../../src/native/NativeCrashReporting';
89
import { InvocationEvent, NetworkData, NonFatalErrorLevel } from '../../src';
910
import InstabugUtils, {
1011
getStackTrace,
12+
registerFilteringAndObfuscationListener,
13+
registerFilteringListener,
14+
registerObfuscationListener,
1115
reportNetworkLog,
1216
sendCrashReport,
1317
} from '../../src/utils/InstabugUtils';
14-
import { NativeNetworkLogger } from '../../src/native/NativeNetworkLogger';
18+
19+
import { NativeNetworkLogger, NetworkListenerType } from '../../src/native/NativeNetworkLogger';
1520
import { NativeInstabug } from '../../src/native/NativeInstabug';
1621
import { NativeAPM } from '../../src/native/NativeAPM';
1722

@@ -333,3 +338,42 @@ describe('reportNetworkLog', () => {
333338
);
334339
});
335340
});
341+
342+
jest.mock('../../src/modules/NetworkLogger');
343+
344+
describe('test registerNetworkLogsListener usage', () => {
345+
beforeEach(() => {
346+
jest.clearAllMocks(); // Clear all mocks before each test
347+
});
348+
it('registerObfuscationListener should call NetworkLogger.registerNetworkLogsListener() with NetworkListenerType = NetworkListenerType.obfuscation', () => {
349+
registerObfuscationListener();
350+
351+
expect(NetworkLogger.registerNetworkLogsListener).toBeCalledTimes(1);
352+
expect(NetworkLogger.registerNetworkLogsListener).toBeCalledWith(
353+
NetworkListenerType.obfuscation,
354+
expect.any(Function),
355+
);
356+
});
357+
358+
it('registerFilteringListener should call NetworkLogger.registerNetworkLogsListener() with NetworkListenerType = NetworkListenerType.filtering', () => {
359+
const testText = 'true';
360+
registerFilteringListener(testText);
361+
362+
expect(NetworkLogger.registerNetworkLogsListener).toBeCalledTimes(1);
363+
expect(NetworkLogger.registerNetworkLogsListener).toBeCalledWith(
364+
NetworkListenerType.filtering,
365+
expect.any(Function),
366+
);
367+
});
368+
369+
it('registerFilteringAndObfuscationListener should call NetworkLogger.registerNetworkLogsListener() with NetworkListenerType = NetworkListenerType.both', () => {
370+
const testText = 'true';
371+
registerFilteringAndObfuscationListener(testText);
372+
373+
expect(NetworkLogger.registerNetworkLogsListener).toBeCalledTimes(1);
374+
expect(NetworkLogger.registerNetworkLogsListener).toBeCalledWith(
375+
NetworkListenerType.both,
376+
expect.any(Function),
377+
);
378+
});
379+
});

0 commit comments

Comments
 (0)