@@ -59,6 +59,19 @@ test('will return a cached event when appropriate', done => {
59
59
uri : null ,
60
60
}
61
61
62
+ // expectedResult is mockResult with +rn_cached_initial_event added to
63
+ // params.
64
+ const expectedParams = {
65
+ ...mockResult . params ,
66
+ '+rn_cached_initial_event' : true ,
67
+ }
68
+ expectedParams [ '+rn_cached_initial_event' ] = true
69
+ const expectedResult = {
70
+ params : expectedParams ,
71
+ error : mockResult . error ,
72
+ uri : mockResult . uri ,
73
+ }
74
+
62
75
// Mock promise from redeemInitSessionResult
63
76
RNBranch . redeemInitSessionResult . mockReturnValueOnce ( Promise . resolve ( mockResult ) )
64
77
@@ -70,35 +83,33 @@ test('will return a cached event when appropriate', done => {
70
83
} )
71
84
72
85
// mock subscriber._nativeEventEmitter.addListener.
73
-
74
- // TODO: Brittle test
75
- // Expect first onOpenStart, then onOpenComplete, then _nativeEventEmitter.addListener three times,
76
- // with INIT_SESSION_ERROR last.
77
86
subscriber . _nativeEventEmitter . addListener = ( eventType , listener ) => {
87
+ // TODO: Brittle test
88
+ // Expect first onOpenStart, then onOpenComplete, then _nativeEventEmitter.addListener three times,
89
+ // with INIT_SESSION_ERROR last.
78
90
if ( eventType !== RNBranch . INIT_SESSION_ERROR ) return
79
91
80
92
// --- Check results ---
81
93
82
- // Expect onOpenStart and onOpenComplete both to be called
83
-
84
- // uri passed to onOpenStart
85
- expect ( subscriber . options . onOpenStart . mock . calls . length ) . toBe ( 1 )
86
- expect ( subscriber . options . onOpenStart . mock . calls [ 0 ] [ 0 ] ) . toEqual ( { uri : null } )
94
+ try {
95
+ // Expect onOpenStart and onOpenComplete both to be called
87
96
88
- // full result passed to onOpenComplete with +rn_cached_initial_event: true
89
- expect ( subscriber . options . onOpenComplete . mock . calls . length ) . toBe ( 1 )
90
- const actualResult = subscriber . options . onOpenComplete . mock . calls [ 0 ] [ 0 ]
97
+ // uri passed to onOpenStart
98
+ expect ( subscriber . options . onOpenStart . mock . calls . length ) . toBe ( 1 )
99
+ expect ( subscriber . options . onOpenStart . mock . calls [ 0 ] [ 0 ] ) . toEqual ( { uri : null } )
91
100
92
- let expectedParams = mockResult . params
93
- expectedParams [ '+rn_cached_initial_event' ] = true
94
- expect ( actualResult . params ) . toEqual ( expectedParams )
95
- expect ( actualResult . error ) . toEqual ( mockResult . error )
96
- expect ( actualResult . uri ) . toEqual ( mockResult . uri )
101
+ // full result passed to onOpenComplete with +rn_cached_initial_event: true
102
+ expect ( subscriber . options . onOpenComplete . mock . calls . length ) . toBe ( 1 )
103
+ const actualResult = subscriber . options . onOpenComplete . mock . calls [ 0 ] [ 0 ]
104
+ expect ( actualResult ) . toEqual ( expectedResult )
97
105
98
- // state cleared
99
- expect ( subscriber . _checkCachedEvents ) . toBe ( false )
106
+ // state cleared
107
+ expect ( subscriber . _checkCachedEvents ) . toBe ( false )
100
108
101
- done ( )
109
+ done ( )
110
+ } catch ( error ) {
111
+ done ( error )
112
+ }
102
113
}
103
114
expect ( subscriber . _checkCachedEvents ) . toBe ( true )
104
115
@@ -129,12 +140,16 @@ test('passes a non-null uri to onOpenStart when available', done => {
129
140
subscriber . _nativeEventEmitter . addListener = ( eventType , listener ) => {
130
141
// --- Check results ---
131
142
132
- // Expect onOpenStart to be called
133
- // uri passed to onOpenStart
134
- expect ( subscriber . options . onOpenStart . mock . calls . length ) . toBe ( 1 )
135
- expect ( subscriber . options . onOpenStart . mock . calls [ 0 ] [ 0 ] ) . toEqual ( { uri : mockResult . uri } )
143
+ try {
144
+ // Expect onOpenStart to be called
145
+ // uri passed to onOpenStart
146
+ expect ( subscriber . options . onOpenStart . mock . calls . length ) . toBe ( 1 )
147
+ expect ( subscriber . options . onOpenStart . mock . calls [ 0 ] [ 0 ] ) . toEqual ( { uri : mockResult . uri } )
136
148
137
- done ( )
149
+ done ( )
150
+ } catch ( error ) {
151
+ done ( error )
152
+ }
138
153
}
139
154
expect ( subscriber . _checkCachedEvents ) . toBe ( true )
140
155
0 commit comments