Ejemplo n.º 1
0
 public OrderItem Update(OrderItem entity)
 {
     Debug.WriteLine("UPDATING orderItem in database");
     var existing = OrderItems.First(c => c.ID == entity.ID);
     Mapper.Map(entity, existing);
     return entity;
 }
 public void Is_valid_when_item_status_is_submitted()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.SUBMITTED_STATUS;
     var rule = new ValidOrderItemStatusForUpdateRule(item);
     rule.Validate().IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
 public void Is_invalid_when_item_price_does_not_equal_product_price()
 {
     var orderItem = new OrderItem() { Price = 10 };
     var product = new Product { Price = 11 };
     var rule = new OrderItemPriceValidityRule(orderItem, product);
     rule.Validate().IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldNotBe(null);
 }
Ejemplo n.º 4
0
 public void Is_valid_when_an_order_item_is_backordered()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.BACK_ORDERED_STATE;
     var rule = new CanShipOrderItemRule(item);
     rule.Validate().IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
Ejemplo n.º 5
0
 public void Is_invalid_when_an_order_item_is_shipped()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.SHIPPED_STATUS;
     var rule = new CanShipOrderItemRule(item);
     rule.Validate().IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldNotBe(null);
 }
 public void Is_invalid_when_item_amount_does_not_equal_item_amount_times_product_price()
 {
     var orderItem = new OrderItem() { Amount = 30, Quantity = 3 };
     var product = new Product { Price = 11 };
     var rule = new OrderItemAmountValidityRule(orderItem, product);
     rule.Validate().IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldNotBe(null);
 }
 public void Is_invalid_when_an_order_item_is_pending()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.PENDING_STATUS;
     var rule = new CanSubmitOrderItemRule(item);
     rule.Validate().IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
 public void Is_invalid_when_item_status_is_backordered()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.BACK_ORDERED_STATE;
     var rule = new ValidOrderItemStatusForUpdateRule(item);
     rule.Validate().IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldBe("Backordered items cannot be changed");
 }
 public void Is_valid_when_item_status_is_not_shipped()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.PENDING_STATUS;
     var rule = new ValidOrderItemStatusForDeleteRule(item);
     rule.Validate().IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
 public void Is_invalid_when_item_status_is_shipped()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.SHIPPED_STATUS;
     var rule = new ValidOrderItemStatusForUpdateRule(item);
     rule.Validate().IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldBe("Shipped items cannot be changed");
 }
 public void Is_valid_when_item_price_equals_product_price()
 {
     var orderItem = new OrderItem() { Price = 10 };
     var product = new Product { Price = 10 };
     var rule = new OrderItemPriceValidityRule(orderItem, product);
     rule.Validate().IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
Ejemplo n.º 12
0
 public async Task Is_valid_when_an_order_item_is_submitted_async()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.SUBMITTED_STATUS;
     var rule = new CanShipOrderItemRule(item);
     await rule.ValidateAsync();
     rule.IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
 public async Task Is_valid_when_item_amount_equals_item_quantity_times_product_price_async()
 {
     var orderItem = new OrderItem() { Amount = 30, Quantity = 3 };
     var product = new Product { Price = 10 };
     var rule = new OrderItemAmountValidityRule(orderItem, product);
     await rule.ValidateAsync();
     rule.IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
Ejemplo n.º 14
0
 public async Task Is_invalid_when_an_order_item_is_backordered_async()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.BACK_ORDERED_STATE;
     var rule = new CanSubmitOrderItemRule(item);
     await rule.ValidateAsync();
     rule.IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldNotBe(null);
 }
 public async Task Is_invalid_when_item_status_is_shipped_async()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.SHIPPED_STATUS;
     var rule = new ValidOrderItemStatusForDeleteRule(item);
     await rule.ValidateAsync();
     rule.IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldNotBe(null);
 }
Ejemplo n.º 16
0
 public async Task Is_invalid_when_an_order_item_is_pending_async()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.PENDING_STATUS;
     var rule = new CanShipOrderItemRule(item);
     await rule.ValidateAsync();
     rule.IsValid.ShouldBe(false);
     rule.ErrorMessage.ShouldNotBe(null);
 }
 public async Task Is_valid_when_item_status_is_pending_async()
 {
     var item = new OrderItem();
     item.OrderStatusID = OrderStatusConstants.PENDING_STATUS;
     var rule = new ValidOrderItemStatusForUpdateRule(item);
     await rule.ValidateAsync();
     rule.IsValid.ShouldBe(true);
     rule.ErrorMessage.ShouldBe(null);
 }
Ejemplo n.º 18
0
 public OrderItem Insert(OrderItem entity)
 {
     Debug.WriteLine("INSERTING orderItem into database");
     lock (_lock)
     {
         _counter++;
     }
     entity.ID = _counter;
     OrderItems.Add(Mapper.Map(entity, new OrderItem()));
     return entity;
 }
Ejemplo n.º 19
0
 public async Task<OrderItem> UpdateAsync(OrderItem entity)
 {
     return Update(entity);
 }
Ejemplo n.º 20
0
 public async Task<OrderItem> InsertAsync(OrderItem entity)
 {
     return Insert(entity);
 }
 public OrderItemPriceValidityRule(OrderItem item, Product product)
 {
     _item = item;
     _product = product;
 }
 public ValidOrderItemStatusForUpdateRule(OrderItem item)
 {
     _item = item;
 }
 public OrderItemAmountValidityRule(OrderItem item, Product product)
 {
     _item = item;
     _product = product;
 }
Ejemplo n.º 24
0
 public CanSubmitOrderItemRule(OrderItem orderItem)
 {
     _orderItem = orderItem;
 }
Ejemplo n.º 25
0
 public CanShipOrderItemRule(OrderItem orderItem)
 {
     _orderItem = orderItem;
 }
 public ValidOrderItemStatusForDeleteRule(OrderItem item)
 {
     _item = item;
 }