public void UserNameSpecification_ShouldBeSatisfiedIfUserNameIsNotEmpty() { var spec = new UsernameSpecification(); var user = new User { username = "******" }; spec.IsSatisfiedBy(user).Should().BeTrue(); }
private void ValidateUsernameAndEmailUniqueness(string?name, string?email) { var usernameOrEmailSpec = new UsernameSpecification(name).Or(new EmailSpecification(email)); if (_authUserRepository.Count(usernameOrEmailSpec) > 0) { throw new ManualValidationException("This username or email address is already taken."); } }
public void NotSpecification_ShouldBeSatisfiedWhenUserNameIsEmpty() { var spec = new UsernameSpecification(); var not = new NotSpecification <User>(spec); var user1 = new User { username = "" }; not.IsSatisfiedBy(user1).Should().BeTrue(); }
public JsonWebToken GenerateJwt(string?name, string?plaintextPassword) { var usernameOrEmailSpec = new UsernameSpecification(name).Or(new EmailSpecification(name)); var authUser = _authUserRepository.FindOrNull(usernameOrEmailSpec); if (authUser is null || !authUser.PasswordHash.CanLogin(plaintextPassword, authUser.Id, authUser.Username)) { throw new ManualValidationException("Incorrect username or password."); } return(JsonWebToken.Generate(authUser, _clock)); }
public void OrSpecification_ShouldBeSatisfiedWhenOneOfTheSpecsIsTrue() { var spec1 = new UsernameSpecification(); var spec2 = new PasswordSpecification(); var or = new OrSpecification <User>(spec1, spec2); var user1 = new User { username = "", password = "******" }; or.IsSatisfiedBy(user1).Should().BeTrue(); }
public void AndSpecification_ShouldBeSatisfiedWhenBothSpecsAreTrue() { var spec1 = new UsernameSpecification(); var spec2 = new PasswordSpecification(); var and = new AndSpecification <User>(spec1, spec2); var user1 = new User { username = "******", password = "******" }; and.IsSatisfiedBy(user1).Should().BeTrue(); }