public void ShouldThrowIfHeaderNotDetected() { var viewStream = new MemoryStream(Encoding.UTF8.GetBytes("nothing")); var viewReader = MockRepository.GenerateMock<IViewStreamReader>(); viewReader.Expect(x => x.GetViewStream(null, null, null)).IgnoreArguments().Return(viewStream); _service = new EmailTemplateService(viewReader); var message = _service.RenderMessage("foo", _controllerContext, null); }
public void ShouldThrowIfViewNotFound() { var engine = MockRepository.GenerateMock <IViewEngine>(); engine.Stub(x => x.FindPartialView(null, null, true)).IgnoreArguments().Return(new ViewEngineResult(new[] { "foo", "bar" })); MvcViewEngines.Engines.Clear(); MvcViewEngines.Engines.Add(engine); _service.RenderMessage("foo", new EmailMetadata("*****@*****.**", "*****@*****.**"), _controllerContext); }
public void CanRenderMessageWithEmbededHeader() { string to = "*****@*****.**"; string body = "<body>whatever ...</body>"; var viewStream = new MemoryStream(Encoding.UTF8.GetBytes("to:" + to + Environment.NewLine + body)); var viewReader = MockRepository.GenerateMock<IViewStreamReader>(); viewReader.Expect(x => x.GetViewStream(null, null, null)).IgnoreArguments().Return(viewStream); _service = new EmailTemplateService(viewReader); var message = _service.RenderMessage("foo", _controllerContext, null); Assert.IsNotNull(message.To); Assert.IsNotNull(message.Body); Assert.IsTrue(message.To.ToString().Contains(to)); }
public void CanRenderMessage() { string subject = "this line is subject"; string body = "Here is message body..."; var viewStream = new MemoryStream(Encoding.UTF8.GetBytes(subject + Environment.NewLine + body)); var viewReader = MockRepository.GenerateMock<IViewStreamReader>(); viewReader.Expect(x => x.GetViewStream(null, null, null)).IgnoreArguments().Return(viewStream); _service = new EmailTemplateService(viewReader); var message = _service.RenderMessage("foo", new EmailMetadata("*****@*****.**", "*****@*****.**"), _controllerContext); Assert.That(message, Is.Not.Null); Assert.That(message.Subject, Is.EqualTo(subject)); Assert.That(message.Body, Is.EqualTo(body)); Assert.That(message.IsBodyHtml, Is.True, "Emails are HTML by default - plain text should be explicitly set in metadata."); }
public void CanRenderMessage() { string subject = "this line is subject"; string body = "Here is message body..."; var viewStream = new MemoryStream(Encoding.UTF8.GetBytes(subject + Environment.NewLine + body)); var viewReader = MockRepository.GenerateMock <IViewStreamReader>(); viewReader.Expect(x => x.GetViewStream(null, null, null)).IgnoreArguments().Return(viewStream); _service = new EmailTemplateService(viewReader); var message = _service.RenderMessage("foo", new EmailMetadata("*****@*****.**", "*****@*****.**"), _controllerContext); Assert.That(message, Is.Not.Null); Assert.That(message.Subject, Is.EqualTo(subject)); Assert.That(message.Body, Is.EqualTo(body)); Assert.That(message.IsBodyHtml, Is.True, "Emails are HTML by default - plain text should be explicitly set in metadata."); }
public void CanRenderMessage() { int numberOfTimesFlushed = 0; Response.Stub(x => x.Flush()).Do(new Action(() => numberOfTimesFlushed++)); string messageBody = "test message body..." + Environment.NewLine; SetupView("foo", messageBody); var message = _service.RenderMessage(_controllerContext, "foo"); Assert.IsNotNull(message); Assert.AreEqual(messageBody, message.Body); Assert.IsFalse(message.IsBodyHtml); Assert.AreEqual(2, numberOfTimesFlushed); }
public void CanRenderMessageFirstLineEmpty() { var viewStream = new MemoryStream(Encoding.UTF8.GetBytes(@" to: [email protected] subject: Hello ! <html> <head> <title>EmbedHeader</title> </head> <body> what are you doing? </body> </html> ")); var viewReader = MockRepository.GenerateMock<IViewStreamReader>(); viewReader.Expect(x => x.GetViewStream(null, null, null)).IgnoreArguments().Return(viewStream); _service = new EmailTemplateService(viewReader); var message = _service.RenderMessage("foo", _controllerContext, null); Assert.IsNotNull(message.To); }