Ejemplo n.º 1
0
        public void TestProcessBatch_NullMessage()
        {
            var testMessage1 = new MailMessage();
            var context1 = new Mock<IEmailContext>().Object;
            var context2 = new Mock<IEmailContext>().Object;
            _mockMessageBuilder.Setup(b => b.BuildMessage(context1, _mockRepository.Object)).Returns(testMessage1);

            var processor = new EmailProcessor(_mockMessageBuilder.Object, _mockMessageSender.Object, _mockRepository.Object);
            processor.ProcessBatch(new IEmailContext[] { context1, context2 });

            _mockMessageBuilder.Verify(b => b.BuildMessage(context1, _mockRepository.Object), Times.Once());
            _mockMessageBuilder.Verify(b => b.BuildMessage(context2, _mockRepository.Object), Times.Once());
            _mockMessageSender.Verify(s => s.SendBatch(It.Is<IEnumerable<MailMessage>>(c => c.Contains(testMessage1) && c.Count() == 1)), Times.Once());
        }