@@ -198,7 +198,49 @@ describe("raven-for-redux", () => {
198
198
) ;
199
199
} ) ;
200
200
} ) ;
201
+ describe ( "with multiple data callbaks" , ( ) => {
202
+ beforeEach ( ( ) => {
203
+ context . firstOriginalDataCallback = jest . fn ( ( data , original ) => {
204
+ const newData = Object . assign ( { } , data , {
205
+ firstData : "first"
206
+ } ) ;
207
+ return original ? original ( newData ) : newData ;
208
+ } ) ;
209
+ context . secondOriginalDataCallback = jest . fn ( ( data , original ) => {
210
+ const newData = Object . assign ( { } , data , {
211
+ secondData : "second"
212
+ } ) ;
213
+ return original ? original ( newData ) : newData ;
214
+ } ) ;
215
+ Raven . setDataCallback ( context . firstOriginalDataCallback ) ;
216
+ Raven . setDataCallback ( context . secondOriginalDataCallback ) ;
217
+ context . stateTransformer = jest . fn ( state => `transformed state ${ state } ` ) ;
201
218
219
+ context . store = createStore (
220
+ reducer ,
221
+ applyMiddleware (
222
+ createRavenMiddleware ( Raven , {
223
+ stateTransformer : context . stateTransformer
224
+ } )
225
+ )
226
+ ) ;
227
+ } ) ;
228
+
229
+ it ( "runs all the data callbacks given" , ( ) => {
230
+ context . store . dispatch ( { type : "INCREMENT" } ) ;
231
+ expect ( ( ) => {
232
+ context . store . dispatch ( { type : "THROW" } ) ;
233
+ } ) . toThrow ( ) ;
234
+ expect ( context . firstOriginalDataCallback ) . toHaveBeenCalledTimes ( 1 ) ;
235
+ expect ( context . secondOriginalDataCallback ) . toHaveBeenCalledTimes ( 1 ) ;
236
+
237
+ expect ( context . mockTransport ) . toHaveBeenCalledTimes ( 1 ) ;
238
+ const data = context . mockTransport . mock . calls [ 0 ] [ 0 ] . data ;
239
+ expect ( data . extra . state ) . toEqual ( "transformed state 1" ) ;
240
+ expect ( data . firstData ) . toEqual ( "first" ) ;
241
+ expect ( data . secondData ) . toEqual ( "second" ) ;
242
+ } ) ;
243
+ } ) ;
202
244
describe ( "with filterBreadcrumbActions option enabled" , ( ) => {
203
245
beforeEach ( ( ) => {
204
246
context . filterBreadcrumbActions = action => {
0 commit comments