public void AddProductNoActiveTransaction() { Mock <DataContext> dbMock = new Mock <DataContext>(); Mock <ITransactionManager> transactionManagerMock = new Mock <ITransactionManager>(); TransactionController controller = new TransactionController(dbMock.Object, transactionManagerMock.Object); // arrange IActionResult result = controller.AddProduct(); // assert Assert.IsType <RedirectToActionResult>(result); }
public void AddProductActiveTransaction() { Mock <DataContext> dbMock = new Mock <DataContext>(); dbMock.Setup(q => q.Products).Returns(new[] { new Product() { Id = 1, Name = "Poster van Marcel van de Beek", PointsWorth = 7, }, new Product() { Id = 2, Name = "Noud zijn t-shirt", PointsWorth = 10, }, new Product() { Id = 3, Name = "CD van Nick en Simon", PointsWorth = 1, } }.AsQueryable().BuildMockDbSet().Object); Mock <ITransactionManager> transactionManagerMock = new Mock <ITransactionManager>(); transactionManagerMock.SetupGet(q => q.ActiveTransaction).Returns(new Transaction() { TransactionId = 1 }); TransactionController controller = new TransactionController(dbMock.Object, transactionManagerMock.Object); // arrange IActionResult result = controller.AddProduct(); // assert ViewResult viewResult = Assert.IsType <ViewResult>(result); var viewModel = Assert.IsAssignableFrom <TransactionAddProductViewModel>(viewResult.ViewData.Model); Assert.Equal(3, viewModel.Products.Count()); }