se completan los horarios, se fijan las rutas al código y se muestra la versión
- HORARIOS cubre las 24 horas: se agregan 21:30-24:00 (cada 60 min) y 05:00-06:30 (cada 30 min); antes el demonio dormía hasta las 06:30 en esos tramos. Se corrigen los comentarios, que no coincidían con los valores. tests/test_horarios.py garantiza que no haya huecos ni solapes. - La carpeta de resultados se resuelve junto al código, no relativa al cwd (un servicio de Windows puede arrancar desde cualquier carpeta). - copiar_a_red no crea carpetas locales cuando RUTA_RED_FACTURACION no es una ruta absoluta en el sistema operativo (una UNC fuera de Windows); antes el draft podía referenciar archivos que no estaban en el recurso compartido. - El log muestra la versión del proyecto (pyproject.toml) al arrancar. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1c57988f54
commit
fcce30eda6
7 files changed
+128
-10
No files matched your search
@@ -0,0 +1,35 @@
|
||||
from datetime import datetime
|
||||
|
||||
import main
|
||||
import pipeline_utils
|
||||
|
||||
|
||||
def _intervalo(hora, minuto):
|
||||
return main.obtener_intervalo(datetime(2026, 10, 22, hora, minuto))
|
||||
|
||||
|
||||
def test_cada_minuto_del_dia_pertenece_a_un_bloque_y_solo_uno():
|
||||
"""Sin huecos (el demonio dormiría hasta las 06:30) ni solapes."""
|
||||
for minuto_del_dia in range(24 * 60):
|
||||
bloques = [b for b in main.HORARIOS if b[0] * 60 + b[1] <= minuto_del_dia < b[2] * 60 + b[3]]
|
||||
assert len(bloques) == 1, f"{minuto_del_dia // 60:02d}:{minuto_del_dia % 60:02d} -> {len(bloques)} bloques"
|
||||
assert _intervalo(minuto_del_dia // 60, minuto_del_dia % 60) == (bloques[0][4], bloques[0][5])
|
||||
|
||||
|
||||
def test_los_bloques_estan_ordenados_y_se_encadenan():
|
||||
fines = [b[2] * 60 + b[3] for b in main.HORARIOS]
|
||||
inicios = [b[0] * 60 + b[1] for b in main.HORARIOS]
|
||||
assert inicios[0] == 0 and fines[-1] == 24 * 60
|
||||
assert inicios[1:] == fines[:-1] # cada bloque empieza donde termina el anterior
|
||||
|
||||
|
||||
def test_los_huecos_de_antes_ahora_tienen_horario():
|
||||
assert _intervalo(21, 29) == (3600, "full") and _intervalo(21, 30) == (3600, "full")
|
||||
assert _intervalo(23, 59) == (3600, "full")
|
||||
assert _intervalo(5, 0) == (1800, "full") and _intervalo(6, 29) == (1800, "full")
|
||||
assert _intervalo(6, 30) == (300, "rapido")
|
||||
|
||||
|
||||
def test_la_version_del_proyecto_sale_de_pyproject():
|
||||
version = pipeline_utils.version_del_proyecto()
|
||||
assert version != "desconocida" and version.count(".") == 2
|
||||
Reference in new issue
Block a user