private bool VerifyMergedCart(UpdateCartParam param) { param.Shipments.First().LineItems.Count().ShouldBeEquivalentTo(1); var lineItem1 = param.Shipments.First().LineItems.FirstOrDefault(x => x.ProductId == "P1"); lineItem1.Should().NotBeNull(); lineItem1.Quantity.ShouldBeEquivalentTo(1); return(true); }
public Task <ProcessedCart> UpdateCartAsync(UpdateCartParam param) { var processedCart = new ProcessedCart { CultureName = param.CultureInfo.Name, CustomerId = param.CustomerId, ScopeId = param.Scope, Name = param.CartName, BillingCurrency = param.BillingCurrency, CartType = param.CartType, Coupons = param.Coupons, Customer = param.Customer, OrderLocation = param.OrderLocation, PropertyBag = param.PropertyBag, Shipments = param.Shipments, Status = param.Status, }; return(Task.FromResult(processedCart)); }
/// <summary> /// Update the Cart with new information /// </summary> /// <param name="param"></param> /// <returns></returns> public virtual Task <ProcessedCart> UpdateCartAsync(UpdateCartParam param) { var request = new UpdateCartRequest { CultureName = param.CultureInfo != null ? param.CultureInfo.Name : null, CustomerId = param.CustomerId, ScopeId = param.Scope, CartName = param.CartName, BillingCurrency = param.BillingCurrency, CartType = param.CartType, Coupons = param.Coupons, Customer = param.Customer, OrderLocation = param.OrderLocation, PropertyBag = param.PropertyBag, Shipments = param.Shipments, Status = param.Status, Payments = param.Payments }; var cacheKey = BuildCartCacheKey(param.Scope, param.CustomerId, param.CartName); return(CacheProvider.ExecuteAndSetAsync(cacheKey, () => OvertureClient.SendAsync(request))); }