public AccessTokensControllerTests() { var userData = new List <User> { new User { email = "*****@*****.**", name = "John Doe", password = "******", refresh_token = "test_refresh_token" }, }.AsQueryable(); var userMockSet = new Mock <DbSet <User> >(); userMockSet.As <IAsyncEnumerable <User> >().Setup(m => m.GetEnumerator()).Returns(new TestAsyncEnumerator <User>(userData.GetEnumerator())); userMockSet.As <IQueryable <User> >().Setup(m => m.Provider).Returns(new TestAsyncQueryProvider <User>(userData.Provider)); userMockSet.As <IQueryable <User> >().Setup(m => m.Expression).Returns(userData.Expression); userMockSet.As <IQueryable <User> >().Setup(m => m.ElementType).Returns(userData.ElementType); userMockSet.As <IQueryable <User> >().Setup(m => m.GetEnumerator()).Returns(userData.GetEnumerator()); _userRepositoryMock.Setup(m => m.Query()).Returns(userMockSet.Object.AsQueryable()); var mockCtx = new Mock <IdeasDbContext>(); mockCtx.SetupGet(c => c.Users).Returns(userMockSet.Object); _configurationMock.Setup(c => c["Jwt:Key"]).Returns("veryVerySecretTestKey"); _configurationMock.Setup(c => c["Jwt:Issuer"]).Returns("http://52.202.84.134:5000/"); _accessTokensController = new AccessTokensController(_configurationMock.Object, _userRepositoryMock.Object); }
public async Task TestThatRefreshTokenCallsUserManagerToGetUser() { //arrange var sut = new AccessTokensController(userManager, tokenManager); //act await sut.Refresh(model); //assert A.CallTo(() => userManager.FindByRefreshToken(model.refresh_token)).MustHaveHappenedOnceExactly(); }
public AccessControllerSignoutTests() { userManager = A.Fake <IUserManager>(); tokenManager = A.Fake <ITokenManager>(); model = new SignoutViewModel() { refresh_token = "abc123" }; sut = new AccessTokensController(userManager, tokenManager); }
public AccessControllerSigninTests() { userManager = A.Fake <IUserManager>(); tokenManager = A.Fake <ITokenManager>(); model = new SigninViewModel() { email = "test", password = "******" }; sut = new AccessTokensController(userManager, tokenManager); }
public async Task TestThatIfUserNotFoundA400ErrorIsReturned() { //arrange A.CallTo(() => userManager.FindByRefreshToken(A <string> .Ignored)).Returns(null); var sut = new AccessTokensController(userManager, tokenManager); //act var result = await sut.Refresh(model); //assert Assert.IsType <BadRequestResult>(result); }
public async Task TestThatIfUserIsFoundTokenIsGenerated() { //arrange var user = new User() { UserName = "******" }; A.CallTo(() => userManager.FindByRefreshToken(A <string> .Ignored)).Returns(user); var sut = new AccessTokensController(userManager, tokenManager); //act await sut.Refresh(model); //assert A.CallTo(() => tokenManager.GenerateTokenResponse(user.UserName, false)).MustHaveHappenedOnceExactly(); }
public async Task TestThatGeneratedTokenIsReturnedIn200Response() { //arrange var user = new User() { UserName = "******" }; A.CallTo(() => userManager.FindByRefreshToken(A <string> .Ignored)).Returns(user); A.CallTo(() => tokenManager.GenerateTokenResponse(user.UserName, false)).Returns( new TokenResponse() { jwt = "abc" }); var sut = new AccessTokensController(userManager, tokenManager); //act var result = await sut.Refresh(model); //assert Assert.IsType <OkObjectResult>(result); }