@@ -2,7 +2,9 @@ import React from 'react';
22import 'jest-native/extend-expect' ;
33import { Button , Image , Text , TextInput , TouchableHighlight } from 'react-native' ;
44
5- import { render , fireEvent , eventMap , NativeEvent , getEventHandlerName , wait } from '../' ;
5+ import { cleanup , render , fireEvent , eventMap , NativeEvent , getEventHandlerName , wait } from '../' ;
6+
7+ afterEach ( cleanup ) ;
68
79Object . keys ( eventMap ) . forEach ( key => {
810 const handlerName = getEventHandlerName ( key ) ;
@@ -11,20 +13,27 @@ Object.keys(eventMap).forEach(key => {
1113 const config = eventMap [ key ] ;
1214
1315 config . validTargets . forEach ( element => {
14- const handler = jest . fn ( ) ;
15- const { container } = render ( React . createElement ( element , { [ handlerName ] : handler } ) ) ;
16+ const spy = jest . fn ( ) ;
17+
18+ const { getByTestId } = render (
19+ React . createElement ( element , {
20+ [ handlerName ] : spy ,
21+ } ) ,
22+ ) ;
1623
17- fireEvent [ key ] ( container ) ;
24+ const target = getByTestId ( 'ntl-container' ) . children [ 0 ] ;
25+ fireEvent [ key ] ( target ) ;
1826
19- expect ( handler ) . toHaveBeenCalledTimes ( 1 ) ;
27+ expect ( spy ) . toHaveBeenCalledTimes ( 1 ) ;
2028 } ) ;
2129 } ) ;
2230} ) ;
2331
2432test ( 'onChange works' , ( ) => {
2533 const handleChange = jest . fn ( ) ;
26- const { container } = render ( < TextInput onChange = { handleChange } /> ) ;
27- fireEvent . change ( container , { target : { value : 'a' } } ) ;
34+ const { getByTestId } = render ( < TextInput onChange = { handleChange } /> ) ;
35+ const target = getByTestId ( 'ntl-container' ) . children [ 0 ] ;
36+ fireEvent . change ( target , { target : { value : 'a' } } ) ;
2837 expect ( handleChange ) . toHaveBeenCalledTimes ( 1 ) ;
2938} ) ;
3039
@@ -66,9 +75,10 @@ test('assigns target properties', async () => {
6675
6776test ( 'calling `fireEvent` directly works too' , ( ) => {
6877 const handleEvent = jest . fn ( ) ;
69- const { container } = render ( < Button onPress = { handleEvent } title = "test" /> ) ;
78+ const { getByTestId } = render ( < Button onPress = { handleEvent } title = "test" /> ) ;
7079
71- fireEvent ( container , new NativeEvent ( 'press' ) ) ;
80+ const target = getByTestId ( 'ntl-container' ) . children [ 0 ] ;
81+ fireEvent ( target , new NativeEvent ( 'press' ) ) ;
7282 expect ( handleEvent ) . toBeCalledTimes ( 1 ) ;
7383} ) ;
7484
@@ -77,8 +87,9 @@ test('calling a custom event works as well', () => {
7787 const onMyEvent = jest . fn ( ( { nativeEvent } ) => expect ( nativeEvent ) . toEqual ( { value : 'testing' } ) ) ;
7888 const MyComponent = ( { onMyEvent } ) => < TextInput value = "test" onChange = { onMyEvent } /> ;
7989
80- const { container } = render ( < MyComponent onMyEvent = { onMyEvent } /> ) ;
81- fireEvent ( container , new NativeEvent ( 'myEvent' , event ) ) ;
90+ const { getByTestId } = render ( < MyComponent onMyEvent = { onMyEvent } /> ) ;
91+ const target = getByTestId ( 'ntl-container' ) . children [ 0 ] ;
92+ fireEvent ( target , new NativeEvent ( 'myEvent' , event ) ) ;
8293
8394 expect ( onMyEvent ) . toHaveBeenCalledWith ( {
8495 nativeEvent : { value : 'testing' } ,
0 commit comments