Exemplo n.º 1
0
        public async Task AuthorizeUserPasswordHandler_ThrowsException_IfInvalidPassword()
        {
            // Arrange
            var password  = _fixture.Create <string>();
            var users     = _fixture.VolunteerBuilder().WithPassword(password).CreateMany(10);
            var usersList = users.AsQueryable().BuildMockDbSet();

            _databaseContext.Users.Returns(usersList);
            _passwordHasher.VerifyHashedPassword(null, Arg.Any <string>(), Arg.Any <string>()).Returns(PasswordVerificationResult.Failed);

            var usedUser = users.First();

            // Act
            await Assert.ThrowsAnyAsync <LogicException>(() => _sut.Handle(new AuthorizeUserPasswordRequest {
                Login = usedUser.Email, Password = password
            }, default));

            // Assert
            _jwtGenerator.DidNotReceive().Generate(Arg.Any <User>());
        }