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