public void Index_NormalRequest_Returns_Index_With_Expense_List() { // Arrange Mock <HttpRequestBase> request = new Mock <HttpRequestBase>(); Mock <HttpResponseBase> response = new Mock <HttpResponseBase>(); Mock <HttpContextBase> context = new Mock <HttpContextBase>(); context.Setup(c => c.Request).Returns(request.Object); context.Setup(c => c.Response).Returns(response.Object); IEnumerable <Expense> fakeExpenses = GetMockExpenses(); expenseRepository.Setup(x => x.GetMany(It.IsAny <Expression <Func <Expense, bool> > >())).Returns(fakeExpenses); ExpenseController controller = new ExpenseController(commandBus.Object, categoryRepository.Object, expenseRepository.Object); controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); // Act var result = controller.Index(null, null) as ViewResult; // Assert Assert.AreEqual("Index", result.ViewName); Assert.IsNotNull(result, "View Result is null"); Assert.IsInstanceOf(typeof(IEnumerable <Expense>), result.ViewData.Model, "Wrong View Model"); var expenses = result.ViewData.Model as IEnumerable <Expense>; Assert.AreEqual(3, expenses.Count(), "Got wrong number of Categories"); }
public void MappingService_ShouldCallMapOnce_WhenIndexIsCalled() { // Arrange var expenseController = new ExpenseController(expenseServiceMock.Object, mappingServiceMock.Object, householdServiceMock.Object, webHelperMock.Object); var expense = new Expense("_", new Guid(), "_", new Guid(), 1M, DateTime.Now, DateTime.Now); this.expenseServiceMock.Setup(x => x.GetExpense(It.IsAny <Guid>())).Returns(expense); // Act expenseController.Index(new Guid()); // Assert mappingServiceMock.Verify(x => x.Map <ExpenseViewModel>(It.IsAny <Expense>()), Times.Once); }