예제 #1
0
        public void Handle_PurchaseBookCommand_Default()
        {
            // arrange
            var key = MockBuilder.Key;

            var command = PurchaseBookCommandMock.Get(key);

            // act
            var result = Handle(command);

            // assert
            result.Should().BeTrue();

            var orders = MockRepository.Query <Order>()
                         .Include(x => x.Items)
                         .Include(x => x.Customer)
                         .ToList();
            var orderExpected = OrderMock.Get(key);

            orders.Should().BeEquivalentToEntity(MockBuilder.List(orderExpected));

            var publishShippingEventCommands        = Bus.GetAllSent <PublishShippingEventCommand>(ContextNames.Queue.Bookstore);
            var publishShippingEventCommandExpected = PublishShippingEventCommandMock.Get(key);

            publishShippingEventCommandExpected.OrderId = orders[0].Id;
            publishShippingEventCommands.Should().BeEquivalentToMessage(MockBuilder.List(publishShippingEventCommandExpected));

            var dropCopyNumberEvents        = Bus.GetAllPublished <DropCopyNumberEvent>(ContextNames.Exchange.Bookstore);
            var dropCopyNumberEventExpected = DropCopyNumberEventMock.Get(key);

            dropCopyNumberEvents.Should().BeEquivalentToMessage(MockBuilder.List(dropCopyNumberEventExpected));
        }
예제 #2
0
        public void Handle_PublishShippingEventCommand_Default()
        {
            // arrange
            var key = MockBuilder.Key;

            var order = OrderMock.Get(key);

            MockRepository.Add(order);

            MockRepository.Commit();

            var command = PublishShippingEventCommandMock.Get(key);

            // act
            var result = Handle(command);

            // assert
            result.Should().BeTrue();

            var events        = Bus.GetAllPublished <CreateShippingEvent>(ContextNames.Exchange.Bookstore);
            var eventExpected = CreateShippingEventMock.Get(key);

            events.Should().BeEquivalentToMessage(MockBuilder.List(eventExpected));
        }