Ejemplo n.º 1
0
 private ProductWarehouse Create(int initialQuantity)
 {
     return(ProductWarehouse.Create(WarehouseConstants.ProductWarehouseId,
                                    WarehouseConstants.ProductId,
                                    initialQuantity,
                                    WarehouseConstants.UserId,
                                    WarehouseConstants.Timestamp));
 }
Ejemplo n.º 2
0
        private ProductWarehouse Create(int initialQuantity, int reserveQuantity)
        {
            var result = ProductWarehouse.Create(WarehouseConstants.ProductWarehouseId,
                                                 WarehouseConstants.ProductId,
                                                 initialQuantity,
                                                 WarehouseConstants.UserId,
                                                 WarehouseConstants.Timestamp);

            result.ReserveForOrder(WarehouseConstants.OrderId, reserveQuantity, WarehouseConstants.Timestamp);

            return(result);
        }
        public void Happy(Guid productWarehouseId, Guid productId, int quantity, string createdBy, DateTime createdAt)
        {
            var result = ProductWarehouse.Create(productWarehouseId, productId, quantity, createdBy, createdAt);

            result.Id.Should().Be(productWarehouseId);
            result.ProductId.Should().Be(productId);
            result.OnHandQuantity.Should().Be(quantity);
            result.ReservedQuantity.Should().Be(0);
            result.AvailableQuantity.Should().Be(quantity);

            result.Changes.Should().NotBeEmpty()
            .And.HaveCount(1)
            .And.ContainItemsAssignableTo <V1.ProductWarehouseCreated>();
        }
        public void Bad(Guid productWarehouseId, Guid productId, int quantity, string createdBy, DateTime createdAt)
        {
            Action act = () => ProductWarehouse.Create(productWarehouseId, productId, quantity, createdBy, createdAt);

            act.Should().Throw <DomainValidationException>();
        }