Quería revisar un texto dentro de la alerta y tal vez obtener un botón de él.
it('should show message in press button', () => { const { getByText, getAllByText } = render( <OrganizationDocumentsController /> ); const buttonAddressCompany = getByText('ProofAddress'); expect(buttonAddressCompany).not.toBeNull(); fireEvent.press(buttonAddressCompany); expect(Alert.alert).toHaveBeenCalled(); <<< error appears on this line below >>> const buttonAlert = getAllByText('Cancel');});
Tengo una estructura de controlador (funciones) y pantalla (vista) si puede ayudar con códigos de prueba de muestra en texto para alertar o botón, se lo agradezco.
Me gustaría probar el mensaje que se muestra en la pantalla cuando se abre la alerta, ejemplo: "Cancelar"
Alert.alert( 'Would you like a photo or a document?', '', [ { text: 'Send Document', onPress: () => openDocumentFile(type), }, { text: 'Take Photo', onPress: () => { setModalVisiblePhoto(true); return setTypeDocument(type); }, }, { text: 'Cancel', style: 'cancel', }, ], { cancelable: true, } );Encontré una manera de resolver mi problema . Necesita importar la alerta y puede probar la llamada, los textos dentro de la alerta y también las funciones al presionar.
importar {Alerta} de 'react-native';
jest.spyOn(Alerta, 'alerta');
expect(Alert.alert).toHaveBeenCalled(); //revisar la llamada
const alertContent = Alert.alert.mock.calls[0]; // puede verificar el texto y al presionar hacer un registro de consola (alertContent)