public void WorkContactInfo_Get() { LoanApplicationController controller = new LoanApplicationController(null); ViewResult result = controller.WorkContactInformation() as ViewResult; Assert.IsNotNull(result, "Result returned was not of type ViewResult"); Assert.AreEqual("WorkContactInformation", result.ViewName); }
public void WorkContactInfo_Post() { LoanApplicationController controller = new LoanApplicationController(null); LoanApplication application = new LoanApplication() { WorkAddress = "test address", WorkCity = "test city", WorkPhone = "test phone", WorkState = "test state", WorkPostalCode = "test postal", JobTitle = "test title" }; #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.WorkContactInformation(application) as RedirectToRouteResult; Assert.IsNotNull(result, "Result returned was not of type RedirectToRouteResult"); Assert.AreEqual("FinancialInformation", result.RouteValues["action"]); }