コード例 #1
0
        public void Handle_should_publish_new_StockItemInStockChanged_event()
        {
            var          stockItemSetOutOfStock = stockItem.SetOutOfStock(now, user);
            IDomainEvent raisedEvent            = null;

            domainEventService.RaiseDelegate = @event => raisedEvent = @event;

            publishStockItemInStockChangedOnOutOfStock.Handle(stockItemSetOutOfStock);

            var stockItemInStockChanged = raisedEvent as StockItemInStockChanged;

            stockItemInStockChanged.ShouldNotBeNull();
            stockItemInStockChanged.SizeName.ShouldEqual("small");
            stockItemInStockChanged.ProductName.ShouldEqual("widget");
            stockItemInStockChanged.IsInStock.ShouldBeFalse();
        }