public void Can_Delete_Valid_Products() { // Arrange Product prod = new Product { ProductID = 2, Name = "Test" }; Mock<IProductsRepository> mock = new Mock<IProductsRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1"}, prod, new Product { ProductID = 3, Name = "P3"} }.AsQueryable()); AdminController target = new AdminController(mock.Object); // Act target.Delete(prod.ProductID); // Assert mock.Verify(m => m.DeleteProduct(prod)); }
public void Cannot_Delete_Invalid_Products() { // Arrange Mock<IProductsRepository> mock = new Mock<IProductsRepository>(); mock.Setup(m => m.Products).Returns(new Product[] { new Product { ProductID = 1, Name = "P1"}, new Product { ProductID = 2, Name = "P2"}, new Product { ProductID = 3, Name = "P3"} }.AsQueryable()); AdminController target = new AdminController(mock.Object); // Act target.Delete(100); // Assert mock.Verify(m => m.DeleteProduct(It.IsAny<Product>()), Times.Never()); }