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); }
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); }
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); }