All files / validation dateValidation.ts

100% Statements 28/28
100% Branches 8/8
100% Functions 2/2
100% Lines 28/28

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 25 26 27 28 291x 1x 1x 1x 1x 9x 4x 1x 1x 3x 3x 3x 3x 3x 3x 1x 1x 1x 8x 3x 1x 1x 2x 2x 2x 2x 2x 2x  
import { ValidationResult } from '@contracts/validationResult';
import { formatDate, isBefore } from '@helpers/dateHelper';
 
export const minDate =
  (minDate: Date) =>
  (value: Date): ValidationResult => {
    if (isBefore(minDate, value)) {
      return { isValid: true };
    }
 
    return {
      isValid: false,
      errorMessage: `${value} | Minimum date is ${formatDate(minDate, 'DD MMM YY')}`,
    };
  };
 
export const maxDate =
  (maxDate: Date) =>
  (value: Date): ValidationResult => {
    if (isBefore(value, maxDate)) {
      return { isValid: true };
    }
 
    return {
      isValid: false,
      errorMessage: `Maximum date is ${formatDate(maxDate, 'DD MMM YY')}`,
    };
  };