public void TestProcess() { var testMessage = new MailMessage(); var context = new Mock<IEmailContext>().Object; _mockMessageBuilder.Setup(b=> b.BuildMessage(context, _mockRepository.Object)).Returns(testMessage); var processor = new EmailProcessor(_mockMessageBuilder.Object, _mockMessageSender.Object, _mockRepository.Object); processor.Process(context); _mockMessageBuilder.Verify(b => b.BuildMessage(context, _mockRepository.Object), Times.Once()); _mockMessageSender.Verify(s => s.Send(testMessage), Times.Once()); }
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()); }
public void TestProcess_NullMessage() { var context = new Mock<IEmailContext>().Object; var processor = new EmailProcessor(_mockMessageBuilder.Object, _mockMessageSender.Object, _mockRepository.Object); processor.Process(context); _mockMessageSender.Verify(s => s.Send(It.IsAny<MailMessage>()), Times.Never()); }