public void CartService_TransformCart_WorkCorrect() { var cart = new Cart { Items = new List <CartItem> { new CartItem { ProductId = 1, Quantity = 1 }, new CartItem { ProductId = 2, Quantity = 5 } } }; int expected_count_item = 10; var products = new PagedProductDTO { Products = Enumerable.Range(0, expected_count_item) .Select(i => new ProductDTO { Id = i, Name = $"Product {i}", Price = 100m, Order = 0, ImageUrl = $"Product{i}.png", Brand = new BrandDTO { Id = 1, Name = "BrandName" }, Category = new CategoryDTO { Id = 1, Name = "CategoryName" } }), TotalCount = expected_count_item }; var product_data_mock = new Mock <IProductService>(); product_data_mock .Setup(c => c.GetProducts(It.IsAny <ProductFilter>())) .Returns(products); var cart_store_mock = new Mock <ICartStore>(); cart_store_mock .Setup(c => c.Cart) .Returns(cart); var cart_service = new CookieCartService(product_data_mock.Object, cart_store_mock.Object); var result = cart_service.TransformCart(); Assert.Equal(6, result.ItemsCount); Assert.Equal(100m, result.Items.First().Key.Price); }
public void TransformCart_Works_Correctly() { var cart = new Cart { Items = new List <CartItem> { new CartItem { ProductId = 1, Quantity = 4 } } }; var products = new List <ProductDTO> { new ProductDTO { Id = 1, ImageUrl = "image1.jpg", Name = "Test", Order = 0, Price = 1.11m } }; var model = new PagedProductDTO { Products = products }; var product_data_mock = new Mock <IProductData>(); product_data_mock .Setup(c => c.GetProducts(It.IsAny <ProductFilter>())).Returns(model); var cart_store_mock = new Mock <ICartStore>(); cart_store_mock.Setup(c => c.Cart).Returns(cart); var cart_service = new CartService(product_data_mock.Object, cart_store_mock.Object); var result = cart_service.TransformCart(); Assert.Equal(4, result.ItemsCount); Assert.Equal(1.11m, result.Items.First().Key.Price); }
public void Products_Return_Correct_View() { var product = new[] { new ProductDTO { Id = 1, Name = "Item 1", Price = 10m, ImageUrl = "image_id_1.png", Order = 0, Brand = new BrandDTO { Id = 1, Name = "Brand of item 1" } }, new ProductDTO { Id = 2, Name = "Item 2", Price = 12m, ImageUrl = "image_id_2.png", Order = 0, Brand = new BrandDTO { Id = 2, Name = "Brand of item 2" } } }; var pageProduct = new PagedProductDTO { Products = product, TotalCount = product.Length }; var product_service_mock = new Mock <IProductService>(); product_service_mock .Setup(p => p.GetProducts(It.IsAny <ProductFilter>())) .Returns <ProductFilter>(filter => new PagedProductDTO { Products = product, TotalCount = product.Length }); var configuration_mock = new Mock <IConfiguration>(); configuration_mock .Setup(c => c[It.IsAny <string>()]) .Returns("3"); var controller = new CatalogController(product_service_mock.Object, configuration_mock.Object); const int expected_category_id = 1; const int expected_brand_id = 5; var result = controller.Products(expected_category_id, expected_brand_id); var view_result = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <CatalogViewModel>(view_result.ViewData.Model); Assert.Equal(2, model.Products.Count()); Assert.Equal(expected_brand_id, model.BrandId); Assert.Equal(expected_category_id, model.CategoryId); Assert.Equal("Brand of item 1", model.Products.First().BrandName); }