@@ -22,6 +22,7 @@ var packageJSON = require('../package.json');
22
22
var testData = require ( './tests/test_data' ) ;
23
23
var eventProcessor = require ( '@optimizely/js-sdk-event-processor' ) ;
24
24
var eventProcessorConfigValidator = require ( './utils/event_processor_config_validator' ) ;
25
+ var defaultEventDispatcher = require ( './plugins/event_dispatcher/index.browser' ) ;
25
26
26
27
var chai = require ( 'chai' ) ;
27
28
var assert = chai . assert ;
@@ -131,6 +132,30 @@ describe('javascript-sdk/react-native', function() {
131
132
assert . strictEqual ( activate , 'control' ) ;
132
133
} ) ;
133
134
135
+ describe ( 'when no event dispatcher passed to createInstance' , function ( ) {
136
+ beforeEach ( function ( ) {
137
+ sinon . stub ( defaultEventDispatcher , 'dispatchEvent' , function ( evt , cb ) {
138
+ cb ( ) ;
139
+ } ) ;
140
+ } )
141
+
142
+ afterEach ( function ( ) {
143
+ defaultEventDispatcher . dispatchEvent . restore ( ) ;
144
+ } ) ;
145
+
146
+ it ( 'uses the default event dispatcher' , function ( ) {
147
+ var optlyInstance = optimizelyFactory . createInstance ( {
148
+ datafile : testData . getTestProjectConfig ( ) ,
149
+ errorHandler : fakeErrorHandler ,
150
+ logger : silentLogger ,
151
+ } ) ;
152
+ optlyInstance . activate ( 'testExperiment' , 'testUser' ) ;
153
+ return optlyInstance . close ( ) . then ( function ( ) {
154
+ sinon . assert . calledOnce ( defaultEventDispatcher . dispatchEvent ) ;
155
+ } ) ;
156
+ } ) ;
157
+ } ) ;
158
+
134
159
describe ( 'when passing in logLevel' , function ( ) {
135
160
beforeEach ( function ( ) {
136
161
sinon . stub ( logging , 'setLogLevel' ) ;
0 commit comments