File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ var List = require('immutable').List
4
4
var Reactor = require ( '../src/main' ) . Reactor
5
5
var Store = require ( '../src/main' ) . Store
6
6
var toImmutable = require ( '../src/immutable-helpers' ) . toImmutable
7
+ var logging = require ( '../src/logging' )
7
8
8
9
9
10
describe ( 'Reactor' , ( ) => {
@@ -451,6 +452,40 @@ describe('Reactor', () => {
451
452
} )
452
453
} )
453
454
455
+ describe ( 'when debug is true and a store has a handler for an action but throws' , ( ) => {
456
+ var reactor
457
+
458
+ beforeEach ( ( ) => {
459
+ spyOn ( logging , 'dispatchError' )
460
+ var throwingStore = new Store ( {
461
+ getInitialState ( ) {
462
+ return 1
463
+ } ,
464
+ initialize ( ) {
465
+ this . on ( 'set' , ( _ , val ) => { throw new Error ( 'Error during action handling' ) } )
466
+ } ,
467
+ } )
468
+
469
+ reactor = new Reactor ( {
470
+ debug : true ,
471
+ } )
472
+ reactor . registerStores ( {
473
+ test : throwingStore ,
474
+ } )
475
+ } )
476
+
477
+ afterEach ( ( ) => {
478
+ reactor . reset ( )
479
+ } )
480
+
481
+ it ( 'should log and throw an error' , function ( ) {
482
+ expect ( function ( ) {
483
+ reactor . dispatch ( 'set' , 'foo' )
484
+ } ) . toThrow ( )
485
+ expect ( logging . dispatchError ) . toHaveBeenCalled ( )
486
+ } )
487
+ } )
488
+
454
489
describe ( '#registerStores' , ( ) => {
455
490
var reactor
456
491
You can’t perform that action at this time.
0 commit comments