Пример #1
0
        public void SaveProducts()
        {
            var mockRepository = new Mock <ProductRepository>();

            mockRepository.Setup(mock => mock.SaveAsync(It.IsAny <List <Product> >()))
            .Returns(Task.CompletedTask);

            List <ProductDto> dtoList = new List <ProductDto>();

            dtoList.Add(new ProductDto {
                Name = "test", Quantity = 1, SalesAmount = 2
            });
            dtoList.Add(new ProductDto {
                Name = "test2", Quantity = 2, SalesAmount = 20
            });

            OkNegotiatedContentResult <RestResponse> response = null;

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

                response = controller.Save(dtoList).GetAwaiter().GetResult() as OkNegotiatedContentResult <RestResponse>;
            }
                     ).GetAwaiter().GetResult();

            mockRepository.Verify(mock => mock.SaveAsync(It.IsAny <List <Product> >()), Times.Once());
            Assert.IsNotNull(response);
            Assert.IsFalse(String.IsNullOrWhiteSpace(response.Content.Id));
            Assert.IsTrue(response.Content.Timestamp > 0);
        }