コード例 #1
0
        public async Task RefreshUserToken_ValidUser(RefreshToken expectedResult, UserLoginResponse expectedUserLoginResponse)
        {
            //Arrange
            _userLoginProviderMock.Setup(s => s.GetRefreshToken(It.IsAny <Guid>())).ReturnsAsync(expectedResult);
            _userLoginProviderMock.Setup(s => s.TokenGenerator(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <double>())).ReturnsAsync(expectedUserLoginResponse);

            var refreshToken = Guid.NewGuid();

            var command = new TokenRefreshCommand(refreshToken);

            _sut = new TokenRefreshCommandHandler(_userLoginProviderMock.Object, _mediatorHandlerMock.Object, _userProviderMock.Object);

            //Act
            var response = await _sut.Handle(command, CancellationToken.None);

            //Assert
            response.Payload.Should().NotBeNull();
            response.ValidationResult.Should().BeNull();
            // response.Payload.RefreshToken.Should().BeEquivalentTo(expectedResult.Token);
        }
コード例 #2
0
        public async Task RefreshUserToken_InvalidRefrehToken()
        {
            //Arrange
            var validationResult = new ValidationResult();

            validationResult.Errors.Add(CreateValidationFailure(null, "Invalid token refresh"));

            var refreshToken = Guid.NewGuid();

            _mediatorHandlerMock.Setup(s => s.PublishEvent(It.IsAny <TokenRefreshInvalidEvent>()))
            .Verifiable("Notification was sent");

            var command = new TokenRefreshCommand(refreshToken);

            _sut = new TokenRefreshCommandHandler(_userLoginProviderMock.Object, _mediatorHandlerMock.Object, _userProviderMock.Object);

            //Act
            var response = await _sut.Handle(command, CancellationToken.None);

            //Assert
            response.Payload.Should().BeNull();
            response.ValidationResult.Errors.Should().HaveCount(1);
            response.ValidationResult.Errors.Select(s => s.ErrorMessage).Should().Contain(validationResult.Errors.Select(s => s.ErrorMessage));
        }