public SendGridMessage MapRequestToMessage(string requestBody) { var input = JsonConvert.DeserializeObject <OutgoingEmailMessage>(requestBody); var outgoingEmail = new OutgoingEmailMessage { SenderName = input.SenderName, SenderEmail = input.SenderEmail, EmailSubject = input.EmailSubject, EmailBody = input.EmailBody }; // Send the parsed message to SendGrid Client var message = new SendGridMessage() { From = new EmailAddress(outgoingEmail.SenderEmail, outgoingEmail.SenderName), Subject = outgoingEmail.EmailSubject, PlainTextContent = outgoingEmail.EmailBody, HtmlContent = outgoingEmail.EmailBody, }; message.AddTo(_config["RecipientEmail"]); return(message); }
public void MapRequestCorrectly(string senderName, string senderEmail, string emailSubject, string emailBody) { // ARRANGE var testInput = new OutgoingEmailMessage { SenderName = senderName, SenderEmail = senderEmail, EmailSubject = emailSubject, EmailBody = emailBody }; string testRequest = JsonConvert.SerializeObject(testInput); // ACT var response = _mapperMock.MapRequestToMessage(testRequest); // ASSERT Assert.Equal(new EmailAddress(testInput.SenderEmail, testInput.SenderName), response.From); Assert.Equal(testInput.EmailSubject, response.Subject); Assert.Equal(testInput.EmailBody, response.PlainTextContent); Assert.Equal(testInput.EmailBody, response.HtmlContent); }