diff --git a/facho/fe/nomina/devengado/__init__.py b/facho/fe/nomina/devengado/__init__.py index 35a45e6..cedae51 100644 --- a/facho/fe/nomina/devengado/__init__.py +++ b/facho/fe/nomina/devengado/__init__.py @@ -12,5 +12,6 @@ __all__ = [ 'DevengadoHorasExtrasDiarias', 'DevengadoHorasExtrasNocturnas', 'DevengadoHorasRecargoNocturno', - 'DevengadoHorasExtrasDiariasDominicalesYFestivos' + 'DevengadoHorasExtrasDiariasDominicalesYFestivos', + 'DevengadoHorasRecargoDiariasDominicalesYFestivos' ] diff --git a/tests/test_nomina.py b/tests/test_nomina.py index 12fa9f9..c926c3d 100644 --- a/tests/test_nomina.py +++ b/tests/test_nomina.py @@ -491,6 +491,41 @@ def test_nomina_devengado_horas_extras_diarias_dominicales_y_festivos(): assert extras[1].get('Porcentaje') == '2.0' assert extras[1].get('Pago') == '200.00' +def test_nomina_devengado_horas_recargo_diarias_dominicales_y_festivos(): + nomina = fe.nomina.DIANNominaIndividual() + + nomina.adicionar_devengado(fe.nomina.DevengadoHorasRecargoDiariasDominicalesYFestivos( + horas_extras=[ + fe.nomina.DevengadoHoraExtra( + hora_inicio='2021-11-30T19:09:55', + hora_fin='2021-11-30T20:09:55', + cantidad=1, + porcentaje=fe.nomina.Amount(1), + pago=fe.nomina.Amount(100) + ), + fe.nomina.DevengadoHoraExtra( + hora_inicio='2021-11-30T18:09:55', + hora_fin='2021-11-30T19:09:55', + cantidad=2, + porcentaje=fe.nomina.Amount(2), + pago=fe.nomina.Amount(200) + ) + ] + )) + + xml = nomina.toFachoXML() + extras = xml.get_element('/fe:NominaIndividual/Devengados/HRDDFs/HRDDF', multiple=True) + assert extras[0].get('HoraInicio') == '2021-11-30T19:09:55' + assert extras[0].get('HoraFin') == '2021-11-30T20:09:55' + assert extras[0].get('Cantidad') == '1' + assert extras[0].get('Porcentaje') == '1.0' + assert extras[0].get('Pago') == '100.00' + assert extras[1].get('HoraInicio') == '2021-11-30T18:09:55' + assert extras[1].get('HoraFin') == '2021-11-30T19:09:55' + assert extras[1].get('Cantidad') == '2' + assert extras[1].get('Porcentaje') == '2.0' + assert extras[1].get('Pago') == '200.00' + def test_fecha_validacion(): with pytest.raises(ValueError) as e: