コード例 #1
0
        public async Task ReturnCorrectExternalUserInformationWhenTwitterAccountIsNull()
        {
            var sut    = new TwitterExternalUserInformationProvider(Mock.Of <ITwitterService>());
            var result = await sut.GetExternalUserInformation(new ExternalLoginInfo(new ClaimsPrincipal(), null, null, null));

            Assert.Null(result.FirstName);
            Assert.Null(result.LastName);
        }
コード例 #2
0
        private static TwitterExternalUserInformationProvider CreateSut(Mock <ILogger <TwitterExternalUserInformationProvider> > logger = null)
        {
            if (logger == null)
            {
                logger = new Mock <ILogger <TwitterExternalUserInformationProvider> >();
            }

            var sut = new TwitterExternalUserInformationProvider(logger.Object);

            return(sut);
        }
コード例 #3
0
        public async Task ReturnCorrectExternalUserInformationWhenUserNameHasNoWhiteSpace()
        {
            var twitterRepository = new Mock <ITwitterService>();

            twitterRepository.Setup(x => x.GetTwitterAccount(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(new TwitterUserInfo());

            var sut    = new TwitterExternalUserInformationProvider(twitterRepository.Object);
            var result = await sut.GetExternalUserInformation(new ExternalLoginInfo(new ClaimsPrincipal(), null, null, null));

            Assert.Null(result.FirstName);
            Assert.Null(result.LastName);
        }
        public async Task InvokeGetTwitterAccountWithCorrectParameters()
        {
            const string userId     = "UserId";
            const string screenName = "ScreenName";

            var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(new[]
            {
                new Claim("urn:twitter:userid", userId),
                new Claim("urn:twitter:screenname", screenName)
            }));

            var twitterRepository = new Mock <ITwitterRepository>();

            var sut = new TwitterExternalUserInformationProvider(twitterRepository.Object);
            await sut.GetExternalUserInformation(new ExternalLoginInfo(claimsPrincipal, null, null, null));

            twitterRepository.Verify(x => x.GetTwitterAccount(userId, screenName), Times.Once);
        }
        public async Task ReturnCorrectExternalUserInformationWhenTwitterUserNameIsEmpty()
        {
            const string email = "email";

            var twitterRepository = new Mock <ITwitterRepository>();

            twitterRepository.Setup(x => x.GetTwitterAccount(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(new Account {
                User = new User {
                    Name = string.Empty, Email = email
                }
            });

            var sut    = new TwitterExternalUserInformationProvider(twitterRepository.Object);
            var result = await sut.GetExternalUserInformation(new ExternalLoginInfo(new ClaimsPrincipal(), null, null, null));

            Assert.Equal(result.Email, email);
            Assert.Null(result.FirstName);
            Assert.Null(result.LastName);
        }