Ejemplo n.º 1
0
        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);
        }