All files / app/utils validation.ts

89.47% Statements 17/19
66.66% Branches 4/6
75% Functions 3/4
85.71% Lines 12/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  10x 10x 10x 20x   10x   10x   10x 10x 10x     10x         10x 37x    
// taken from backend
export const nameValidationPattern = /\S+/;
export const usernameValidationPattern = /^[a-z][0-9a-z_]*[a-z0-9]$/i;
export const validatePassword = (password: string) => {
  return password.length >= 8 && password.length < 256;
};
export const emailValidationPattern =
  /^[0-9a-z][0-9a-z\-_+.]*@([0-9a-z-]+\.)*[0-9a-z-]+\.[a-z]{2,}$/i;
export const timePattern = /\d{2}:\d{2}/;
 
export function validatePastDate(stringDate: string) {
  const date = new Date(stringDate);
  return !isNaN(date.getTime()) && date < new Date();
}
 
export function validateFutureDate(stringDate: string) {
  const date = new Date(stringDate);
  return !isNaN(date.getTime()) && date >= new Date();
}
 
export function lowercaseAndTrimField(name: string) {
  return name.trim().toLowerCase();
}