1
1
import { getClient , setCurrentClient } from '@sentry/core' ;
2
2
import { fireEvent , render , waitFor } from '@testing-library/react-native' ;
3
3
import * as React from 'react' ;
4
- import { Text } from 'react-native' ;
4
+ import { Alert , Text } from 'react-native' ;
5
5
6
6
import { FeedbackWidget } from '../../src/js/feedback/FeedbackWidget' ;
7
7
import type { ScreenshotButtonProps , ScreenshotButtonStyles } from '../../src/js/feedback/FeedbackWidget.types' ;
@@ -20,6 +20,8 @@ jest.mock('../../src/js/wrapper', () => ({
20
20
} ,
21
21
} ) ) ;
22
22
23
+ jest . spyOn ( Alert , 'alert' ) ;
24
+
23
25
const mockScreenshot : Screenshot = {
24
26
filename : 'test-screenshot.png' ,
25
27
contentType : 'image/png' ,
@@ -188,10 +190,10 @@ describe('ScreenshotButton', () => {
188
190
} ) ;
189
191
} ) ;
190
192
191
- it ( 'when the capture fails the capture button is still visible ' , async ( ) => {
193
+ it ( 'when the capture fails an error message is shown ' , async ( ) => {
192
194
mockCaptureScreenshot . mockResolvedValue ( [ ] ) ;
193
195
194
- const { getByText, queryByText } = render (
196
+ const { getByText } = render (
195
197
< FeedbackWidgetProvider >
196
198
< Text > App Components</ Text >
197
199
</ FeedbackWidgetProvider >
@@ -213,8 +215,7 @@ describe('ScreenshotButton', () => {
213
215
} ) ;
214
216
215
217
await waitFor ( ( ) => {
216
- const captureButton = queryByText ( 'Take Screenshot' ) ;
217
- expect ( captureButton ) . not . toBeNull ( ) ;
218
+ expect ( Alert . alert ) . toHaveBeenCalledWith ( 'Error' , 'Error capturing screenshot. Please try again.' ) ;
218
219
} ) ;
219
220
} ) ;
220
221
} ) ;
0 commit comments