Пример #1
0
        public void SendSingleEmail_DoesNotThrowException()
        {
            var email = new EmailTemplateContract
            {
                Recipients = new List <string>()
                {
                    "*****@*****.**"
                },
                EmailBodyData = new Dictionary <string, string>()
                {
                    {
                        "name", "test"
                    }
                },
                EmailTemplateCodes = "emailTemplate01",
                Bcc = new List <string>()
                {
                    "*****@*****.**"
                },
                Cc = new List <string>()
                {
                    "*****@*****.**"
                }
            };

            _emailServiceMock.Setup(x => x.SendEmailAsync(It.IsAny <EmailTemplateContract>())).ReturnsAsync(HttpStatusCode.OK);

            Assert.DoesNotThrowAsync(() => _emailController.SendSingleEmail(email));
        }
        public void SendEmailNoAttachment_Failure(EmailTemplateContract input)
        {
            _awsEmailServiceMock.Setup(x => x.SendEmailAsync(It.IsAny <IEnumerable <string> >(),
                                                             It.IsAny <string>(),
                                                             It.IsAny <string>(),
                                                             It.IsAny <bool>(),
                                                             null,
                                                             null)).ReturnsAsync(HttpStatusCode.BadRequest);

            var httpStatusCode = _emailService.SendEmailAsync(input);

            Assert.AreEqual(httpStatusCode.Result, HttpStatusCode.BadRequest);
        }
        public void SendEmailMultipleAttachment_Success(EmailTemplateContract input)
        {
            _awsEmailServiceMock.Setup(x => x.SendEmailWithAttachmentStreamsAsync(It.IsAny <IEnumerable <string> >(),
                                                                                  It.IsAny <string>(),
                                                                                  It.IsAny <string>(),
                                                                                  true,
                                                                                  It.IsAny <IEnumerable <Attachment> >(),
                                                                                  null,
                                                                                  null)).ReturnsAsync(HttpStatusCode.OK);
            var httpStatusCode = _emailService.SendEmailAsync(input);

            Assert.AreEqual(httpStatusCode.Result, HttpStatusCode.OK);
        }
        public async Task <HttpStatusCode> SendEmailAsync(EmailTemplateContract emailTemplateContract)
        {
            try
            {
                var body = await GenerateEmailBodyTemplate(emailTemplateContract.EmailTemplateCodes, emailTemplateContract.EmailBodyData);

                var attachments = await GetEmailAttachments(emailTemplateContract.AttachmentFileNames);

                if (attachments.Any())
                {
                    return(await _awsEmailService.SendEmailWithAttachmentStreamsAsync(emailTemplateContract.Recipients, emailTemplateContract.Subject, body, true, attachments, emailTemplateContract.Cc, emailTemplateContract.Bcc));
                }

                return(await _awsEmailService.SendEmailAsync(emailTemplateContract.Recipients, emailTemplateContract.Subject, body, true, emailTemplateContract.Cc, emailTemplateContract.Bcc));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(HttpStatusCode.BadRequest);
            }
        }
Пример #5
0
 public async Task <IActionResult> SendSingleEmail([FromBody] EmailTemplateContract contract)
 {
     return(Ok(await _emailService.SendEmailAsync(contract)));
 }
        public void SendEmail_Failure(EmailTemplateContract input)
        {
            var httpStatusCode = _emailService.SendEmailAsync(input);

            Assert.AreEqual(httpStatusCode.Result, HttpStatusCode.BadRequest);
        }