@@ -23,6 +23,8 @@ import testData from './tests/test_data';
23
23
import * as loggerPlugin from './plugins/logger' ;
24
24
import optimizelyFactory from './index.node' ;
25
25
import configValidator from './utils/config_validator' ;
26
+ import { getMockProjectConfigManager } from './tests/mock_project_config_manager' ;
27
+ import { createProjectConfig } from './core/project_config' ;
26
28
27
29
describe ( 'optimizelyFactory' , function ( ) {
28
30
describe ( 'APIs' , function ( ) {
@@ -58,11 +60,9 @@ describe('optimizelyFactory', function() {
58
60
var localLogger = loggerPlugin . createLogger ( { logLevel : enums . LOG_LEVEL . INFO } ) ;
59
61
assert . doesNotThrow ( function ( ) {
60
62
var optlyInstance = optimizelyFactory . createInstance ( {
61
- datafile : { } ,
63
+ projectConfigManager : getMockProjectConfigManager ( ) ,
62
64
logger : localLogger ,
63
65
} ) ;
64
- // Invalid datafile causes onReady Promise rejection - catch this
65
- optlyInstance . onReady ( ) . catch ( function ( ) { } ) ;
66
66
} ) ;
67
67
sinon . assert . calledWith ( localLogger . log , enums . LOG_LEVEL . ERROR ) ;
68
68
} ) ;
@@ -71,23 +71,19 @@ describe('optimizelyFactory', function() {
71
71
configValidator . validate . throws ( new Error ( 'Invalid config or something' ) ) ;
72
72
assert . doesNotThrow ( function ( ) {
73
73
var optlyInstance = optimizelyFactory . createInstance ( {
74
- datafile : { } ,
74
+ projectConfigManager : getMockProjectConfigManager ( ) ,
75
75
} ) ;
76
- // Invalid datafile causes onReady Promise rejection - catch this
77
- optlyInstance . onReady ( ) . catch ( function ( ) { } ) ;
78
76
} ) ;
79
77
sinon . assert . calledOnce ( console . error ) ;
80
78
} ) ;
81
79
82
80
it ( 'should create an instance of optimizely' , function ( ) {
83
81
var optlyInstance = optimizelyFactory . createInstance ( {
84
- datafile : { } ,
82
+ projectConfigManager : getMockProjectConfigManager ( ) ,
85
83
errorHandler : fakeErrorHandler ,
86
84
eventDispatcher : fakeEventDispatcher ,
87
85
logger : fakeLogger ,
88
86
} ) ;
89
- // Invalid datafile causes onReady Promise rejection - catch this
90
- optlyInstance . onReady ( ) . catch ( function ( ) { } ) ;
91
87
92
88
assert . instanceOf ( optlyInstance , Optimizely ) ;
93
89
assert . equal ( optlyInstance . clientVersion , '5.3.4' ) ;
@@ -105,7 +101,9 @@ describe('optimizelyFactory', function() {
105
101
106
102
it ( 'should ignore invalid event flush interval and use default instead' , function ( ) {
107
103
optimizelyFactory . createInstance ( {
108
- datafile : testData . getTestProjectConfigWithFeatures ( ) ,
104
+ projectConfigManager : getMockProjectConfigManager ( {
105
+ initConfig : createProjectConfig ( testData . getTestProjectConfigWithFeatures ( ) ) ,
106
+ } ) ,
109
107
errorHandler : fakeErrorHandler ,
110
108
eventDispatcher : fakeEventDispatcher ,
111
109
logger : fakeLogger ,
@@ -121,7 +119,9 @@ describe('optimizelyFactory', function() {
121
119
122
120
it ( 'should use default event flush interval when none is provided' , function ( ) {
123
121
optimizelyFactory . createInstance ( {
124
- datafile : testData . getTestProjectConfigWithFeatures ( ) ,
122
+ projectConfigManager : getMockProjectConfigManager ( {
123
+ initConfig : createProjectConfig ( testData . getTestProjectConfigWithFeatures ( ) ) ,
124
+ } ) ,
125
125
errorHandler : fakeErrorHandler ,
126
126
eventDispatcher : fakeEventDispatcher ,
127
127
logger : fakeLogger ,
@@ -136,7 +136,9 @@ describe('optimizelyFactory', function() {
136
136
137
137
it ( 'should use provided event flush interval when valid' , function ( ) {
138
138
optimizelyFactory . createInstance ( {
139
- datafile : testData . getTestProjectConfigWithFeatures ( ) ,
139
+ projectConfigManager : getMockProjectConfigManager ( {
140
+ initConfig : createProjectConfig ( testData . getTestProjectConfigWithFeatures ( ) ) ,
141
+ } ) ,
140
142
errorHandler : fakeErrorHandler ,
141
143
eventDispatcher : fakeEventDispatcher ,
142
144
logger : fakeLogger ,
@@ -152,7 +154,9 @@ describe('optimizelyFactory', function() {
152
154
153
155
it ( 'should ignore invalid event batch size and use default instead' , function ( ) {
154
156
optimizelyFactory . createInstance ( {
155
- datafile : testData . getTestProjectConfigWithFeatures ( ) ,
157
+ projectConfigManager : getMockProjectConfigManager ( {
158
+ initConfig : createProjectConfig ( testData . getTestProjectConfigWithFeatures ( ) ) ,
159
+ } ) ,
156
160
errorHandler : fakeErrorHandler ,
157
161
eventDispatcher : fakeEventDispatcher ,
158
162
logger : fakeLogger ,
@@ -168,7 +172,9 @@ describe('optimizelyFactory', function() {
168
172
169
173
it ( 'should use default event batch size when none is provided' , function ( ) {
170
174
optimizelyFactory . createInstance ( {
171
- datafile : testData . getTestProjectConfigWithFeatures ( ) ,
175
+ projectConfigManager : getMockProjectConfigManager ( {
176
+ initConfig : createProjectConfig ( testData . getTestProjectConfigWithFeatures ( ) ) ,
177
+ } ) ,
172
178
errorHandler : fakeErrorHandler ,
173
179
eventDispatcher : fakeEventDispatcher ,
174
180
logger : fakeLogger ,
@@ -183,7 +189,9 @@ describe('optimizelyFactory', function() {
183
189
184
190
it ( 'should use provided event batch size when valid' , function ( ) {
185
191
optimizelyFactory . createInstance ( {
186
- datafile : testData . getTestProjectConfigWithFeatures ( ) ,
192
+ projectConfigManager : getMockProjectConfigManager ( {
193
+ initConfig : createProjectConfig ( testData . getTestProjectConfigWithFeatures ( ) ) ,
194
+ } ) ,
187
195
errorHandler : fakeErrorHandler ,
188
196
eventDispatcher : fakeEventDispatcher ,
189
197
logger : fakeLogger ,
0 commit comments