@@ -22,6 +22,7 @@ var projectConfigManager = require('../core/project_config/project_config_manage
2222var enums = require ( '../utils/enums' ) ;
2323var eventBuilder = require ( '../core/event_builder/index.js' ) ;
2424var eventDispatcher = require ( '../plugins/event_dispatcher/index.node' ) ;
25+ var eventProcessor = require ( '@optimizely/js-sdk-event-processor' ) ;
2526var errorHandler = require ( '../plugins/error_handler' ) ;
2627var fns = require ( '../utils/fns' ) ;
2728var jsonSchemaValidator = require ( '../utils/json_schema_validator' ) ;
@@ -4771,6 +4772,69 @@ describe('lib/optimizely', function() {
47714772 } ) ;
47724773 } ) ;
47734774
4775+ describe ( 'event processor defaults' , function ( ) {
4776+ var createdLogger = logger . createLogger ( {
4777+ logLevel : LOG_LEVEL . INFO ,
4778+ logToConsole : false ,
4779+ } ) ;
4780+
4781+ beforeEach ( function ( ) {
4782+ sinon . stub ( eventDispatcher , 'dispatchEvent' ) ;
4783+ sinon . stub ( errorHandler , 'handleError' ) ;
4784+ sinon . stub ( createdLogger , 'log' ) ;
4785+ sinon . spy ( eventProcessor , 'LogTierV1EventProcessor' ) ;
4786+ } ) ;
4787+
4788+ afterEach ( function ( ) {
4789+ eventDispatcher . dispatchEvent . restore ( ) ;
4790+ errorHandler . handleError . restore ( ) ;
4791+ createdLogger . log . restore ( ) ;
4792+ eventProcessor . LogTierV1EventProcessor . restore ( ) ;
4793+ } ) ;
4794+
4795+ describe ( 'when eventFlushInterval and maxQueueSize is not defined' , function ( ) {
4796+ it ( 'should not instantiate the eventProcessor with the default event flush interval' , function ( ) {
4797+ optlyInstance = new Optimizely ( {
4798+ clientEngine : 'node-sdk' ,
4799+ errorHandler : errorHandler ,
4800+ eventDispatcher : eventDispatcher ,
4801+ jsonSchemaValidator : jsonSchemaValidator ,
4802+ logger : createdLogger ,
4803+ sdkKey : '12345' ,
4804+ isValidInstance : true ,
4805+ } ) ;
4806+
4807+ sinon . assert . calledWithExactly ( eventProcessor . LogTierV1EventProcessor , {
4808+ dispatcher : eventDispatcher ,
4809+ flushInterval : 5000 ,
4810+ maxQueueSize : 1 ,
4811+ } ) ;
4812+ } ) ;
4813+ } ) ;
4814+
4815+ describe ( 'when eventFlushInterval and maxQueueSize are both defined' , function ( ) {
4816+ it ( 'should not instantiate the eventProcessor with the default event flush interval' , function ( ) {
4817+ optlyInstance = new Optimizely ( {
4818+ clientEngine : 'node-sdk' ,
4819+ errorHandler : errorHandler ,
4820+ eventDispatcher : eventDispatcher ,
4821+ jsonSchemaValidator : jsonSchemaValidator ,
4822+ logger : createdLogger ,
4823+ sdkKey : '12345' ,
4824+ isValidInstance : true ,
4825+ eventFlushInterval : 50 ,
4826+ eventBatchSize : 100 ,
4827+ } ) ;
4828+
4829+ sinon . assert . calledWithExactly ( eventProcessor . LogTierV1EventProcessor , {
4830+ dispatcher : eventDispatcher ,
4831+ flushInterval : 50 ,
4832+ maxQueueSize : 100 ,
4833+ } ) ;
4834+ } ) ;
4835+ } ) ;
4836+ } ) ;
4837+
47744838 describe ( 'project config management' , function ( ) {
47754839 var createdLogger = logger . createLogger ( {
47764840 logLevel : LOG_LEVEL . INFO ,
0 commit comments