示例#1
0
 public void ThrowsOnInvalidOptions()
 {
     var unused =
         new RazorLightTemplatingService(null, new MailTemplateOptions {
         BaseDirectory = string.Empty
     }, null);
 }
示例#2
0
        public void LogsParsingByClass()
        {
            var loggerMock = new Mock <ILogger <RazorLightTemplatingService> >();
            var service    = new RazorLightTemplatingService(new Mock <IRazorLightEngine>().Object,
                                                             new MailTemplateOptions(), loggerMock.Object);
            var unused = service.Parse(new Test());

            loggerMock.VerifyLog(LogLevel.Debug, $"Parsing model '{typeof(Test).Name}'.");
        }
示例#3
0
        public void LogsViewName()
        {
            var loggerMock = new Mock <ILogger <RazorLightTemplatingService> >();
            var service    = new RazorLightTemplatingService(new Mock <IRazorLightEngine>().Object,
                                                             new MailTemplateOptions(), loggerMock.Object);
            var unused = service.Parse(new Test());

            loggerMock.VerifyLog(LogLevel.Debug, $"ViewName of '{typeof(Test).Name}' is '{nameof(Test)}.cshtml'.");
        }
示例#4
0
        public void LogsParsingByView()
        {
            var loggerMock = new Mock <ILogger <RazorLightTemplatingService> >();
            var service    = new RazorLightTemplatingService(new Mock <IRazorLightEngine>().Object,
                                                             new MailTemplateOptions(), loggerMock.Object);
            var unused = service.Parse(new Test());

            loggerMock.VerifyLog(LogLevel.Information,
                                 $"Parsing view '{nameof(Test)}.cshtml' for model '{typeof(Test).Name}'.");
        }
        public void CanSendMailByModel()
        {
            var mailTransportMock = new Mock <IMailTransport>();
            var project           = new LocationExpandingFileRazorProject(new[] { new DefaultLocationExpander() }, null,
                                                                          ApplicationHelper.GetMailViewPath(), ".cshtml");
            var engine = new RazorLightEngineBuilder()
                         .UseProject(project)
                         .UseMemoryCachingProvider()
                         .Build();
            var mailService = new TestMailKitSmtpMailService(MailKitSmtpMailServiceTest.GetTestMailServiceOptions(),
                                                             mailTransportMock.Object);
            var templateService = new RazorLightTemplatingService(engine, new MailTemplateOptions(), null);
            var service         = new TemplatingMailService(mailService, templateService);

            var model = new Test();
            var body  = templateService.Parse(model);

            service.SendMail(model, GlobalTestSettings.SmtpRecipientMail, GlobalTestSettings.SmtpRecipientName);
            mailTransportMock.VerifySendMail(GlobalTestSettings.SmtpServer, GlobalTestSettings.SmtpPort,
                                             GlobalTestSettings.SmtpSenderName, GlobalTestSettings.SmtpSenderMail,
                                             GlobalTestSettings.SmtpRecipientName, GlobalTestSettings.SmtpRecipientMail,
                                             GlobalTestSettings.MailSubject, body);
        }
示例#6
0
 public void DoesNotThrowOnEmptyLogger()
 {
     var unused =
         new RazorLightTemplatingService(new Mock <IRazorLightEngine>().Object, new MailTemplateOptions(), null);
 }
示例#7
0
 public void ThrowOnMissingEngine()
 {
     var unused = new RazorLightTemplatingService(null, new MailTemplateOptions(), null);
 }
示例#8
0
 public void ThrowsOnMissingOptions()
 {
     var unused = new RazorLightTemplatingService(new Mock <IRazorLightEngine>().Object, null, null);
 }