Exemple #1
0
        public void GetIndividualProduct()
        {
            var mockRepository = new Mock <ProductRepository>();

            mockRepository.Setup(mock => mock.FindById(1))
            .ReturnsAsync(new Product {
                Id = 1, Name = "test", Quantity = 1, SalesAmount = 2
            });

            OkNegotiatedContentResult <ProductDetailsResponse> response = null;

            Task.Run(() =>
            {
                var controller = new ProductApiController(mockRepository.Object)
                {
                    Request       = new HttpRequestMessage(),
                    Configuration = new HttpConfiguration()
                };

                response = controller.Details(1).GetAwaiter().GetResult() as OkNegotiatedContentResult <ProductDetailsResponse>;
            }
                     ).GetAwaiter().GetResult();

            mockRepository.Verify(mock => mock.FindById(1), Times.Once());
            Assert.IsNotNull(response);
            Assert.AreEqual(1, response.Content.Product.Id);
            Assert.AreEqual("test", response.Content.Product.Name);
        }