public void FinancialInfo_Post() { LoanApplicationController controller = new LoanApplicationController(null); LoanApplication application = new LoanApplication() { NetWorth = 100000, Reference1Name = "test reference", Reference1Phone = "test reference phone" }; #region Mocking Controller Request // Mock Session Object Mock <HttpSessionStateBase> mockSession = new Mock <HttpSessionStateBase>(); // Mock Http Context Request for Controller // because Session doesn't exist unless MVC actually receives a "request" Mock <HttpContextBase> mockContext = new Mock <HttpContextBase>(); // When the Controller calls this.Session it will get a mock session mockContext.Setup(c => c.Session).Returns(mockSession.Object); // Assign the context property on the controller to our mock context which uses our mock session controller.ControllerContext = new ControllerContext(mockContext.Object, new RouteData(), controller); // For more details: https://dontpaniclabs.com/blog/post/2011/03/22/testing-session-in-mvc-in-four-lines-of-code/ #endregion RedirectToRouteResult result = controller.FinancialInformation(application) as RedirectToRouteResult; Assert.IsNotNull(result, "Result returned was not of type RedirectToRouteResult"); Assert.AreEqual("Review", result.RouteValues["action"]); }
public void FinancialInfo_Get() { LoanApplicationController controller = new LoanApplicationController(null); ViewResult result = controller.FinancialInformation() as ViewResult; Assert.IsNotNull(result, "Result returned was not of type ViewResult"); Assert.AreEqual("FinancialInformation", result.ViewName); }