Пример #1
0
        public ActionResult Index(SetEmailViewModel model)
        {
            var user = userRepository.GetByEmail(model.UserEmail);
            if (user != null && user.AuthData.IsCompleted)
            {
                mailController.LoginEmail(user).Deliver();
                return View("PleaseCheckEmail");
            }

            user = user ?? new User {Email = model.UserEmail};
            userRepository.Save(user);
            context.UserId = user.Id;

            // 3. Then they are forwarded to Twitter to get authorization
            var uri = twitterFactory.GetAuthorizationUri();
            return RedirectPermanent(uri.ToString());
        }
Пример #2
0
            public void It_sets_email__saves_and_redirects_to_twitter()
            {
                mocker.Setup<IUserRepository>(x => x.Save(It.IsAny<User>())).Callback<User>(u =>
                    {
                        u.Id = BsonObjectId.Empty;
                        u.Email.ShouldEqual("*****@*****.**");
                    });
                mocker.Setup<ITwitterFactory>(x => x.GetAuthorizationUri()).Returns(new Uri("http://twitter"));

                var viewModel = new SetEmailViewModel {UserEmail = "*****@*****.**"};
                Sut.Index(viewModel).ShouldBeType<RedirectResult>();

                mocker.VerifyAll();
                mocker.GetMock<IContext>().VerifySet(x => x.UserId);
            }
Пример #3
0
            public void It_redirects_to_twitter_when_twitter_creds_arent_complete()
            {
                // user is NOT NULL but also invalid creds. Probably backed out of a signup before
                mocker.Setup<IUserRepository>(x => x.GetByEmail("*****@*****.**")).Returns(new User());
                mocker.Setup<ITwitterFactory>(x => x.GetAuthorizationUri()).Returns(new Uri("http://twitter"));

                var viewModel = new SetEmailViewModel {UserEmail = "*****@*****.**"};
                Sut.Index(viewModel).ShouldBeType<RedirectResult>();

                mocker.VerifyAll();
                mocker.GetMock<IContext>().VerifySet(x => x.UserId);
            }