public void QuantityUpdate_SkuNotFound() { var testsku = Testsku; var skusQuantities = new Dictionary <string, int> { { testsku, 3 } }; var variation = new WooCommerceVariation { Id = 1, Sku = "another sku", Quantity = 1, ManagingStock = true }; var result = new QuantityUpdate(variation, skusQuantities); Assert.IsFalse(result.IsUpdateNeeded); }
public void VariationsToUpdate_Dictionary_ToJson() { var productId = new ProductId(3); const string sku = "testsku"; const int quantity = 213; var variation = new WooCommerceVariation { Sku = sku, Quantity = quantity }; var skusQuantities = new Dictionary <string, int> { { sku, quantity } }; IEnumerable <QuantityUpdate> quantityUpdate = new List <QuantityUpdate> { new QuantityUpdate(variation, skusQuantities) }; var variationsToUpdate = new Dictionary <ProductId, IEnumerable <QuantityUpdate> > { { productId, quantityUpdate } }; var json = variationsToUpdate.Select(x => new { ProductId = x.Key.Id, Variations = x.Value }).ToJson(); var deserialized = JsonConvert.DeserializeObject <IEnumerable <ProductVariationsForJson> >(json).ToList(); deserialized.Count.Should().Be(variationsToUpdate.Count); var firstItem = deserialized.First(); firstItem.ProductId.Should().Be(productId.Id); var firstVariation = firstItem.Variations.First(); firstVariation.Should().BeEquivalentTo(quantityUpdate.First()); }
public void QuantityUpdate_CaseInsensitiveSkuUpdatesInventory() { var skusQuantities = new Dictionary <string, int> { { Testsku, 3 } }; var testSkuUpper = Testsku.ToUpper(); var variation = new WooCommerceVariation { Id = 1, Sku = testSkuUpper, Quantity = 1, ManagingStock = true }; var result = new QuantityUpdate(variation, skusQuantities); Assert.IsTrue(result.IsUpdateNeeded); Assert.AreEqual(variation.Id, result.Id); Assert.AreEqual(variation.Sku.ToLower(), result.Sku.ToLower()); Assert.AreEqual(skusQuantities[Testsku], result.Quantity); }
public void QuantityUpdate_BlankQuantityInWooCommerce() { var testsku = Testsku; var skusQuantities = new Dictionary <string, int> { { testsku, 3 } }; var variation = new WooCommerceVariation { Id = 1, Sku = testsku, Quantity = null, ManagingStock = true }; var result = new QuantityUpdate(variation, skusQuantities); Assert.IsTrue(result.IsUpdateNeeded); Assert.AreEqual(variation.Id, result.Id); Assert.AreEqual(variation.Sku, result.Sku); Assert.AreEqual(skusQuantities[testsku], result.Quantity); }