Esempio n. 1
0
        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());
        }
Esempio n. 2
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());
        }
Esempio n. 3
0
        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());
        }