public void ShouldSendRemainderAboutFutureMessage() { var publisherMock = new Mock <IPublisher>(); var regularMidget = new RegularMidget(publisherMock.Object); regularMidget.Handle(new OrderPlaced(new Order(), "cu")); publisherMock.Verify(p => p.Publish(It.IsAny <FutureMessage>())); }
public void ShouldPublish_TakePayment_When_OrderPriced_Received() { var publisherMock = new Mock <IPublisher>(); var midget = new RegularMidget(publisherMock.Object); midget.Handle(new OrderPriced(new Order(), string.Empty)); publisherMock.Verify(p => p.Publish(It.IsAny <TakePayment>())); }
public void ShouldNotPassDoubleMessage() { var publisherMock = new Mock <IPublisher>(); var midget = new RegularMidget(publisherMock.Object); midget.Handle(new OrderPriced(new Order(), string.Empty)); midget.Handle(new OrderPriced(new Order(), string.Empty)); publisherMock.Verify(p => p.Publish(It.IsAny <TakePayment>()), Times.Once); }
public void ShouldCleanUp_When_OrderPaid_Received() { var publisherMock = new Mock <IPublisher>(); var midget = new RegularMidget(publisherMock.Object) { CleanUp = corrId => corrId.SequenceEqual("corrId") }; midget.Handle(new OrderPaid(new Order(), "corrId")); }
public void ShouldNotReTryCookFoodMessage() { var publisherMock = new Mock <IPublisher>(); FutureMessage msg = null; publisherMock.Setup(x => x.Publish(It.IsAny <FutureMessage>())) .Callback <FutureMessage>(r => msg = r); var regularMidget = new RegularMidget(publisherMock.Object); var msgToDeliver = new CookFood(new Order(), "cu"); regularMidget.Handle(new OrderCooked(new Order(), string.Empty)); regularMidget.Handle(new FutureMessage(msgToDeliver, DateTime.MaxValue)); publisherMock.Verify(p => p.Publish(It.IsAny <FutureMessage>()), Times.Never); publisherMock.Verify(p => p.Publish(It.IsAny <CookFood>()), Times.Never); publisherMock.Verify(p => p.Publish(It.IsAny <PriceOrdered>())); }
public void ShouldReTryCookFoodMessage() { var publisherMock = new Mock <IPublisher>(); FutureMessage msg = null; publisherMock.Setup(x => x.Publish(It.IsAny <FutureMessage>())) .Callback <FutureMessage>(r => msg = r); var regularMidget = new RegularMidget(publisherMock.Object); var msgToDeliver = new CookFood(new Order(), "cu"); regularMidget.Handle(new FutureMessage(msgToDeliver, DateTime.MaxValue)); publisherMock.Verify(p => p.Publish(It.IsAny <FutureMessage>())); publisherMock.Verify(p => p.Publish(It.IsAny <CookFood>())); msg.MessageToDeliver.MessageId .ShouldEqual(msgToDeliver.MessageId); }