< Summary

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

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
ValidarNoEsFutura(...)100%11100%
ObtenerErrorSiEsFutura(...)100%22100%

File(s)

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

#LineLine coverage
 1namespace FAU.Logica.Validadores;
 2
 3/// <summary>
 4/// Validador para la fecha de ingreso del personal
 5/// </summary>
 6public static class FechaIngresoValidator
 7{
 8    /// <summary>
 9    /// Valida que la fecha de ingreso no sea futura
 10    /// </summary>
 11    /// <param name="fechaIngreso">Fecha de ingreso a validar</param>
 12    /// <returns>True si la fecha es válida (no es futura)</returns>
 13    public static bool ValidarNoEsFutura(DateTime fechaIngreso)
 14    {
 15        // Comparar las fechas sin hora
 416        var hoy = DateTime.UtcNow.Date;
 417        return fechaIngreso.Date <= hoy;
 18    }
 19
 20    /// <summary>
 21    /// Obtiene un mensaje de error si la fecha es inválida
 22    /// </summary>
 23    /// <param name="fechaIngreso">Fecha de ingreso a validar</param>
 24    /// <returns>Mensaje de error o null si es válida</returns>
 25    public static string? ObtenerErrorSiEsFutura(DateTime fechaIngreso)
 26    {
 427        if (!ValidarNoEsFutura(fechaIngreso))
 28        {
 129            return $"La fecha de ingreso no puede ser futura. Fecha ingresada: {fechaIngreso:dd/MM/yyyy}";
 30        }
 331        return null;
 32    }
 33}