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);
        }
Beispiel #2
0
        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);
        }