public void Can_add_rewardPointsHistoryEntry() { var customer = new Customer(); customer.AddRewardPointsHistoryEntry(1, "Points for registration"); customer.RewardPointsHistory.Count.ShouldEqual(1); customer.RewardPointsHistory.First().Points.ShouldEqual(1); }
public void Can_get_rewardPointsHistoryBalance() { var customer = new Customer(); customer.AddRewardPointsHistoryEntry(1, "Points for registration"); //customer.AddRewardPointsHistoryEntry(3, "Points for registration"); customer.GetRewardPointsBalance().ShouldEqual(1); }
public void Can_get_shopping_cart_total_with_applied_reward_points() { //customer var customer = new Customer() { Id = 10, }; //shopping cart var productVariant1 = new ProductVariant { Id = 1, Name = "Product variant name 1", Price = 10M, Published = true, IsShipEnabled = true, Product = new Product() { Id = 1, Name = "Product name 1", Published = true } }; var sci1 = new ShoppingCartItem() { ProductVariant = productVariant1, ProductVariantId = productVariant1.Id, Quantity = 2, }; var productVariant2 = new ProductVariant { Id = 2, Name = "Product variant name 2", Price = 12M, Published = true, IsShipEnabled = true, Product = new Product() { Id = 2, Name = "Product name 2", Published = true } }; var sci2 = new ShoppingCartItem() { ProductVariant = productVariant2, ProductVariantId = productVariant2.Id, Quantity = 3 }; var cart = new List<ShoppingCartItem>() { sci1, sci2 }; cart.ForEach(sci => sci.Customer = customer); cart.ForEach(sci => sci.CustomerId = customer.Id); _genericAttributeService.Expect(x => x.GetAttributesForEntity(customer.Id, "Customer")) .Return(new List<GenericAttribute>() { new GenericAttribute() { StoreId = _store.Id, EntityId = customer.Id, Key = SystemCustomerAttributeNames.SelectedPaymentMethod, KeyGroup = "Customer", Value = "test1" }, new GenericAttribute() { StoreId = 1, EntityId = customer.Id, Key = SystemCustomerAttributeNames.UseRewardPointsDuringCheckout, KeyGroup = "Customer", Value = true.ToString() } }); _paymentService.Expect(ps => ps.GetAdditionalHandlingFee(cart, "test1")).Return(20); _discountService.Expect(ds => ds.GetAllDiscounts(DiscountType.AssignedToCategories)).Return(new List<Discount>()); decimal discountAmount; Discount appliedDiscount; List<AppliedGiftCard> appliedGiftCards; int redeemedRewardPoints; decimal redeemedRewardPointsAmount; //shipping is taxable, payment fee is taxable _taxSettings.ShippingIsTaxable = true; _taxSettings.PaymentMethodAdditionalFeeIsTaxable = true; //reward points _rewardPointsSettings.Enabled = true; _rewardPointsSettings.ExchangeRate = 2; //1 reward point = 2 customer.AddRewardPointsHistoryEntry(15); //15*2=30 //56 - items, 10 - shipping (fixed), 20 - payment fee, 8.6 - tax, -30 (reward points) _orderTotalCalcService.GetShoppingCartTotal(cart, out discountAmount, out appliedDiscount, out appliedGiftCards, out redeemedRewardPoints, out redeemedRewardPointsAmount) .ShouldEqual(64.6M); }