public void Can_RetrieveProductOptions_From_ProductInIndex() { //// Arrange var merchello = new MerchelloHelper(MerchelloContext.Services); var productService = PreTestDataWorker.ProductService; var product = MockProductDataMaker.MockProductCollectionForInserting(1).First(); product.ProductOptions.Add(new ProductOption("Color")); product.ProductOptions.First(x => x.Name == "Color").Choices.Add(new ProductAttribute("Blue", "Blue")); product.ProductOptions.First(x => x.Name == "Color").Choices.Add(new ProductAttribute("Red", "Red")); product.ProductOptions.First(x => x.Name == "Color").Choices.Add(new ProductAttribute("Green", "Green")); product.ProductOptions.Add(new ProductOption("Size")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("Small", "Sm")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("Medium", "Med")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("Large", "Lg")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("X-Large", "XL")); product.Height = 11M; product.Width = 11M; product.Length = 11M; product.CostOfGoods = 15M; product.OnSale = true; product.SalePrice = 18M; product.TrackInventory = true; product.AddToCatalogInventory(_warehouse.WarehouseCatalogs.First()); productService.Save(product); foreach (var variant in product.ProductVariants) { variant.CatalogInventories.First().Count = 1; } productService.Save(product); foreach (var p in product.ProductVariants) { Assert.AreEqual(1, p.TotalInventoryCount, "Preindexed product variant count"); } _provider.AddProductToIndex(product); //// Act var productDisplay = merchello.Query.Product.GetByKey(product.Key); //// Assert Assert.NotNull(productDisplay); Assert.IsTrue(productDisplay.ProductOptions.Any()); //http://issues.merchello.com/youtrack/issue/M-604 foreach (var variant in productDisplay.ProductVariants) { Assert.AreEqual(1, variant.TotalInventoryCount); } Assert.AreEqual(12, productDisplay.TotalInventoryCount, "Total inventory count failed"); }
public void Can_RetrieveProductOptions_From_ProductInIndex() { //// Arrange var merchello = new MerchelloHelper(MerchelloContext.Services); var productService = PreTestDataWorker.ProductService; var product = MockProductDataMaker.MockProductCollectionForInserting(1).First(); product.ProductOptions.Add(new ProductOption("Color")); product.ProductOptions.First(x => x.Name == "Color").Choices.Add(new ProductAttribute("Blue", "Blue")); product.ProductOptions.First(x => x.Name == "Color").Choices.Add(new ProductAttribute("Red", "Red")); product.ProductOptions.First(x => x.Name == "Color").Choices.Add(new ProductAttribute("Green", "Green")); product.ProductOptions.Add(new ProductOption("Size")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("Small", "Sm")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("Medium", "Med")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("Large", "Lg")); product.ProductOptions.First(x => x.Name == "Size").Choices.Add(new ProductAttribute("X-Large", "XL")); product.Height = 11M; product.Width = 11M; product.Length = 11M; product.CostOfGoods = 15M; product.OnSale = true; product.SalePrice = 18M; productService.Save(product); _provider.AddProductToIndex(product); //// Act var productDisplay = merchello.Query.Product.GetByKey(product.Key); //// Assert Assert.NotNull(productDisplay); Assert.IsTrue(productDisplay.ProductOptions.Any()); }
private static void IndexProduct(IProduct product) { ProductIndexer.AddProductToIndex(product); }