Пример #1
0
        public void CanLoginWithValidCredentials()
        {
            var mock = new Mock<IAuthProvider>();
            mock.Setup(m => m.Authenticate("admin", "12345"))
                .Returns(true);

            var model = new LoginViewModel()
            {
                UserName = "******",
                Password = "******"
            };

            var target = new AccountController(mock.Object);

            const string returnUrl = "/MyUrl";
            var result = target.Login(model, returnUrl);

            Assert.IsInstanceOfType(result, typeof(RedirectResult));
            Assert.AreEqual(returnUrl, ((RedirectResult)result).Url);
        }
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (_authProvider.Authenticate(model.UserName, model.Password))
                {
                    return Redirect(returnUrl ?? Url.Action("Index", "Admin"));
                }
                else
                {
                    ModelState.AddModelError("", "Неправильный логин и пароль");

                    return View();
                }
            }
            else
            {
                return View();
            }
        }
Пример #3
0
        public void CannotLoginWithInvalidCredentials()
        {
            var mock = new Mock<IAuthProvider>();
            mock.Setup(m => m.Authenticate("badUser", "badPass"))
                .Returns(false);

            var model = new LoginViewModel()
            {
                UserName = "******",
                Password = "******"
            };

            var target = new AccountController(mock.Object);

            const string returnUrl = "/MyUrl";
            var result = target.Login(model, returnUrl);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.IsFalse(((ViewResult)result).ViewData.ModelState.IsValid);
        }