public void Start_Get() { LoanApplicationController controller = new LoanApplicationController(null); ViewResult result = controller.Start() as ViewResult; Assert.IsNotNull(result, "Result returned was not of type ViewResult"); Assert.AreEqual("Start", result.ViewName); }
public void Start_Post() { // Arrange LoanApplicationController controller = new LoanApplicationController(null); LoanApplication application = new LoanApplication() { FirstName = "Test", LastName = "Test", LogonUsername = "******" }; #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 // Act RedirectToRouteResult result = controller.Start(application) as RedirectToRouteResult; // Assert Assert.IsNotNull(result, "Result returned was not of type RedirectToRouteResult"); Assert.AreEqual("PersonalContactInformation", result.RouteValues["action"]); }