Пример #1
0
        public void GetProductByKeysReturnsCorrectItemsFromRepository()
        {
            //// Arrange
            Guid          productKey    = Guid.NewGuid();
            ProductActual productActual = CreateFakeProduct(productKey, 20.0M);

            Guid          productKey2 = Guid.NewGuid();
            ProductActual product2    = CreateFakeProduct(productKey2, 30.0M);

            Guid          productKey3 = Guid.NewGuid();
            ProductActual product3    = CreateFakeProduct(productKey3, 40.0M);

            List <ProductActual> productsList = new List <ProductActual>();

            productsList.Add(productActual);
            productsList.Add(product3);

            var productKeys = new[] { productKey, productKey3 };

            var MockProductService = new Mock <IProductService>();

            MockProductService.Setup(cs => cs.GetByKeys(productKeys)).Returns(productsList);

            MerchelloContext merchelloContext = GetMerchelloContext(MockProductService.Object);

            ProductApiController ctrl = new ProductApiController(merchelloContext, tempUmbracoContext);

            //// Act
            var result = ctrl.GetProducts(productKeys);

            //// Assert
            Assert.AreEqual(productsList, result);
        }
Пример #2
0
        public void GetAllProductIds()
        {
            var mockRepository = new Mock <ProductRepository>();
            var listIds        = new List <long>();

            listIds.Add(1);
            listIds.Add(2);
            mockRepository.Setup(mock => mock.GetAllIds()).Returns(listIds);

            OkNegotiatedContentResult <AllProductsRestResponse> response = null;
            var controller = new ProductApiController(mockRepository.Object)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };

            controller.Request.RequestUri = new Uri("http://localhost/fake-api");
            response = controller.GetProducts() as OkNegotiatedContentResult <AllProductsRestResponse>;


            mockRepository.Verify(mock => mock.GetAllIds(), Times.Once());
            Assert.AreEqual(2, response.Content.Products.Count);
            var firstProduct  = response.Content.Products.Find(a => a.Id == 1);
            var secondProduct = response.Content.Products.Find(a => a.Id == 2);

            Assert.IsNotNull(firstProduct);
            Assert.IsNotNull(secondProduct);
            Assert.IsTrue(firstProduct.DetailsUrl.Equals(controller.Request.RequestUri + "/1", StringComparison.OrdinalIgnoreCase));
            Assert.IsTrue(secondProduct.DetailsUrl.Equals(controller.Request.RequestUri + "/2", StringComparison.OrdinalIgnoreCase));
        }