1
1
/****************************************************************************
2
- * Copyright 2017-2020, Optimizely, Inc. and contributors *
2
+ * Copyright 2017-2019, 2020 Optimizely, Inc. and contributors *
3
3
* *
4
4
* Licensed under the Apache License, Version 2.0 (the "License"); *
5
5
* you may not use this file except in compliance with the License. *
13
13
* See the License for the specific language governing permissions and *
14
14
* limitations under the License. *
15
15
***************************************************************************/
16
-
17
- var Optimizely = require ( '../../optimizely' ) . default ;
18
- var eventBuilder = require ( '../../core/event_builder/index.js' ) ;
19
- var eventDispatcher = require ( '../../plugins/event_dispatcher/index.node' ) ;
20
- var errorHandler = require ( '../../plugins/error_handler' ) ;
21
- var bucketer = require ( '../bucketer' ) ;
22
- var DecisionService = require ( './' ) ;
23
- var enums = require ( '../../utils/enums' ) ;
24
- var cloneDeep = require ( 'lodash/cloneDeep' ) ;
25
- var logger = require ( '../../plugins/logger' ) ;
26
- var projectConfig = require ( '../project_config' ) ;
27
- var sprintf = require ( '@optimizely/js-sdk-utils' ) . sprintf ;
28
- var testData = require ( '../../tests/test_data' ) . getTestProjectConfig ( ) ;
29
- var testDataWithFeatures = require ( '../../tests/test_data' ) . getTestProjectConfigWithFeatures ( ) ;
30
- var jsonSchemaValidator = require ( '../../utils/json_schema_validator' ) ;
31
- var AudienceEvaluator = require ( '../audience_evaluator' ) ;
32
-
33
- var chai = require ( 'chai' ) ;
34
- var sinon = require ( 'sinon' ) ;
16
+ import Optimizely from '../../optimizely' ;
17
+ import eventBuilder from '../../core/event_builder/index.js' ;
18
+ import eventDispatcher from '../../plugins/event_dispatcher/index.node' ;
19
+ import errorHandler from '../../plugins/error_handler' ;
20
+ import bucketer from '../bucketer' ;
21
+ import DecisionService from './' ;
22
+ import enums from '../../utils/enums' ;
23
+ import cloneDeep from 'lodash/cloneDeep' ;
24
+ import logger from '../../plugins/logger' ;
25
+ import projectConfig from '../project_config' ;
26
+ import { sprintf } from '@optimizely/js-sdk-utils' ;
27
+ import { getTestProjectConfig , getTestProjectConfigWithFeatures } from '../../tests/test_data' ;
28
+ import jsonSchemaValidator from '../../utils/json_schema_validator' ;
29
+ import AudienceEvaluator from '../audience_evaluator' ;
30
+
31
+ import chai from 'chai' ;
32
+ import sinon from 'sinon' ;
35
33
var assert = chai . assert ;
36
34
37
35
var LOG_LEVEL = enums . LOG_LEVEL ;
@@ -40,7 +38,7 @@ var DECISION_SOURCES = enums.DECISION_SOURCES;
40
38
41
39
describe ( 'lib/core/decision_service' , function ( ) {
42
40
describe ( 'APIs' , function ( ) {
43
- var configObj = projectConfig . createProjectConfig ( cloneDeep ( testData ) ) ;
41
+ var configObj = projectConfig . createProjectConfig ( cloneDeep ( getTestProjectConfig ( ) ) ) ;
44
42
var decisionServiceInstance ;
45
43
var mockLogger = logger . createLogger ( { logLevel : LOG_LEVEL . INFO } ) ;
46
44
var bucketerStub ;
@@ -860,7 +858,7 @@ describe('lib/core/decision_service', function() {
860
858
'control'
861
859
) ;
862
860
assert . strictEqual ( didSetVariation , true ) ;
863
- var newDatafile = cloneDeep ( testData ) ;
861
+ var newDatafile = cloneDeep ( getTestProjectConfig ( ) ) ;
864
862
// Remove 'control' variation from variations, traffic allocation, and datafile forcedVariations.
865
863
newDatafile . experiments [ 0 ] . variations = [
866
864
{
@@ -892,7 +890,7 @@ describe('lib/core/decision_service', function() {
892
890
'control'
893
891
) ;
894
892
assert . strictEqual ( didSetVariation , true ) ;
895
- var newConfigObj = projectConfig . createProjectConfig ( cloneDeep ( testDataWithFeatures ) ) ;
893
+ var newConfigObj = projectConfig . createProjectConfig ( cloneDeep ( getTestProjectConfigWithFeatures ( ) ) ) ;
896
894
var forcedVar = decisionServiceInstance . getForcedVariation ( newConfigObj , 'testExperiment' , 'user1' ) ;
897
895
assert . strictEqual ( forcedVar , null ) ;
898
896
} ) ;
@@ -917,7 +915,7 @@ describe('lib/core/decision_service', function() {
917
915
918
916
// TODO: Move tests that test methods of Optimizely to lib/optimizely/index.tests.js
919
917
describe ( 'when a bucketingID is provided' , function ( ) {
920
- var configObj = projectConfig . createProjectConfig ( cloneDeep ( testData ) ) ;
918
+ var configObj = projectConfig . createProjectConfig ( cloneDeep ( getTestProjectConfig ( ) ) ) ;
921
919
var createdLogger = logger . createLogger ( {
922
920
logLevel : LOG_LEVEL . DEBUG ,
923
921
logToConsole : false ,
@@ -926,7 +924,7 @@ describe('lib/core/decision_service', function() {
926
924
beforeEach ( function ( ) {
927
925
optlyInstance = new Optimizely ( {
928
926
clientEngine : 'node-sdk' ,
929
- datafile : cloneDeep ( testData ) ,
927
+ datafile : cloneDeep ( getTestProjectConfig ( ) ) ,
930
928
jsonSchemaValidator : jsonSchemaValidator ,
931
929
isValidInstance : true ,
932
930
logger : createdLogger ,
@@ -1050,7 +1048,7 @@ describe('lib/core/decision_service', function() {
1050
1048
1051
1049
beforeEach ( function ( ) {
1052
1050
sinon . stub ( mockLogger , 'log' ) ;
1053
- configObj = projectConfig . createProjectConfig ( cloneDeep ( testData ) ) ;
1051
+ configObj = projectConfig . createProjectConfig ( cloneDeep ( getTestProjectConfig ( ) ) ) ;
1054
1052
decisionService = DecisionService . createDecisionService ( {
1055
1053
logger : mockLogger ,
1056
1054
} ) ;
@@ -1088,7 +1086,7 @@ describe('lib/core/decision_service', function() {
1088
1086
var sandbox ;
1089
1087
var mockLogger = logger . createLogger ( { logLevel : LOG_LEVEL . INFO } ) ;
1090
1088
beforeEach ( function ( ) {
1091
- configObj = projectConfig . createProjectConfig ( cloneDeep ( testDataWithFeatures ) ) ;
1089
+ configObj = projectConfig . createProjectConfig ( cloneDeep ( getTestProjectConfigWithFeatures ( ) ) ) ;
1092
1090
sandbox = sinon . sandbox . create ( ) ;
1093
1091
sandbox . stub ( mockLogger , 'log' ) ;
1094
1092
decisionServiceInstance = DecisionService . createDecisionService ( {
@@ -1978,7 +1976,7 @@ describe('lib/core/decision_service', function() {
1978
1976
var __buildBucketerParamsSpy ;
1979
1977
1980
1978
beforeEach ( function ( ) {
1981
- configObj = projectConfig . createProjectConfig ( cloneDeep ( testDataWithFeatures ) ) ;
1979
+ configObj = projectConfig . createProjectConfig ( cloneDeep ( getTestProjectConfigWithFeatures ( ) ) ) ;
1982
1980
feature = configObj . featureKeyMap . test_feature ;
1983
1981
decisionService = DecisionService . createDecisionService ( {
1984
1982
logger : logger . createLogger ( { logLevel : LOG_LEVEL . INFO } ) ,
0 commit comments