Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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"]);
        }