Skip to content

Commit 84f6b5e

Browse files
chore(internal): Add User Interaction Tracing as Integration (#2992)
1 parent d541acf commit 84f6b5e

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

src/js/client.ts

+4
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ export class ReactNativeClient extends BaseClient<ReactNativeClientOptions> {
119119
if (routingName) {
120120
this.addIntegration(createIntegration(routingName));
121121
}
122+
const enableUserInteractionTracing = tracing?.options.enableUserInteractionTracing;
123+
if (enableUserInteractionTracing) {
124+
this.addIntegration(createIntegration('ReactNativeUserInteractionTracing'));
125+
}
122126
}
123127

124128
/**

test/client.test.ts

+34
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,40 @@ describe('Tests ReactNativeClient', () => {
563563
expect(client.getIntegrationById('MockRoutingInstrumentation')).toBeTruthy();
564564
});
565565
});
566+
567+
describe('user interactions tracing as integrations', () => {
568+
test('register user interactions tracing', () => {
569+
const client = new ReactNativeClient(
570+
mockedOptions({
571+
dsn: EXAMPLE_DSN,
572+
integrations: [
573+
new ReactNativeTracing({
574+
enableUserInteractionTracing: true,
575+
}),
576+
],
577+
}),
578+
);
579+
client.setupIntegrations();
580+
581+
expect(client.getIntegrationById('ReactNativeUserInteractionTracing')).toBeTruthy();
582+
});
583+
584+
test('do not register user interactions tracing', () => {
585+
const client = new ReactNativeClient(
586+
mockedOptions({
587+
dsn: EXAMPLE_DSN,
588+
integrations: [
589+
new ReactNativeTracing({
590+
enableUserInteractionTracing: false,
591+
}),
592+
],
593+
}),
594+
);
595+
client.setupIntegrations();
596+
597+
expect(client.getIntegrationById('ReactNativeUserInteractionTracing')).toBeUndefined();
598+
});
599+
});
566600
});
567601

568602
function mockedOptions(options: Partial<ReactNativeClientOptions>): ReactNativeClientOptions {

0 commit comments

Comments
 (0)