Skip to content

Commit 9a7295d

Browse files
committed
Add trackEvent method
1 parent adc3349 commit 9a7295d

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,5 +262,19 @@ describe('lib/optimizely_user_context', function() {
262262
assert.deepEqual(decisionMap, fakeDecisionMap);
263263
});
264264
});
265+
266+
describe('#trackEvent', function() {
267+
it('should call track from optimizely client', function() {
268+
fakeOptimizely = {
269+
track: sinon.stub()
270+
};
271+
var user = new OptimizelyUserContext({
272+
optimizely: fakeOptimizely,
273+
userId,
274+
});
275+
user.trackEvent('event1');
276+
sinon.assert.called(fakeOptimizely.track);
277+
});
278+
});
265279
});
266280
});

packages/optimizely-sdk/lib/optimizely_user_context/index.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License. *
1515
***************************************************************************/
1616
import Optimizely from '../../lib/optimizely';
17-
import { UserAttributes, OptimizelyDecideOptions } from '../../lib/shared_types';
17+
import { UserAttributes, OptimizelyDecideOptions, EventTags } from '../../lib/shared_types';
1818
import { OptimizelyDecision } from '../optimizely_decision';
1919

2020
export default class OptimizelyUserContext {
@@ -99,4 +99,13 @@ export default class OptimizelyUserContext {
9999

100100
return this.optimizely.decideAll(this, options);
101101
}
102+
103+
/**
104+
* Track an event.
105+
* @param {string} eventName The event name.
106+
* @param {EventTags} eventTags An optional map of event tag names to event tag values.
107+
*/
108+
trackEvent(eventName: string, eventTags?: EventTags): void {
109+
this.optimizely.track(eventName, this.userId, this.attributes, eventTags);
110+
}
102111
}

0 commit comments

Comments
 (0)