diff --git a/facho/fe/nomina/devengado/__init__.py b/facho/fe/nomina/devengado/__init__.py index 73f5204..505a32e 100644 --- a/facho/fe/nomina/devengado/__init__.py +++ b/facho/fe/nomina/devengado/__init__.py @@ -8,6 +8,7 @@ __all__ = [ 'Devengado', 'DevengadoBasico', 'DevengadoTransporte', + 'DevengadoHoraExtra', 'DevengadoHorasExtrasDiarias', - 'DevengadoHoraExtra' + 'DevengadoHorasExtrasNocturnas' ] diff --git a/tests/test_nomina.py b/tests/test_nomina.py index e703577..93179e6 100644 --- a/tests/test_nomina.py +++ b/tests/test_nomina.py @@ -386,6 +386,41 @@ def test_nomina_devengado_horas_extras_diarias(): assert extras[1].get('Porcentaje') == '2.0' assert extras[1].get('Pago') == '200.00' +def test_nomina_devengado_horas_extras_nocturnas(): + nomina = fe.nomina.DIANNominaIndividual() + + nomina.adicionar_devengado(fe.nomina.DevengadoHorasExtrasNocturnas( + 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/HENs/HEN', 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: