All files / validation portalValidation.ts

100% Statements 18/18
100% Branches 5/5
100% Functions 1/1
100% Lines 18/18

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 191x 1x 1x 1x 3x 1x 1x 2x 2x 2x 2x 2x 3x 1x 1x 1x 1x 1x  
import { portalValidOptions } from '@constants/form';
import { ValidationResult } from '@contracts/validationResult';
 
export const hasValidPortalCharacters = (value: string): ValidationResult => {
  if (value == null) {
    return { isValid: false, errorMessage: 'Invalid portal address' };
  }
 
  const isValid =
    value.split('').filter((char) => portalValidOptions.includes(char.toLowerCase()) === false)
      .length === 0;
 
  if (isValid) {
    return { isValid: true };
  }
 
  return { isValid: false, errorMessage: 'Invalid portal address' };
};