diff --git a/src/data/optimizely.js b/src/data/optimizely.js index e9e6e7ba..2de7d7ca 100644 --- a/src/data/optimizely.js +++ b/src/data/optimizely.js @@ -4,8 +4,14 @@ import { const OPTIMIZELY_SDK_KEY = process.env.OPTIMIZELY_FULL_STACK_SDK_KEY; -const optimizely = createInstance({ - sdkKey: OPTIMIZELY_SDK_KEY, -}); +const getOptimizelyInstance = () => { + if (OPTIMIZELY_SDK_KEY) { + return createInstance({ + sdkKey: OPTIMIZELY_SDK_KEY, + }); + } -export default optimizely; + return null; +}; + +export default getOptimizelyInstance(); diff --git a/src/recommendations/optimizelyExperiment.js b/src/recommendations/optimizelyExperiment.js index 8bb4e0e0..daa820b5 100644 --- a/src/recommendations/optimizelyExperiment.js +++ b/src/recommendations/optimizelyExperiment.js @@ -12,9 +12,9 @@ export const eventNames = { * Activate the post registration recommendations optimizely experiment * and return the true if the user is in variation else false. * @param {String} userId user id of authenticated user. - * @return {string} true if the user is in variation else false + * @return {string} variation the user belong in */ -const activateRecommendationsExperiment = (userId) => optimizelyInstance.activate(RECOMMENDATIONS_EXP_KEY, userId); +const activateRecommendationsExperiment = (userId) => optimizelyInstance?.activate(RECOMMENDATIONS_EXP_KEY, userId); /** * Fire an optimizely track event for post registration recommended course card clicked. @@ -22,7 +22,7 @@ const activateRecommendationsExperiment = (userId) => optimizelyInstance.activat * @param {Object} userAttributes Dictionary of user attributes (optional). */ const trackRecommendationCardClickOptimizely = (userId, userAttributes = {}) => { - optimizelyInstance.track(eventNames.recommendedCourseClicked, userId, userAttributes); + optimizelyInstance?.track(eventNames.recommendedCourseClicked, userId, userAttributes); }; /** @@ -31,7 +31,7 @@ const trackRecommendationCardClickOptimizely = (userId, userAttributes = {}) => * @param {Object} userAttributes Dictionary of user attributes (optional). */ const trackRecommendationViewedOptimizely = (userId, userAttributes = {}) => { - optimizelyInstance.track(eventNames.recommendationsViewed, userId, userAttributes); + optimizelyInstance?.track(eventNames.recommendationsViewed, userId, userAttributes); }; export {