Skip to content

Commit d54d901

Browse files
committed
Fix umdtests
1 parent 7014c8f commit d54d901

File tree

1 file changed

+40
-48
lines changed

1 file changed

+40
-48
lines changed

packages/optimizely-sdk/lib/index.browser.umdtests.js

Lines changed: 40 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@
1616
var configValidator = require('./utils/config_validator');
1717
var enums = require('./utils/enums');
1818
var logger = require('./plugins/logger');
19-
var Optimizely = require('./optimizely');
19+
2020
var packageJSON = require('../package.json');
2121
var eventDispatcher = require('./plugins/event_dispatcher/index.browser');
2222
var testData = require('./tests/test_data');
2323

2424
var chai = require('chai');
2525
var assert = chai.assert;
26-
var find = require('lodash/find');
2726
var sinon = require('sinon');
2827

2928
describe('javascript-sdk', function() {
@@ -40,7 +39,6 @@ describe('javascript-sdk', function() {
4039
logLevel: enums.LOG_LEVEL.INFO,
4140
logToConsole: false,
4241
});
43-
sinon.spy(console, 'error');
4442
sinon.stub(configValidator, 'validate');
4543

4644
xhr = sinon.useFakeXMLHttpRequest();
@@ -49,14 +47,53 @@ describe('javascript-sdk', function() {
4947
xhr.onCreate = function(req) {
5048
requests.push(req);
5149
};
50+
51+
sinon.spy(console, 'log');
52+
sinon.spy(console, 'info');
53+
sinon.spy(console, 'warn');
54+
sinon.spy(console, 'error');
5255
});
5356

5457
afterEach(function() {
58+
console.log.restore();
59+
console.info.restore();
60+
console.warn.restore();
5561
console.error.restore();
5662
configValidator.validate.restore();
5763
xhr.restore();
5864
});
5965

66+
// this test has to come first due to local state of the logLevel
67+
it('should default to INFO when no logLevel is provided', function() {
68+
// checking that INFO logs log for an unspecified logLevel
69+
var optlyInstance = window.optimizelySdk.createInstance({
70+
datafile: testData.getTestProjectConfig(),
71+
skipJSONValidation: true,
72+
});
73+
assert.strictEqual(console.info.getCalls().length, 1);
74+
call = console.info.getCalls()[0];
75+
assert.strictEqual(call.args.length, 1);
76+
assert(call.args[0].indexOf('OPTIMIZELY: Skipping JSON schema validation.') > -1);
77+
});
78+
79+
it('should instantiate the logger with a custom logLevel when provided', function() {
80+
// checking that INFO logs do not log for a logLevel of ERROR
81+
var optlyInstance = window.optimizelySdk.createInstance({
82+
datafile: testData.getTestProjectConfig(),
83+
logLevel: enums.LOG_LEVEL.ERROR,
84+
skipJSONValidation: true,
85+
});
86+
assert.strictEqual(console.log.getCalls().length, 0);
87+
88+
// checking that ERROR logs do log for a logLevel of ERROR
89+
var optlyInstanceInvalid = window.optimizelySdk.createInstance({
90+
datafile: {},
91+
logLevel: enums.LOG_LEVEL.ERROR,
92+
});
93+
optlyInstance.activate('testExperiment', 'testUser');
94+
assert.strictEqual(console.error.getCalls().length, 1);
95+
});
96+
6097
it('should not throw if the provided config is not valid', function() {
6198
configValidator.validate.throws(new Error('Invalid config or something'));
6299
assert.doesNotThrow(function() {
@@ -249,51 +286,6 @@ describe('javascript-sdk', function() {
249286
var variation = optlyInstance.getVariation('testExperimentNotRunning', 'testUser');
250287
assert.strictEqual(variation, null);
251288
});
252-
253-
describe('automatically created logger instances', function() {
254-
beforeEach(function() {
255-
sinon.spy(console, 'log');
256-
sinon.spy(console, 'info');
257-
sinon.spy(console, 'warn');
258-
});
259-
260-
afterEach(function() {
261-
console.log.restore();
262-
console.info.restore();
263-
console.warn.restore();
264-
});
265-
266-
// this test has to come first due to local state of the logLevel
267-
it('should default to INFO when no logLevel is provided', function() {
268-
// checking that INFO logs log for an unspecified logLevel
269-
var optlyInstance = window.optimizelySdk.createInstance({
270-
datafile: testData.getTestProjectConfig(),
271-
skipJSONValidation: true,
272-
});
273-
assert.strictEqual(console.info.getCalls().length, 1);
274-
call = console.info.getCalls()[0];
275-
assert.strictEqual(call.args.length, 1);
276-
assert(call.args[0].indexOf('OPTIMIZELY: Skipping JSON schema validation.') > -1);
277-
});
278-
279-
it('should instantiate the logger with a custom logLevel when provided', function() {
280-
// checking that INFO logs do not log for a logLevel of ERROR
281-
var optlyInstance = window.optimizelySdk.createInstance({
282-
datafile: testData.getTestProjectConfig(),
283-
logLevel: enums.LOG_LEVEL.ERROR,
284-
skipJSONValidation: true,
285-
});
286-
assert.strictEqual(console.log.getCalls().length, 0);
287-
288-
// checking that ERROR logs do log for a logLevel of ERROR
289-
var optlyInstanceInvalid = window.optimizelySdk.createInstance({
290-
datafile: {},
291-
logLevel: enums.LOG_LEVEL.ERROR,
292-
});
293-
optlyInstance.activate('testExperiment', 'testUser');
294-
assert.strictEqual(console.error.getCalls().length, 1);
295-
});
296-
});
297289
});
298290
});
299291
});

0 commit comments

Comments
 (0)