1
1
import { actionValue } from "@mendix/piw-utils-internal" ;
2
2
import { createElement } from "react" ;
3
- import { AppStateStatus } from "react-native" ;
3
+ import { AppStateStatus , AppState } from "react-native" ;
4
4
import { render } from "@testing-library/react-native" ;
5
5
6
6
import { AppEvents , Props } from "../AppEvents" ;
@@ -12,16 +12,6 @@ function flushMicrotasksQueue() {
12
12
return new Promise ( resolve => setImmediate ( resolve ) ) ;
13
13
}
14
14
15
- jest . mock ( "react-native" , ( ) => ( {
16
- AppState : {
17
- currentState : "active" ,
18
- addEventListener : jest . fn ( ( _type , listener ) => {
19
- appStateChangeHandler = listener ;
20
- return { remove : jest . fn ( ( ) => ( appStateChangeHandler = undefined ) ) } ;
21
- } )
22
- }
23
- } ) ) ;
24
-
25
15
jest . mock ( "@react-native-community/netinfo" , ( ) => ( {
26
16
fetch : jest . fn ( ( ) => Promise . resolve ( { isConnected : true } ) ) ,
27
17
addEventListener : jest . fn ( listener => {
@@ -43,10 +33,27 @@ const defaultProps: Props = {
43
33
} ;
44
34
45
35
describe ( "AppEvents" , ( ) => {
36
+ let oldAppStateState : any ;
37
+ let oldAppStateEventListener : any ;
38
+
39
+ beforeAll ( ( ) => {
40
+ oldAppStateState = AppState . currentState ;
41
+ oldAppStateEventListener = AppState . addEventListener ;
42
+ AppState . currentState = "active" ;
43
+ AppState . addEventListener = jest . fn ( ( _type , listener ) => {
44
+ appStateChangeHandler = listener ;
45
+ return { remove : jest . fn ( ( ) => ( appStateChangeHandler = undefined ) ) } ;
46
+ } ) ;
47
+ } ) ;
48
+
49
+ afterAll ( ( ) => {
50
+ AppState . currentState = oldAppStateState ;
51
+ AppState . addEventListener = oldAppStateEventListener ;
52
+ } ) ;
53
+
46
54
afterEach ( ( ) => {
47
55
appStateChangeHandler = undefined ;
48
56
connectionChangeHandler = undefined ;
49
- // setTimeout(); NodeJS.Timeout;
50
57
} ) ;
51
58
52
59
it ( "does not render anything" , ( ) => {
0 commit comments