public MultipleProductSearchResults GetMultipleProductList(Item datasource, Rendering currentRendering, CommerceSearchOptions productSearchOptions) { var multipleProductSearchResults = GetMultipleProductSearchResults(datasource, productSearchOptions); if (multipleProductSearchResults != null) { multipleProductSearchResults.Initialize(currentRendering); multipleProductSearchResults.DisplayName = datasource.DisplayName; var products = multipleProductSearchResults.ProductSearchResults.SelectMany(productSearchResult => productSearchResult.Products).ToList(); _catalogManager.GetProductBulkPrices(this.CurrentVisitorContext, products); _inventoryManager.GetProductsStockStatusForList(this.CurrentStorefront, products); foreach (var productViewModel in products) { Item productItem = multipleProductSearchResults.SearchResults .SelectMany(productSearchResult => productSearchResult.SearchResultItems) .FirstOrDefault(item => item.Name == productViewModel.ProductId); productViewModel.CustomerAverageRating = _catalogManager.GetProductRating(productItem); } } return(multipleProductSearchResults); }
public void GetGiftCardViewModel_should_apply_GiftCardSpecialHandling_For_NonGiftCardItems(Database db) { //arrange Item fakeItem = BuildFakeItem(db); MockContexts(db); decimal testRating = new decimal(5.0); _catalogManagerMock.GetProductRating(fakeItem).Returns(testRating); var rep = new GiftCardRepository(_accountManagerMock, _contactFactoryMock, _catalogManagerMock); // act var product = rep.GetGiftCardViewModel(fakeItem, new Rendering()); // assert product.CustomerAverageRating.Should().Be(testRating); }