Esempio n. 1
0
        public void Signup_Action_When_The_User_Model_Is_Valid_Returns_RedirectToRouteResult()
        {
            // Arrange
            const string expectedActionName = "Login";
            const string expectedControllerName = "Account";

            var registeredUser = new UserRegisterViewModel { Email = "*****@*****.**", Password = "******".Hash() };

            var confirmation = new ActionConfirmation<User>
                                   {
                                       WasSuccessful = true,
                                       Message = "",
                                       Value = new User()
                                   };
            _userService.Setup(r => r.AddUser(It.IsAny<User>(), It.IsAny<AccountType>())).Returns(confirmation);

            _accountController = new AccountController(_userService.Object, _mappingService.Object, _authenticationService.Object);

            // Act
            var result = _accountController.Signup(registeredUser) as RedirectToRouteResult;

            // Assert

            Assert.IsNotNull(result, "Should have returned a RedirectToRouteResult");
            Assert.AreEqual(expectedActionName, result.RouteValues["Action"], "Action name should be {0}", expectedActionName);
            Assert.AreEqual(expectedControllerName, result.RouteValues["Controller"], "Controller name should be {0}", expectedControllerName);
        }
Esempio n. 2
0
        public void Signup_Action_Get_Returns_Signup_View()
        {
            // Arrange
            const string expectedViewName = "~/Views/Account/Signup.cshtml";
            var controller = new AccountController(_userService.Object, _mappingService.Object, _authenticationService.Object);

            // Act
            var result = controller.Signup() as ViewResult;

            // Assert
            Assert.IsNotNull(result, "should have returned a ViewResult");
            Assert.AreEqual(expectedViewName, result.ViewName, "View name should have been {0}", expectedViewName);
        }