< Summary

Information
Class: FAU.Logica.Validadores.PasswordPolicy
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/Validadores/PasswordPolicy.cs
Line coverage
100%
Covered lines: 11
Uncovered lines: 0
Coverable lines: 11
Total lines: 29
Line coverage: 100%
Branch coverage
100%
Covered branches: 16
Total branches: 16
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Validate(...)100%1616100%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/Validadores/PasswordPolicy.cs

#LineLine coverage
 1namespace FAU.Logica.Validadores;
 2
 3/// <summary>
 4/// Política unificada de contraseñas para toda la aplicación.
 5/// </summary>
 6public static class PasswordPolicy
 7{
 8    public const int MinLength = 8;
 9
 10    public static (bool IsValid, string Error) Validate(string password)
 11    {
 1812        if (string.IsNullOrWhiteSpace(password))
 313            return (false, "La contraseña no puede estar vacía");
 14
 1515        if (password.Length < MinLength)
 316            return (false, $"La contraseña debe tener al menos {MinLength} caracteres");
 17
 1218        if (!password.Any(char.IsUpper))
 219            return (false, "La contraseña debe contener al menos una letra mayúscula");
 20
 1021        if (!password.Any(char.IsLower))
 122            return (false, "La contraseña debe contener al menos una letra minúscula");
 23
 924        if (!password.Any(char.IsDigit))
 225            return (false, "La contraseña debe contener al menos un número");
 26
 727        return (true, string.Empty);
 28    }
 29}

Methods/Properties

Validate(System.String)