Exemplo n.º 1
0
        public void WhenPurchaseOrderContains1PhysicalProduct1ShippingSlipShouldBeCreated()
        {
            _purchaseOrder.Items.Add(new PurchaseOrderItem
            {
                Product = new Book
                {
                    Name            = "Red Rising",
                    ProductID       = 789,
                    Author          = "Pierce Brown",
                    PublicationDate = new DateTime(2014, 1, 28)
                },
                Quantity = 1
            });

            _purchaseOrderService.ProcessOrder(_purchaseOrder);

            var shippingSlips = _shippingRepository.GetCustomerShippingSlips(_purchaseOrder.Customer);

            Assert.IsNotEmpty(shippingSlips);
            Assert.IsTrue(shippingSlips.Any(s => s.Product == _purchaseOrder.Items.First().Product));
            Assert.IsTrue(shippingSlips.Any(s => s.Customer == _purchaseOrder.Customer));
            Assert.IsTrue(shippingSlips.Any(s => s.ShippingAddress == _purchaseOrder.Customer.ShippingAddress));
        }