// TODO Write Unit Tests public EmailTemplateContentModel GetEmailTemplate(EmailTemplatePlaceholdersGeneratorRequestModel data) { try { var dictionary = GetEmailTemplatePlaceholderDictionary(data); if (data.EmailTemplateType == EmailTemplateType.Office365TransitionReport) { dictionary = GetTransitionEmailTemplatePlaceholderDictionary(data, dictionary); } var requestData = new EmailTemplatePlaceholdersGeneratorModel { EmailTemplateType = data.EmailTemplateType, PlacehoderList = dictionary }; var template = _emailTemplateService.GetEmailTemplate(requestData); return(template); } catch (Exception ex) { this.Log().Error("Error occured on GetEmailTemplate!", ex); throw; } }
public void When_Nonexistent_Template_Type_Is_Provided_Should_Throw_Exception() { var data = new EmailTemplatePlaceholdersGeneratorModel { EmailTemplateType = EmailTemplateType.ChangePassword, PlacehoderList = _placeholders }; _sut.Invoking(y => y.GetEmailTemplate(data)).Should().Throw <Exception>().WithMessage("Can not find template ChangePassword"); }
public void When_No_Placeholders_Are_Provided_Should_Return_Template() { var data = new EmailTemplatePlaceholdersGeneratorModel { EmailTemplateType = EmailTemplateType.WelcomeCompanyCustomer }; var template = _sut.GetEmailTemplate(data); template.Should().BeEquivalentTo(new EmailTemplateContentModel { Subject = "Welcome Company Customer", Body = "This is template example for company (#CompanyName#)" }); }
public void When_Data_Is_Provided_Should_Return_Template() { var data = new EmailTemplatePlaceholdersGeneratorModel { EmailTemplateType = EmailTemplateType.WelcomeCompanyCustomer, PlacehoderList = _placeholders }; var template = _sut.GetEmailTemplate(data); template.Should().BeEquivalentTo(new EmailTemplateContentModel { Subject = "Welcome Company Customer", Body = "This is template example for company CloudPlus" }); }
// TODO Write and Update tests public EmailTemplateContentModel GetEmailTemplate(EmailTemplatePlaceholdersGeneratorModel data) { var dbTemplate = _dbContext.EmailTemplates.AsNoTracking().FirstOrDefault(t => t.Type == data.EmailTemplateType.ToString()); if (dbTemplate == null) { throw new Exception($"Can not find template {data.EmailTemplateType.ToString()}"); } var template = new EmailTemplateContentModel { Body = data.PlacehoderList != null?PopulatePlaceholdersWithData(dbTemplate.Template, data.PlacehoderList) : dbTemplate.Template, Subject = data.PlacehoderList != null?PopulatePlaceholdersWithData(dbTemplate.Subject, data.PlacehoderList) : dbTemplate.Subject, //Subject = dbTemplate.Subject }; return(template); }
// TODO Write Unit Tests public EmailTemplateContentModel GetWelcomeUserDontSendPasswordTemplate(EmailTemplateType type, string userName) { try { var dictionary = GetWelcomeUserPlaceholderDictionary(userName); var requestData = new EmailTemplatePlaceholdersGeneratorModel { EmailTemplateType = type, PlacehoderList = dictionary }; var template = _emailTemplateService.GetEmailTemplate(requestData); return(template); } catch (Exception ex) { this.Log().Error("Error occured on GetWelcomeUserDontSendPasswordTemplate!", ex); throw; } }
public void When_Data_Is_Not_Provided_Should_Throw_Exception() { var data = new EmailTemplatePlaceholdersGeneratorModel(); _sut.Invoking(y => y.GetEmailTemplate(data)).Should().Throw <Exception>().WithMessage("Can not find template None"); }