All files / src/componentsV2/AccountProfile/Security utils.ts

87.5% Statements 7/8
87.5% Branches 14/16
100% Functions 1/1
87.5% Lines 7/8

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                2x 60x   12x   12x   12x   12x   12x          
import { PASSWORD_MIN_CHARS } from "@constants/constants";
import {
  PASSWORD_HAS_NUMBER_REGEX,
  PASSWORD_HAS_LOWERCASE_REGEX,
  PASSWORD_HAS_UPPERCASE_REGEX,
  PASSWORD_HAS_SPECIAL_CHAR_REGEX,
} from "@validation/regex";
 
export const getPasswordRequirementState = (type: string, value: string) => {
  switch (type) {
    case `${PASSWORD_MIN_CHARS} Characters`:
      return value.length >= PASSWORD_MIN_CHARS ? "success" : "secondary";
    case "One uppercase character":
      return PASSWORD_HAS_UPPERCASE_REGEX.test(value) ? "success" : "secondary";
    case "One lowercase character":
      return PASSWORD_HAS_LOWERCASE_REGEX.test(value) ? "success" : "secondary";
    case "One number":
      return PASSWORD_HAS_NUMBER_REGEX.test(value) ? "success" : "secondary";
    case "One special character":
      return PASSWORD_HAS_SPECIAL_CHAR_REGEX.test(value) ? "success" : "secondary";
    default:
      return "secondary";
  }
};