diff --git a/app/libs/constants.js b/app/libs/constants.js index 90340ce2..96b6610c 100644 --- a/app/libs/constants.js +++ b/app/libs/constants.js @@ -77,5 +77,5 @@ module.exports = { templateVariable: /(.|\n)*?<\/var>/g }, - varFormat: ['(.|\n)*?'], + varFormat: [']+)id=["\']{1}field:', '["\']{1}>([^<>]+)*?<\/var>'], }; \ No newline at end of file diff --git a/app/libs/send-email-notifications.js b/app/libs/send-email-notifications.js index 43db3327..6f17717e 100644 --- a/app/libs/send-email-notifications.js +++ b/app/libs/send-email-notifications.js @@ -20,7 +20,7 @@ module.exports = { var resolvedTemplate = emailTemplate; var that = this; Object.keys(emailAttrs).forEach(function (key) { - resolvedTemplate = that.replaceTemplateVal(key, emailAttrs[key], resolvedTemplate); + resolvedTemplate = that.replaceTemplateVal(key, emailAttrs[key], resolvedTemplate, varFormat); }); return resolvedTemplate; }, diff --git a/app/tests/libs/send-email-notifications.test.js b/app/tests/libs/send-email-notifications.test.js index 85366fe3..cdf0cca7 100644 --- a/app/tests/libs/send-email-notifications.test.js +++ b/app/tests/libs/send-email-notifications.test.js @@ -54,12 +54,20 @@ describe('Send Email Notification Unit Tests', function() { describe('Method parseTemplate', function(){ it('should be properly render a template given a valid field dict', function() { - var actualRenderedTemplate = parseTemplate(htmlTemplate, validFieldDict, constants.varFormat); - actualRenderedTemplate.should.equal(renderedTemplate); + var actualRenderedTemplate = emailNotifications.parseTemplate(htmlTemplate, validFieldDict, constants.varFormat).replace((/ |\r\n|\n|\r|\t/gm),''); + actualRenderedTemplate.should.equal(renderedTemplate.replace((/ |\r\n|\n|\r|\t/gm),'')); }); }); describe('Method replaceTemplateVal', function() { + it('should be properly replace a template var in a valid template', function() { + var expectedHtml = '

John Smith \ +
Your Website \ +
Your Age

'; + + var actualRenderedTemplate = emailNotifications.replaceTemplateVal('56340745f59a6fc9e22028e9', validFieldDict['56340745f59a6fc9e22028e9'], htmlTemplate, constants.varFormat).replace((/ |\r\n|\n|\r|\t/gm),''); + actualRenderedTemplate.should.equal(expectedHtml.replace((/ |\r\n|\n|\r|\t/gm),'')); + }); }); describe('Method send', function() {