public async Task ShouldReturnParsedStringWithParams() { // Arrange string template = "Tedsf {test1}, sdfaf{test2}"; string test1 = Fixture.Create <string>(); string test2 = Fixture.Create <string>(); string expected = $"Tedsf {test1}, sdfaf{test2}"; Dictionary <string, string> dict = new Dictionary <string, string> { { "test1", test1 }, { "test2", test2 } }; // Act var actual = MailerParser.ProcessTemplate(template, dict); //Assert Assert.Equal(expected, actual); }
public async Task <MailSendingModel> PrepareEmail(EmailParameters emailParams) { MailSendingModel email = new MailSendingModel(); emailParams.MailTo = _toMail; Dictionary <string, string> parameters = MailerParser.PrepareDictionaryParams(emailParams); var emailtemplate = (await _messagetTemplateRepository.GetAsync(Filtering(emailParams.Cause))) .OrderByDescending(x => x.CreateOn) .FirstOrDefault(); if (emailtemplate != null) { email.Subject = MailerParser.ProcessTemplate(emailtemplate.Subject, parameters); email.From = new EmailAddress(_from); email.To.AddRange(_to?.Select(x => new EmailAddress(x)) ?? new List <EmailAddress>()); //email.To.AddRange(emailParams.EmailsTo?.Select(x => new EmailAddress(x)) ?? new List<EmailAddress>());/ email.HtmlContent = MailerParser.ProcessTemplate(emailtemplate.MessageBody, parameters); return(email); } throw new ArgumentNullException("Message", "Email template not found"); }