Ejemplo n.º 1
0
        public void AnyModification_should_raise_domain_event()
        {
            IDomainEvent capturedDomainEvent = null;
            using (DomainEvent.TestWith(domainEvent => { capturedDomainEvent = domainEvent; }))
            {
                stockItem = StockItem.Create(productName, sizeName, dateCreated, user);
                capturedDomainEvent.ShouldBe<StockItemCreated>();

                stockItem.ReceiveStock(10, dateCreated, user);
                capturedDomainEvent.ShouldBe<ReceivedStock>();

                stockItem.Dispatch(5, 1, dateCreated, user);
                capturedDomainEvent.ShouldBe<DispatchedStock>();
            }
        }
Ejemplo n.º 2
0
        public void AnyModification_should_raise_domain_event()
        {
            IDomainEvent capturedDomainEvent = null;

            using (DomainEvent.TestWith(domainEvent => { capturedDomainEvent = domainEvent; }))
            {
                stockItem = StockItem.Create(productName, sizeName, dateCreated, user);
                capturedDomainEvent.ShouldBe <StockItemCreated>();

                stockItem.ReceiveStock(10, dateCreated, user);
                capturedDomainEvent.ShouldBe <ReceivedStock>();

                stockItem.Dispatch(5, 1, dateCreated, user);
                capturedDomainEvent.ShouldBe <DispatchedStock>();
            }
        }
Ejemplo n.º 3
0
        public void StockItem_should_be_able_to_be_dispatched()
        {
            stockItem.ReceiveStock(10, new DateTime(2010, 1, 3), user);

            const int numberOfItems   = 3;
            var       dateDispactched = new DateTime(2010, 2, 14);
            const int orderNumber     = 12345;

            stockItem.Dispatch(numberOfItems, orderNumber, dateDispactched, user);

            stockItem.Level.ShouldEqual(7);
            stockItem.History.Count.ShouldEqual(3);
            var dispatched = stockItem.History[2] as DispatchedStock;

            dispatched.DateTime.ShouldEqual(dateDispactched);
            dispatched.Description.ShouldEqual("Dispatched 3 items for order 12345");
            dispatched.User.ShouldEqual(user);
            dispatched.Level.ShouldEqual(7);
        }