示例#1
0
        public void GetRegister()
        {
            var userService = new Mock<IUserService>();
            var authProvider = new Mock<IAuthProvider>();
            var target = new UserController(userService.Object, authProvider.Object);

            ViewResult result = (ViewResult) target.Register();

            result.ViewName.Should().Be("");
        }
示例#2
0
        public void TryToLoginWithFalseAuthentication()
        {
            var userService = new Mock<IUserService>();

            var authProvider = new Mock<IAuthProvider>();
            authProvider.Setup(x => x.Authenticate(It.IsAny<string>(), It.IsAny<string>())).Returns(false);

            var target = new UserController(userService.Object, authProvider.Object);

            var result = target.Login(new UserLoginViewModel() { Login = "******", Password="******" });

            result.GetType().Should().Be(typeof(ViewResult));
        }
示例#3
0
        public void TryToRegisterWithInvalidData()
        {
            using (TransactionScope scope = new TransactionScope())
            {
                var userService = new Mock<IUserService>();
                var authProvider = new Mock<IAuthProvider>();
                var target = new UserController(userService.Object, authProvider.Object);

                target.ModelState.AddModelError("error", "error");

                var user = new UserRegisterViewModel();

                target.Register(user);

                userService.Verify(x => x.Create(It.IsAny<User>()), Times.Never());
            }
        }
示例#4
0
        public void TryToRegisterWithValidData()
        {
            using (TransactionScope scope = new TransactionScope())
            {
                var userService = new Mock<IUserService>();
                var authProvider = new Mock<IAuthProvider>();
                var target = new UserController(userService.Object, authProvider.Object);

                var user = new UserRegisterViewModel()
                {
                    Login = "******",
                    Email = "*****@*****.**",
                    Password = "******",
                    PasswordRepeated = "1234"
                };

                target.Register(user);

                userService.Verify(x => x.Create(It.IsAny<User>()), Times.Once());
            }
        }
示例#5
0
        public void GetLogout()
        {
            var userService = new Mock<IUserService>();
            var authProvider = new Mock<IAuthProvider>();

            var target = new UserController(userService.Object, authProvider.Object);

            var result = target.Logout();

            result.GetType().Should().Be(typeof(RedirectToRouteResult));
        }
示例#6
0
        public void GetForgot()
        {
            var userService = new Mock<IUserService>();
            var authProvider = new Mock<IAuthProvider>();

            var target = new UserController(userService.Object, authProvider.Object);

            var result = target.Forgot();

            result.GetType().Should().Be(typeof(ViewResult));
        }
示例#7
0
        public void TryToRecoverPasswordWithInvalidData()
        {
            var userService = new Mock<IUserService>();

            var authProvider = new Mock<IAuthProvider>();
            authProvider.Setup(x => x.Authenticate(It.IsAny<string>(), It.IsAny<string>())).Returns(true);

            var target = new UserController(userService.Object, authProvider.Object);
            target.ModelState.AddModelError("error", "error");

            var result = target.Forgot(new UserForgotPasswordViewModel() { });

            result.GetType().Should().Be(typeof(ViewResult));
        }
        public void TryChangePasswordWithValidData()
        {
            var userService = new Mock<IUserService>();
            var authProvider = new Mock<IAuthProvider>();

            var target = new UserController(userService.Object, authProvider.Object);

            var context = new Mock<HttpContextBase>();
            context.Setup(x => x.User.Identity.Name).Returns("abcd");

            target.ControllerContext = new ControllerContext
            {
                HttpContext = context.Object
            };

            target.ModelState.AddModelError("Error", "Error");

            var result = target.ChangePassword(new UserChangePasswordViewModel());

            result.GetType().Should().Be(typeof(ViewResult));
        }