Skip to content

Commit 646665d

Browse files
author
Derek Hammond
committed
actual changes
1 parent 451ea67 commit 646665d

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,12 @@ Optimizely.prototype.track = function(eventKey, userId, attributes, eventTags) {
291291
}
292292

293293
if (!projectConfig.eventWithKeyExists(configObj, eventKey)) {
294-
throw new Error(jsSdkUtils.sprintf(ERROR_MESSAGES.INVALID_EVENT_KEY, MODULE_NAME, eventKey));
294+
this.logger.log(
295+
LOG_LEVEL.WARNING,
296+
jsSdkUtils.sprintf(enums.LOG_MESSAGES.EVENT_KEY_NOT_FOUND, MODULE_NAME, eventKey)
297+
);
298+
this.logger.log(LOG_LEVEL.WARNING, jsSdkUtils.sprintf(LOG_MESSAGES.NOT_TRACKING_USER, MODULE_NAME, userId));
299+
return;
295300
}
296301

297302
// remove null values from eventTags
@@ -313,7 +318,7 @@ Optimizely.prototype.track = function(eventKey, userId, attributes, eventTags) {
313318
this.logger.log(LOG_LEVEL.ERROR, e.message);
314319
this.errorHandler.handleError(e);
315320
var failedTrackLogMessage = jsSdkUtils.sprintf(LOG_MESSAGES.NOT_TRACKING_USER, MODULE_NAME, userId);
316-
this.logger.log(LOG_LEVEL.INFO, failedTrackLogMessage);
321+
this.logger.log(LOG_LEVEL.ERROR, failedTrackLogMessage);
317322
}
318323
};
319324

packages/optimizely-sdk/lib/optimizely/index.tests.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,21 +1530,26 @@ describe('lib/optimizely', function() {
15301530
assert.strictEqual(logMessage, sprintf(ERROR_MESSAGES.INVALID_INPUT_FORMAT, 'OPTIMIZELY', 'user_id'));
15311531
});
15321532

1533-
it('should throw an error for invalid event key', function() {
1533+
it('should log a warning for an event key that is not in the datafile and a warning for not tracking user', function() {
15341534
optlyInstance.track('invalidEventKey', 'testUser');
15351535

1536-
sinon.assert.notCalled(eventDispatcher.dispatchEvent);
1536+
sinon.assert.calledTwice(createdLogger.log);
15371537

1538-
sinon.assert.calledOnce(errorHandler.handleError);
1539-
var errorMessage = errorHandler.handleError.lastCall.args[0].message;
1540-
assert.strictEqual(errorMessage, sprintf(ERROR_MESSAGES.INVALID_EVENT_KEY, 'OPTIMIZELY', 'invalidEventKey'));
1538+
var logCall1 = createdLogger.log.getCall(0);
1539+
sinon.assert.calledWithExactly(
1540+
logCall1,
1541+
LOG_LEVEL.WARNING,
1542+
sprintf(LOG_MESSAGES.EVENT_KEY_NOT_FOUND, 'OPTIMIZELY', 'invalidEventKey')
1543+
);
15411544

1542-
sinon.assert.calledTwice(createdLogger.log);
1543-
var logMessage1 = createdLogger.log.args[0][1];
1544-
assert.strictEqual(logMessage1, sprintf(ERROR_MESSAGES.INVALID_EVENT_KEY, 'OPTIMIZELY', 'invalidEventKey'));
1545+
var logCall2 = createdLogger.log.getCall(1);
1546+
sinon.assert.calledWithExactly(
1547+
logCall2,
1548+
LOG_LEVEL.WARNING,
1549+
sprintf(LOG_MESSAGES.NOT_TRACKING_USER, 'OPTIMIZELY', 'testUser')
1550+
);
15451551

1546-
var logMessage2 = createdLogger.log.args[1][1];
1547-
assert.strictEqual(logMessage2, sprintf(LOG_MESSAGES.NOT_TRACKING_USER, 'OPTIMIZELY', 'testUser'));
1552+
sinon.assert.notCalled(errorHandler.handleError);
15481553
});
15491554

15501555
it('should throw an error for invalid attributes', function() {

0 commit comments

Comments
 (0)