From 3f04c8abf5ea6edcc87996b3412f010d5815ea2c Mon Sep 17 00:00:00 2001 From: Sabe Jones Date: Thu, 14 Mar 2019 12:21:46 -0500 Subject: [PATCH] chore(email): next split test iteration --- website/server/libs/auth/index.js | 6 +++++- website/server/libs/auth/social.js | 6 +++++- website/server/models/user/hooks.js | 8 ++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/website/server/libs/auth/index.js b/website/server/libs/auth/index.js index c629c33536..1a806ead3c 100644 --- a/website/server/libs/auth/index.js +++ b/website/server/libs/auth/index.js @@ -184,7 +184,11 @@ async function registerLocal (req, res, { isV3 = false }) { .remove({email: savedUser.auth.local.email}) .then(() => { if (existingUser) return; - sendTxnEmail(savedUser, 'welcome-v2d'); + if (savedUser._ABtests && savedUser._ABtests.welcomeEmailSplit) { + sendTxnEmail(savedUser, savedUser._ABtests.welcomeEmailSplit); + } else { + sendTxnEmail(savedUser, 'welcome'); + } }); if (!existingUser) { diff --git a/website/server/libs/auth/social.js b/website/server/libs/auth/social.js index 9c7558c290..8ac649ab71 100644 --- a/website/server/libs/auth/social.js +++ b/website/server/libs/auth/social.js @@ -89,7 +89,11 @@ async function loginSocial (req, res) { .exec() .then(() => { if (!existingUser) { - sendTxnEmail(savedUser, 'welcome-v2d'); + if (savedUser._ABtests && savedUser._ABtests.welcomeEmailSplit) { + sendTxnEmail(savedUser, savedUser._ABtests.welcomeEmailSplit); + } else { + sendTxnEmail(savedUser, 'welcome'); + } } }); // eslint-disable-line max-nested-callbacks } diff --git a/website/server/models/user/hooks.js b/website/server/models/user/hooks.js index 5b2a4096ab..2a360df1a3 100644 --- a/website/server/models/user/hooks.js +++ b/website/server/models/user/hooks.js @@ -147,6 +147,14 @@ function _setUpNewUser (user) { user.migration = '20190314_pi_day'; /* eslint-enable camelcase */ + const testGroup = Math.random(); + + if (testGroup < 0.5) { + user._ABtests.welcomeEmailSplit = 'welcome-v2b'; + } else { + user._ABtests.welcomeEmailSplit = 'welcome'; + } + if (user.registeredThrough === 'habitica-web') { taskTypes = ['habit', 'daily', 'todo', 'reward', 'tag'];