1- import { logger } from '@sentry/core' ;
1+ import { getClient , logger , setCurrentClient } from '@sentry/core' ;
22import { render } from '@testing-library/react-native' ;
33import * as React from 'react' ;
44import { Text } from 'react-native' ;
55
66import { defaultConfiguration } from '../../src/js/feedback/defaults' ;
77import { FeedbackWidgetProvider , resetFeedbackWidgetManager , showFeedbackWidget } from '../../src/js/feedback/FeedbackWidgetManager' ;
88import { feedbackIntegration } from '../../src/js/feedback/integration' ;
9+ import { AUTO_INJECT_FEEDBACK_INTEGRATION_NAME } from '../../src/js/feedback/lazy' ;
910import { isModalSupported } from '../../src/js/feedback/utils' ;
11+ import { getDefaultTestClientOptions , TestClient } from '../mocks/client' ;
1012
1113jest . mock ( '../../src/js/feedback/utils' , ( ) => ( {
1214 isModalSupported : jest . fn ( ) ,
@@ -23,6 +25,9 @@ beforeEach(() => {
2325describe ( 'FeedbackWidgetManager' , ( ) => {
2426
2527 beforeEach ( ( ) => {
28+ const client = new TestClient ( getDefaultTestClientOptions ( ) ) ;
29+ setCurrentClient ( client ) ;
30+ client . init ( ) ;
2631 consoleWarnSpy . mockReset ( ) ;
2732 resetFeedbackWidgetManager ( ) ;
2833 } ) ;
@@ -72,10 +77,11 @@ describe('FeedbackWidgetManager', () => {
7277 </ FeedbackWidgetProvider >
7378 ) ;
7479
75- feedbackIntegration ( {
80+ const integration = feedbackIntegration ( {
7681 messagePlaceholder : 'Custom Message Placeholder' ,
7782 submitButtonLabel : 'Custom Submit Button' ,
7883 } ) ;
84+ getClient ( ) ?. addIntegration ( integration ) ;
7985
8086 showFeedbackWidget ( ) ;
8187
@@ -91,9 +97,10 @@ describe('FeedbackWidgetManager', () => {
9197 </ FeedbackWidgetProvider >
9298 ) ;
9399
94- feedbackIntegration ( {
100+ const integration = feedbackIntegration ( {
95101 submitButtonLabel : 'Custom Submit Button' ,
96- } ) ,
102+ } ) ;
103+ getClient ( ) ?. addIntegration ( integration ) ;
97104
98105 showFeedbackWidget ( ) ;
99106
@@ -123,4 +130,12 @@ describe('FeedbackWidgetManager', () => {
123130
124131 expect ( consoleWarnSpy ) . not . toHaveBeenCalled ( ) ;
125132 } ) ;
133+
134+ it ( 'showFeedbackWidget adds the feedbackIntegration to the client' , ( ) => {
135+ mockedIsModalSupported . mockReturnValue ( true ) ;
136+
137+ showFeedbackWidget ( ) ;
138+
139+ expect ( getClient ( ) . getIntegrationByName ( AUTO_INJECT_FEEDBACK_INTEGRATION_NAME ) ) . toBeDefined ( ) ;
140+ } ) ;
126141} ) ;
0 commit comments