Example #1
0
        public async Task Test_EmptyAddress_ShouldBe_Ignore()
        {
            var emailTemplateProviderMoq = new Mock <IEmailTemplateProvider>();

            emailTemplateProviderMoq.Setup(e => e.GetTemplate(It.IsAny <string>()))
            .ReturnsAsync(new EmailTemplate("Duy")
            {
                ToEmails = "[DuyEmail],{HBDEmail};[email protected]",
                Body     = "Hello [Name]",
                Subject  = "Hi, [Name]"
            }).Verifiable();

            using (var mailProvider = new MailMessageProvider(emailTemplateProviderMoq.Object, new TransformerService()))
            {
                var mail = await mailProvider.GetMailMessageAsync("Duy",
                                                                  new object[]
                {
                    new
                    {
                        DuyEmail = "",
                        HBDEmail = "*****@*****.**",
                        Name     = "Duy Hoang"
                    }
                });

                mail.Should().NotBeNull();
                mail.To.Count.Should().Be(2);
            }

            emailTemplateProviderMoq.VerifyAll();
        }
Example #2
0
        public async Task Test_TransformTheSameTemplate_ButDifferentData_EmailDifference()
        {
            var emailTemplateProviderMoq = new Mock <IEmailTemplateProvider>();

            emailTemplateProviderMoq.Setup(e => e.GetTemplate(It.IsAny <string>()))
            .ReturnsAsync(new EmailTemplate("Duy")
            {
                ToEmails = "[DuyEmail],{HBDEmail};[email protected]",
                Body     = "Hello [Name]",
                Subject  = "Hi, [Name]"
            }).Verifiable();

            using (var mailProvider = new MailMessageProvider(emailTemplateProviderMoq.Object, new TransformerService()))
            {
                var mail1 = await mailProvider.GetMailMessageAsync("Duy",
                                                                   new object[]
                {
                    new
                    {
                        DuyEmail = "*****@*****.**",
                        HBDEmail = "*****@*****.**",
                        Name     = "Duy"
                    }
                });

                var mail2 = await mailProvider.GetMailMessageAsync("Duy",
                                                                   new object[]
                {
                    new
                    {
                        DuyEmail = "*****@*****.**",
                        HBDEmail = "*****@*****.**",
                        Name     = "Hoang"
                    }
                });

                mail1.To.First().Address.Should().NotBe(mail2.To.First().Address);
                mail1.Subject.Should().NotBe(mail2.Subject);
                mail1.Body.Should().NotBe(mail2.Body);
            }

            emailTemplateProviderMoq.VerifyAll();
        }