11import { getClient , setCurrentClient } from '@sentry/core' ;
22import { fireEvent , render , waitFor } from '@testing-library/react-native' ;
33import * as React from 'react' ;
4- import { Text } from 'react-native' ;
4+ import { Alert , Text } from 'react-native' ;
55
66import { FeedbackWidget } from '../../src/js/feedback/FeedbackWidget' ;
77import type { ScreenshotButtonProps , ScreenshotButtonStyles } from '../../src/js/feedback/FeedbackWidget.types' ;
@@ -20,6 +20,8 @@ jest.mock('../../src/js/wrapper', () => ({
2020 } ,
2121} ) ) ;
2222
23+ jest . spyOn ( Alert , 'alert' ) ;
24+
2325const mockScreenshot : Screenshot = {
2426 filename : 'test-screenshot.png' ,
2527 contentType : 'image/png' ,
@@ -188,10 +190,10 @@ describe('ScreenshotButton', () => {
188190 } ) ;
189191 } ) ;
190192
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 ( ) => {
192194 mockCaptureScreenshot . mockResolvedValue ( [ ] ) ;
193195
194- const { getByText, queryByText } = render (
196+ const { getByText } = render (
195197 < FeedbackWidgetProvider >
196198 < Text > App Components</ Text >
197199 </ FeedbackWidgetProvider >
@@ -213,8 +215,7 @@ describe('ScreenshotButton', () => {
213215 } ) ;
214216
215217 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.' ) ;
218219 } ) ;
219220 } ) ;
220221} ) ;
0 commit comments