PasswordValidator

Nesse desafio, você deverá construir um método/função que deve conseguir receber uma senha e retornar se a mesma é válida, dadas algumas validações. Utilize a linguagem de programação Javascript/Typescript.

❓ Case para o desafio

  • Deve ser possível receber uma string que passará pelas seguintes validações:
    • A senha deve conter de 16 a 32 caracteres;
    • Deve conter pelo menos 2 caracteres especiais;
    • Deve conter letras maiúsculas e minúsculas;
    • Não pode conter mais de 3 sequencias de caracteres, letras ou números (abc ou 123, por exemplo).
  • Deve retornar um objeto contendo o resultado (verdadeiro ou falso), e uma lista de erros de validação em que a senha não passou;
  • Deve conter testes unitários para validar os casos listados no exemplo.

Testes Unitários

🎲 Exemplo

console.log(isValidPassword("rZpy*D95&WBE'Z&B"));
// { result: true, errors: [] }

console.log(isValidPassword('c|e_AbC>F%8J%k`N8'));
// { result: false, errors: ['Caracteres em sequencia'] }

console.log(isValidPassword('dX5sWaY6tknDUHtL'));
// { result: false, errors: ['Faltam caracteres especiais'] }

console.log(isValidPassword('Gau74J^Zf6(>x4w'));
// { result: false, errors: ['Tamanho inválido'] }

👾 Tecnologias

  • Utilizar POO;
  • Utilizar Typescript.

❌ Restrições

  • Utilizar Libs;
  • Não copiar código.

❓ Como utilizar

// Install dependencies:
$ yarn

// Validate password:
yarn dev