Inheritance: RazorMailMessage
示例#1
0
        public void Constructor_CanCallWithSubjectOnly()
        {
            // Arrange
            RazorMailMessageTester message = null;

            // Act
            message = new RazorMailMessageTester(ObjectMother.Subject);

            // Assert
            Assert.That(message.InnerMessage.Subject, Is.EqualTo(ObjectMother.Subject));
        }
示例#2
0
        public void Constructor_CanCallWithSubjectAndAndAssembly()
        {
            // Arrange
            RazorMailMessageTester message = null;

            // Act
            message = new RazorMailMessageTester(ObjectMother.Subject, System.Reflection.Assembly.GetExecutingAssembly());

            // Assert
            Assert.That(message.InnerMessage.Subject, Is.EqualTo(ObjectMother.Subject));
        }
示例#3
0
        public void Constructor_CanInitialiseDefaults()
        {
            // Arrange
            RazorMailMessageTester message = null;

            // Act
            message = new RazorMailMessageTester(ObjectMother.Subject, System.Reflection.Assembly.GetExecutingAssembly());

            // Assert
            Assert.That(message.InnerMessage, Is.Not.Null);
            Assert.That(message.InnerMessage.Subject, Is.Not.Null);
            Assert.That(message.Encoding, Is.EqualTo(Encoding.UTF8));
            Assert.That(message.Templates, Is.Not.Null);
            Assert.That(message.Set, Is.Not.Null);
        }
示例#4
0
        public void CreateAlternateViews_DoesCallIParserMethods()
        {
            // arrange
            var template = "Template";
            var based = "Based Urls";
            var plaintext = "Stripped Html";

            var parser = new Mock<IParser>();
            var message = new RazorMailMessageTester(ObjectMother.Subject);

            message.Templates.Add(template);
            parser.Setup(x => x.BaseUrls(template)).Returns(based);
            parser.Setup(x => x.StripHtml(based)).Returns(plaintext);

            // act
            var result = message.TestCreateAlternateViews(parser.Object);

            // assert
            parser.Verify(x => x.BaseUrls(template));
            parser.Verify(x => x.StripHtml(based));
        }
示例#5
0
        public void CreateAlternateViews_DoesReturnPlainTextAndHtmlAlternateViews()
        {
            // arrange
            var parser = new Mock<IParser>();
            var message = new RazorMailMessageTester(ObjectMother.Subject);

            parser.Setup(x => x.BaseUrls(It.IsAny<string>())).Returns<string>(x => x);
            parser.Setup(x => x.StripHtml(It.IsAny<string>())).Returns<string>(x => x);
            message.Templates.Add("Template");

            // act
            var result = message.TestCreateAlternateViews(parser.Object);

            // assert
            Assert.That(result, Has.Count.EqualTo(2));
            Assert.That(result.ElementAt(0).ContentType, Is.EqualTo(new System.Net.Mime.ContentType("text/plain; charset=utf-8")));
            Assert.That(result.ElementAt(1).ContentType, Is.EqualTo(new System.Net.Mime.ContentType("text/html; charset=utf-8")));
        }
示例#6
0
        public void TestEnsureValues_WithNoTemplates_ThrowsException()
        {
            // Arrange
            var message = new RazorMailMessageTester(ObjectMother.Subject);

            // Act
            message.TestEnsureValues();

            // Assert
            // Should throw exception
        }
示例#7
0
        public void TestEnsureValues_WithNoSubject_ThrowsException()
        {
            // Arrange
            var message = new RazorMailMessageTester("     ");

            // Act
            message.TestEnsureValues();

            // Assert
            // Should throw exception
        }
示例#8
0
        public void RenderTemplate_CanReturnRenderedTemplatesAsString()
        {
            // arrange
            var message = new RazorMailMessageTester(ObjectMother.Subject);

            // act
            message.Templates.Add("This is a test template by @Model.Name.");
            message.Set.Name = "William Duffy";
            var result = message.TestRenderTemplates();

            // assert
            Assert.That(result, Is.EqualTo("This is a test template by William Duffy."));
        }
示例#9
0
        public void RazorMailMessage_CanSetAndGetToRecipients()
        {
            // arrange
            var message = new RazorMailMessageTester(ObjectMother.Subject);

            // act
            message.To.Add(ObjectMother.To);

            // assert
            Assert.That(message.To, Has.Member(ObjectMother.To));
        }
示例#10
0
        public void RazorMailMessage_CanSetAndGetPriority()
        {
            // arrange
            var message = new RazorMailMessageTester(ObjectMother.Subject);
            var priority = MailPriority.High;

            // act
            message.Priority = priority;

            // assert
            Assert.That(message.Priority, Is.EqualTo(priority));
        }
示例#11
0
        public void RazorMailMessage_CanSetAndGetFromAddress()
        {
            // arrange
            var message = new RazorMailMessageTester(ObjectMother.Subject);

            // act
            message.From = ObjectMother.From;

            // assert
            Assert.That(message.From, Is.EqualTo(ObjectMother.From));
        }
示例#12
0
        public void RazorMailMessage_CanSetAndGetAttachments()
        {
            // arrange
            var message = new RazorMailMessageTester(ObjectMother.Subject);
            var attachment = Attachment.CreateAttachmentFromString("This is a test attachment", "text/plain");

            // act
            message.Attachments.Add(attachment);

            // assert
            Assert.That(message.Attachments, Has.Member(attachment));
        }
示例#13
0
        public void Dispose_DoesDisposeOfInnerMailMessage()
        {
            // arrange
            var message = new RazorMailMessageTester(ObjectMother.Subject);

            // act
            message.Dispose();

            // assert
            Assert.That(message.InnerMessage.Attachments, Is.Null);
        }