@@ -82,61 +82,35 @@ describe('javascript-sdk (Browser)', function() {
82
82
} ) ;
83
83
84
84
describe ( 'APIs' , function ( ) {
85
- it ( 'should expose logger, errorHandler, eventDispatcher and enums' , function ( ) {
86
- assert . isDefined ( optimizelyFactory . logging ) ;
87
- assert . isDefined ( optimizelyFactory . logging . createLogger ) ;
88
- assert . isDefined ( optimizelyFactory . logging . createNoOpLogger ) ;
89
- assert . isDefined ( optimizelyFactory . errorHandler ) ;
90
- assert . isDefined ( optimizelyFactory . eventDispatcher ) ;
91
- assert . isDefined ( optimizelyFactory . enums ) ;
92
- } ) ;
85
+ // it('should expose logger, errorHandler, eventDispatcher and enums', function() {
86
+ // assert.isDefined(optimizelyFactory.logging);
87
+ // assert.isDefined(optimizelyFactory.logging.createLogger);
88
+ // assert.isDefined(optimizelyFactory.logging.createNoOpLogger);
89
+ // assert.isDefined(optimizelyFactory.errorHandler);
90
+ // assert.isDefined(optimizelyFactory.eventDispatcher);
91
+ // assert.isDefined(optimizelyFactory.enums);
92
+ // });
93
93
94
94
describe ( 'createInstance' , function ( ) {
95
95
var fakeErrorHandler = { handleError : function ( ) { } } ;
96
96
var fakeEventDispatcher = { dispatchEvent : function ( ) { } } ;
97
- var silentLogger ;
97
+ var mockLogger ;
98
98
99
99
beforeEach ( function ( ) {
100
- silentLogger = optimizelyFactory . logging . createLogger ( {
101
- logLevel : optimizelyFactory . enums . LOG_LEVEL . INFO ,
102
- logToConsole : false ,
103
- } ) ;
104
- sinon . spy ( console , 'error' ) ;
105
- sinon . stub ( configValidator , 'validate' ) ;
100
+ mockLogger = getLogger ( ) ;
101
+ sinon . stub ( mockLogger , 'error' ) ;
106
102
103
+ sinon . stub ( configValidator , 'validate' ) ;
107
104
global . XMLHttpRequest = sinon . useFakeXMLHttpRequest ( ) ;
108
105
} ) ;
109
106
110
107
afterEach ( function ( ) {
111
108
optimizelyFactory . __internalResetRetryState ( ) ;
112
- console . error . restore ( ) ;
109
+ mockLogger . error . restore ( ) ;
113
110
configValidator . validate . restore ( ) ;
114
111
delete global . XMLHttpRequest ;
115
112
} ) ;
116
113
117
- // TODO: pending event handling will be done by EventProcessor instead
118
- // describe('when an eventDispatcher is not passed in', function() {
119
- // it('should wrap the default eventDispatcher and invoke sendPendingEvents', function() {
120
- // var optlyInstance = optimizelyFactory.createInstance({
121
- // projectConfigManager: getMockProjectConfigManager(),
122
- // errorHandler: fakeErrorHandler,
123
- // logger: silentLogger,
124
- // });
125
-
126
- // sinon.assert.calledOnce(LocalStoragePendingEventsDispatcher.prototype.sendPendingEvents);
127
- // });
128
- // });
129
-
130
- describe ( 'when an eventDispatcher is passed in' , function ( ) {
131
- it ( 'should NOT wrap the default eventDispatcher and invoke sendPendingEvents' , function ( ) {
132
- var optlyInstance = optimizelyFactory . createInstance ( {
133
- projectConfigManager : getMockProjectConfigManager ( ) ,
134
- errorHandler : fakeErrorHandler ,
135
- eventDispatcher : fakeEventDispatcher ,
136
- logger : silentLogger ,
137
- } ) ;
138
- } ) ;
139
- } ) ;
140
114
141
115
// TODO: pending event handling should be part of the event processor
142
116
// logic, not the dispatcher. Refactor accordingly.
@@ -164,7 +138,7 @@ describe('javascript-sdk (Browser)', function() {
164
138
assert . doesNotThrow ( function ( ) {
165
139
var optlyInstance = optimizelyFactory . createInstance ( {
166
140
projectConfigManager : getMockProjectConfigManager ( ) ,
167
- logger : silentLogger ,
141
+ logger : mockLogger ,
168
142
} ) ;
169
143
} ) ;
170
144
} ) ;
@@ -174,7 +148,7 @@ describe('javascript-sdk (Browser)', function() {
174
148
projectConfigManager : getMockProjectConfigManager ( ) ,
175
149
errorHandler : fakeErrorHandler ,
176
150
eventDispatcher : fakeEventDispatcher ,
177
- logger : silentLogger ,
151
+ logger : mockLogger ,
178
152
} ) ;
179
153
180
154
assert . instanceOf ( optlyInstance , Optimizely ) ;
@@ -186,7 +160,7 @@ describe('javascript-sdk (Browser)', function() {
186
160
projectConfigManager : getMockProjectConfigManager ( ) ,
187
161
errorHandler : fakeErrorHandler ,
188
162
eventDispatcher : fakeEventDispatcher ,
189
- logger : silentLogger ,
163
+ logger : mockLogger ,
190
164
} ) ;
191
165
192
166
assert . equal ( 'javascript-sdk' , optlyInstance . clientEngine ) ;
@@ -199,7 +173,7 @@ describe('javascript-sdk (Browser)', function() {
199
173
projectConfigManager : getMockProjectConfigManager ( ) ,
200
174
errorHandler : fakeErrorHandler ,
201
175
eventDispatcher : fakeEventDispatcher ,
202
- logger : silentLogger ,
176
+ logger : mockLogger ,
203
177
} ) ;
204
178
assert . equal ( 'react-sdk' , optlyInstance . clientEngine ) ;
205
179
} ) ;
@@ -211,7 +185,7 @@ describe('javascript-sdk (Browser)', function() {
211
185
} ) ,
212
186
errorHandler : fakeErrorHandler ,
213
187
eventDispatcher : optimizelyFactory . eventDispatcher ,
214
- logger : silentLogger ,
188
+ logger : mockLogger ,
215
189
} ) ;
216
190
var activate = optlyInstance . activate ( 'testExperiment' , 'testUser' ) ;
217
191
assert . strictEqual ( activate , 'control' ) ;
@@ -224,7 +198,7 @@ describe('javascript-sdk (Browser)', function() {
224
198
} ) ,
225
199
errorHandler : fakeErrorHandler ,
226
200
eventDispatcher : optimizelyFactory . eventDispatcher ,
227
- logger : silentLogger ,
201
+ logger : mockLogger ,
228
202
} ) ;
229
203
230
204
var didSetVariation = optlyInstance . setForcedVariation ( 'testExperiment' , 'testUser' , 'control' ) ;
@@ -241,7 +215,7 @@ describe('javascript-sdk (Browser)', function() {
241
215
} ) ,
242
216
errorHandler : fakeErrorHandler ,
243
217
eventDispatcher : optimizelyFactory . eventDispatcher ,
244
- logger : silentLogger ,
218
+ logger : mockLogger ,
245
219
} ) ;
246
220
247
221
var didSetVariation = optlyInstance . setForcedVariation ( 'testExperiment' , 'testUser' , 'control' ) ;
@@ -264,7 +238,7 @@ describe('javascript-sdk (Browser)', function() {
264
238
} ) ,
265
239
errorHandler : fakeErrorHandler ,
266
240
eventDispatcher : optimizelyFactory . eventDispatcher ,
267
- logger : silentLogger ,
241
+ logger : mockLogger ,
268
242
} ) ;
269
243
270
244
var didSetVariation = optlyInstance . setForcedVariation ( 'testExperiment' , 'testUser' , 'control' ) ;
@@ -291,7 +265,7 @@ describe('javascript-sdk (Browser)', function() {
291
265
} ) ,
292
266
errorHandler : fakeErrorHandler ,
293
267
eventDispatcher : optimizelyFactory . eventDispatcher ,
294
- logger : silentLogger ,
268
+ logger : mockLogger ,
295
269
} ) ;
296
270
297
271
var didSetVariation = optlyInstance . setForcedVariation ( 'testExperiment' , 'testUser' , 'control' ) ;
@@ -321,7 +295,7 @@ describe('javascript-sdk (Browser)', function() {
321
295
} ) ,
322
296
errorHandler : fakeErrorHandler ,
323
297
eventDispatcher : optimizelyFactory . eventDispatcher ,
324
- logger : silentLogger ,
298
+ logger : mockLogger ,
325
299
} ) ;
326
300
327
301
var didSetVariation = optlyInstance . setForcedVariation ( 'testExperiment' , 'testUser' , 'control' ) ;
@@ -355,7 +329,7 @@ describe('javascript-sdk (Browser)', function() {
355
329
} ) ,
356
330
errorHandler : fakeErrorHandler ,
357
331
eventDispatcher : optimizelyFactory . eventDispatcher ,
358
- logger : silentLogger ,
332
+ logger : mockLogger ,
359
333
} ) ;
360
334
361
335
var didSetVariation = optlyInstance . setForcedVariation ( 'testExperiment' , 'testUser' , 'control' ) ;
@@ -378,7 +352,7 @@ describe('javascript-sdk (Browser)', function() {
378
352
} ) ,
379
353
errorHandler : fakeErrorHandler ,
380
354
eventDispatcher : optimizelyFactory . eventDispatcher ,
381
- logger : silentLogger ,
355
+ logger : mockLogger ,
382
356
} ) ;
383
357
384
358
var didSetVariation = optlyInstance . setForcedVariation (
@@ -391,203 +365,6 @@ describe('javascript-sdk (Browser)', function() {
391
365
var variation = optlyInstance . getVariation ( 'testExperimentNotRunning' , 'testUser' ) ;
392
366
assert . strictEqual ( variation , null ) ;
393
367
} ) ;
394
-
395
- describe ( 'when passing in logLevel' , function ( ) {
396
- beforeEach ( function ( ) {
397
- sinon . stub ( logging , 'setLogLevel' ) ;
398
- } ) ;
399
-
400
- afterEach ( function ( ) {
401
- logging . setLogLevel . restore ( ) ;
402
- } ) ;
403
-
404
- it ( 'should call logging.setLogLevel' , function ( ) {
405
- optimizelyFactory . createInstance ( {
406
- datafile : testData . getTestProjectConfig ( ) ,
407
- logLevel : optimizelyFactory . enums . LOG_LEVEL . ERROR ,
408
- } ) ;
409
- sinon . assert . calledOnce ( logging . setLogLevel ) ;
410
- sinon . assert . calledWithExactly ( logging . setLogLevel , optimizelyFactory . enums . LOG_LEVEL . ERROR ) ;
411
- } ) ;
412
- } ) ;
413
-
414
- describe ( 'when passing in logger' , function ( ) {
415
- beforeEach ( function ( ) {
416
- sinon . stub ( logging , 'setLogHandler' ) ;
417
- } ) ;
418
-
419
- afterEach ( function ( ) {
420
- logging . setLogHandler . restore ( ) ;
421
- } ) ;
422
-
423
- it ( 'should call logging.setLogHandler with the supplied logger' , function ( ) {
424
- var fakeLogger = { log : function ( ) { } } ;
425
- optimizelyFactory . createInstance ( {
426
- datafile : testData . getTestProjectConfig ( ) ,
427
- logger : fakeLogger ,
428
- } ) ;
429
- sinon . assert . calledOnce ( logging . setLogHandler ) ;
430
- sinon . assert . calledWithExactly ( logging . setLogHandler , fakeLogger ) ;
431
- } ) ;
432
- } ) ;
433
- } ) ;
434
-
435
- describe ( 'ODP/ATS' , ( ) => {
436
- var sandbox = sinon . sandbox . create ( ) ;
437
-
438
- const fakeOptimizely = {
439
- onReady : ( ) => Promise . resolve ( { success : true } ) ,
440
- identifyUser : sinon . stub ( ) . returns ( ) ,
441
- } ;
442
-
443
- const fakeErrorHandler = { handleError : function ( ) { } } ;
444
- const fakeEventDispatcher = { dispatchEvent : function ( ) { } } ;
445
- let logger = getLogger ( ) ;
446
-
447
- const testFsUserId = 'fs_test_user' ;
448
- const testVuid = 'vuid_test_user' ;
449
- var clock ;
450
- const requestParams = new Map ( ) ;
451
- const mockRequestHandler = {
452
- makeRequest : ( endpoint , headers , method , data ) => {
453
- requestParams . set ( 'endpoint' , endpoint ) ;
454
- requestParams . set ( 'headers' , headers ) ;
455
- requestParams . set ( 'method' , method ) ;
456
- requestParams . set ( 'data' , data ) ;
457
- return {
458
- responsePromise : ( async ( ) => {
459
- return { statusCode : 200 } ;
460
- } ) ( ) ,
461
- } ;
462
- } ,
463
- args : requestParams ,
464
- } ;
465
-
466
- beforeEach ( function ( ) {
467
- sandbox . stub ( logger , 'log' ) ;
468
- sandbox . stub ( logger , 'error' ) ;
469
- sandbox . stub ( logger , 'warn' ) ;
470
- clock = sinon . useFakeTimers ( new Date ( ) ) ;
471
- } ) ;
472
-
473
- afterEach ( function ( ) {
474
- sandbox . restore ( ) ;
475
- clock . restore ( ) ;
476
- requestParams . clear ( ) ;
477
- } ) ;
478
-
479
-
480
- // TODO: these tests should be elsewhere
481
- // it('should send an odp event when calling sendOdpEvent with valid parameters', async () => {
482
- // const fakeEventManager = {
483
- // updateSettings: sinon.spy(),
484
- // start: sinon.spy(),
485
- // stop: sinon.spy(),
486
- // registerVuid: sinon.spy(),
487
- // identifyUser: sinon.spy(),
488
- // sendEvent: sinon.spy(),
489
- // flush: sinon.spy(),
490
- // };
491
-
492
- // const config = createProjectConfig(testData.getOdpIntegratedConfigWithoutSegments());
493
- // const projectConfigManager = getMockProjectConfigManager({
494
- // initConfig: config,
495
- // onRunning: Promise.resolve(),
496
- // });
497
-
498
- // const client = optimizelyFactory.createInstance({
499
- // projectConfigManager,
500
- // errorHandler: fakeErrorHandler,
501
- // eventDispatcher: fakeEventDispatcher,
502
- // eventBatchSize: null,
503
- // logger,
504
- // odpOptions: {
505
- // eventManager: fakeEventManager,
506
- // },
507
- // });
508
-
509
- // projectConfigManager.pushUpdate(config);
510
- // await client.onReady();
511
-
512
- // client.sendOdpEvent(ODP_EVENT_ACTION.INITIALIZED);
513
-
514
- // sinon.assert.notCalled(logger.error);
515
- // sinon.assert.called(fakeEventManager.sendEvent);
516
- // });
517
-
518
-
519
- // it('should log an error when attempting to send an odp event when odp is disabled', async () => {
520
- // const config = createProjectConfig(testData.getTestProjectConfigWithFeatures());
521
- // const projectConfigManager = getMockProjectConfigManager({
522
- // initConfig: config,
523
- // onRunning: Promise.resolve(),
524
- // });
525
-
526
- // const client = optimizelyFactory.createInstance({
527
- // projectConfigManager,
528
- // errorHandler: fakeErrorHandler,
529
- // eventDispatcher: fakeEventDispatcher,
530
- // eventBatchSize: null,
531
- // logger,
532
- // odpOptions: {
533
- // disabled: true,
534
- // },
535
- // });
536
-
537
- // projectConfigManager.pushUpdate(config);
538
-
539
- // await client.onReady();
540
-
541
- // assert.isUndefined(client.odpManager);
542
- // sinon.assert.calledWith(logger.log, optimizelyFactory.enums.LOG_LEVEL.INFO, 'ODP Disabled.');
543
-
544
- // client.sendOdpEvent(ODP_EVENT_ACTION.INITIALIZED);
545
-
546
- // sinon.assert.calledWith(
547
- // logger.error,
548
- // optimizelyFactory.enums.ERROR_MESSAGES.ODP_EVENT_FAILED_ODP_MANAGER_MISSING
549
- // );
550
- // });
551
-
552
- // it('should send odp client_initialized on client instantiation', async () => {
553
- // const odpConfig = new OdpConfig('key', 'host', 'pixel', []);
554
- // const apiManager = new BrowserOdpEventApiManager(mockRequestHandler, logger);
555
- // sinon.spy(apiManager, 'sendEvents');
556
- // const eventManager = new BrowserOdpEventManager({
557
- // odpConfig,
558
- // apiManager,
559
- // logger,
560
- // });
561
- // const datafile = testData.getOdpIntegratedConfigWithSegments();
562
- // const config = createProjectConfig(datafile);
563
- // const projectConfigManager = getMockProjectConfigManager({
564
- // initConfig: config,
565
- // onRunning: Promise.resolve(),
566
- // });
567
-
568
- // const client = optimizelyFactory.createInstance({
569
- // projectConfigManager,
570
- // errorHandler: fakeErrorHandler,
571
- // eventDispatcher: fakeEventDispatcher,
572
- // eventBatchSize: null,
573
- // logger,
574
- // odpOptions: {
575
- // odpConfig,
576
- // eventManager,
577
- // },
578
- // });
579
-
580
- // projectConfigManager.pushUpdate(config);
581
- // await client.onReady();
582
-
583
- // clock.tick(100);
584
-
585
- // const [_, events] = apiManager.sendEvents.getCall(0).args;
586
-
587
- // const [firstEvent] = events;
588
- // assert.equal(firstEvent.action, 'client_initialized');
589
- // assert.equal(firstEvent.type, 'fullstack');
590
- // });
591
368
} ) ;
592
369
} ) ;
593
370
} ) ;
0 commit comments