public async Task Handler_LoginWithRefreshTokenCommand_Success()
        {
            var command = new LoginWithRefreshTokenQuery
            {
                RefreshToken = Guid.NewGuid().ToString()
            };

            _userRepository.Setup(x => x.GetByRefreshToken(It.IsAny <string>()))
            .ReturnsAsync(DataHelper.GetUser("test"));
            _userRepository.Setup(x => x.GetClaims(It.IsAny <int>()))
            .Returns(new List <OperationClaim> {
                new OperationClaim {
                }
            });
            _userRepository.Setup(x => x.Update(It.IsAny <User>())).Returns(new User());
            _tokenHelper.Setup(x => x.CreateToken <AccessToken>(It.IsAny <User>())).Returns(new AccessToken());

            var handler =
                new LoginWithRefreshTokenQueryHandler(_userRepository.Object, _tokenHelper.Object, _cacheManager.Object);
            var x = await handler.Handle(command, new CancellationToken());

            _userRepository.Verify(x => x.GetByRefreshToken(It.IsAny <string>()), Times.Once);
            _userRepository.Verify(x => x.GetClaims(It.IsAny <int>()), Times.Once);
            _userRepository.Verify(x => x.Update(It.IsAny <User>()), Times.Once);
            _userRepository.Verify(x => x.SaveChangesAsync(), Times.Once);
            _tokenHelper.Verify(x => x.CreateToken <AccessToken>(It.IsAny <User>()), Times.Once);
            x.Success.Should().BeTrue();
            x.Message.Should().Be(Messages.SuccessfulLogin);
        }
        public async Task User_LoginWithRefreshTokenCommand_UserNotFound()
        {
            var command = new LoginWithRefreshTokenQuery
            {
                RefreshToken = Guid.NewGuid().ToString()
            };

            User rt = null;

            _userRepository.Setup(x => x.GetByRefreshToken(It.IsAny <string>())).ReturnsAsync(rt);

            var handler =
                new LoginWithRefreshTokenQueryHandler(_userRepository.Object, _tokenHelper.Object, _cacheManager.Object);
            var x = await handler.Handle(command, new CancellationToken());

            _userRepository.Verify(x => x.GetByRefreshToken(It.IsAny <string>()), Times.Once);
            _userRepository.Verify(x => x.Update(It.IsAny <User>()), Times.Never);
            _userRepository.Verify(x => x.SaveChangesAsync(), Times.Never);
            _tokenHelper.Verify(x => x.CreateToken <AccessToken>(It.IsAny <User>()), Times.Never);
            x.Success.Should().BeFalse();
            x.Message.Should().Be(Messages.UserNotFound);
        }