Exemplo n.º 1
0
        public async void ShouldRedirectBackWhenCorrectLogin()
        {
            LoginModel model = new LoginModel();

            model.ReturnUrl = "a";
            model.Login     = "******";
            model.Password  = "******";

            IAuthenticator authenticator = MockRepository.GenerateStub <IAuthenticator>();

            authenticator.Stub(s => s.Login(model)).Return(Task <bool> .FromResult(true));

            UrlHelper urlHelper = MockRepository.GenerateStub <UrlHelper>();

            urlHelper.Stub(s => s.Content(model.ReturnUrl)).Return(model.ReturnUrl);

            LoginController controller = new LoginController(authenticator);

            controller.Url = urlHelper;

            ActionResult result = await controller.Login(model);

            authenticator.AssertWasCalled(s => s.Login(model));
            RedirectResult redirect = result as RedirectResult;

            Assert.AreEqual(model.ReturnUrl, redirect.Url);
        }
Exemplo n.º 2
0
        public void ShouldCallAuthenticatorAndReturnLoginViewWhenLogoff()
        {
            IAuthenticator  authenticator = MockRepository.GenerateStub <IAuthenticator>();
            LoginController controller    = new LoginController(authenticator);

            ActionResult result = controller.Logout();

            authenticator.AssertWasCalled(a => a.Logout());
            RedirectToRouteResult redirect = result as RedirectToRouteResult;

            Assert.AreEqual(MVC.Login.Views.ViewNames.Login, redirect.RouteValues["action"]);
        }
Exemplo n.º 3
0
        public async void ShouldReturnLoginViewWhenUncorrectLogin()
        {
            LoginModel model = new LoginModel();

            model.ReturnUrl = "a";
            model.Login     = "******";
            model.Password  = "******";

            IAuthenticator authenticator = MockRepository.GenerateStub <IAuthenticator>();

            authenticator.Stub(s => s.Login(model)).Return(Task <bool> .FromResult(false));

            LoginController controller = new LoginController(authenticator);
            ActionResult    result     = await controller.Login(model);

            authenticator.AssertWasCalled(s => s.Login(model));
            ViewResult view = result as ViewResult;

            Assert.IsNullOrEmpty(view.ViewName);
            Assert.IsNullOrEmpty(model.Password);
            Assert.IsFalse(controller.ModelState.IsValid);
        }