public async void Handle_GivenValidToken_ShouldReturnObject() { // arrange var mockJwtTokenValidator = new Mock <IJwtTokenValidator>(); mockJwtTokenValidator.Setup(validator => validator.GetPrincipalFromToken(It.IsAny <string>(), It.IsAny <string>())).Returns(new ClaimsPrincipal(new[] { new ClaimsIdentity(new [] { new Claim("id", "111-222-333") }) })); const string refreshToken = "1234"; var userId = Guid.NewGuid(); var user = new User(userId, "", "", "", "", ""); user.AddRefreshToken(refreshToken, userId, ""); var presenter = new ExchangeRefreshTokenPresenter(); var mockUserRepository = new Mock <IUserRepository>(); mockUserRepository.Setup(repo => repo.GetSingleBySpec(It.IsAny <UserSpecification>())).ReturnsAsync(user); var mockJwtFactory = new Mock <IJwtFactory>(); mockJwtFactory.Setup(factory => factory.GenerateEncodedToken(It.IsAny <string>(), It.IsAny <string>())).ReturnsAsync(new AccessToken("", 0)); var mockTokenFactory = new Mock <ITokenFactory>(); mockTokenFactory.Setup(factory => factory.GenerateToken(32)).Returns(""); var mockOutputPort = new Mock <IOutputPort <ExchangeRefreshTokenResponse> >(); mockOutputPort.Setup(outputPort => outputPort.Handle(It.IsAny <ExchangeRefreshTokenResponse>())); var mockMediatorHandler = new Mock <IMediatorHandler>(); var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(uow => uow.Commit()).Returns(true); var notificationHandler = new DomainNotificationHandler(); var handler = new ExchangeRefreshTokenHandler(mockJwtTokenValidator.Object, mockUserRepository.Object, mockJwtFactory.Object, mockTokenFactory.Object, mockUnitOfWork.Object, mockMediatorHandler.Object, notificationHandler); // act await handler.Handle(new ExchangeRefreshTokenRequest("4567", refreshToken), presenter); // assert Assert.NotNull(presenter.data); }
public async void Handle_GivenInvalidToken_ShouldReturnNull() { // arrange var mockJwtTokenValidator = new Mock <IJwtTokenValidator>(); mockJwtTokenValidator.Setup(validator => validator.GetPrincipalFromToken(It.IsAny <string>(), It.IsAny <string>())).Returns((ClaimsPrincipal)null); var presenter = new ExchangeRefreshTokenPresenter(); var mockUserRepository = new Mock <IUserRepository>(); var mockMediatorHandler = new Mock <IMediatorHandler>(); var handler = new ExchangeRefreshTokenHandler(mockJwtTokenValidator.Object, null, null, null, null, mockMediatorHandler.Object, null); // act await handler.Handle(new ExchangeRefreshTokenRequest("", ""), presenter); // assert Assert.Null(presenter.data); }