public async void GetShouldReturnProducts() { // Arrange var products = new List<Product> { new Product {ProductId = 1, ProductName = "Product1"}, new Product {ProductId = 2, ProductName = "Product2"}, new Product {ProductId = 3, ProductName = "Product3"}, }; // Mock products repo var productsRepoMock = new Mock<IProductsRepository>(); productsRepoMock.Setup(m => m.GetProducts()).ReturnsAsync(products); // Mock unit of work var unitofWorkMock = new Mock<INorthwindUnitOfWork>(); unitofWorkMock.SetupGet(m => m.ProductsRepository).Returns(productsRepoMock.Object); // Create controller var productsController = new ProductsController(unitofWorkMock.Object); // Act IHttpActionResult response = await productsController.Get(); // Assert var actual = ((OkNegotiatedContentResult<IEnumerable<Product>>)response).Content; var comparer = new GenericComparer<Product>( (p1, p2) => p1.ProductId == p2.ProductId); Assert.Equal(products, actual, comparer); }
public async void GetShouldReturnProducts() { // Arrange var expected = new List<Product> { new Product {ProductId = 1, ProductName = "Product1"}, new Product {ProductId = 2, ProductName = "Product2"}, new Product {ProductId = 3, ProductName = "Product3"}, }; IProductsRepository productsRepo = new MockProductsRepository(expected); INorthwindUnitOfWork unitOfWork = new MockNorthwindUnitOfWork(productsRepo); var productsController = new ProductsController(unitOfWork); // Act IHttpActionResult response = await productsController.Get(); // Assert var actual = ((OkNegotiatedContentResult<IEnumerable<Product>>)response).Content; var comparer = new GenericComparer<Product>( (p1, p2) => p1.ProductId == p2.ProductId); Assert.Equal(expected, actual, comparer); }