33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""Tests de `monitor_estado.aviso` — voz solo si requiere atencion (RF-14, RF-15)."""
|
|
|
|
import monitor_estado.aviso as aviso
|
|
|
|
|
|
def test_aviso_dispara_con_atencion():
|
|
llamadas = []
|
|
r = {"fallo_ia": False, "requiere_atencion": [{"fuente": "jira", "texto": "caido"}]}
|
|
assert aviso.avisar(r, cfg={"aviso": {"voz": True}}, _runner=lambda t: llamadas.append(t)) is True
|
|
assert llamadas == ["fin"]
|
|
|
|
|
|
def test_ciclo_sin_novedad_no_avisa():
|
|
llamadas = []
|
|
r = {"fallo_ia": False, "requiere_atencion": [], "resumen_md": "Sin novedades."}
|
|
assert aviso.avisar(r, cfg={"aviso": {"voz": True}}, _runner=lambda t: llamadas.append(t)) is False
|
|
assert llamadas == []
|
|
|
|
|
|
def test_aviso_dispara_con_fallo_ia():
|
|
llamadas = []
|
|
r = {"fallo_ia": True, "requiere_atencion": []}
|
|
assert aviso.avisar(r, cfg={"aviso": {"voz": True}}, _runner=lambda t: llamadas.append(t)) is True
|
|
assert llamadas == ["error"]
|
|
|
|
|
|
def test_aviso_desactivado_por_config():
|
|
llamadas = []
|
|
r = {"fallo_ia": False, "requiere_atencion": [{"texto": "x"}]}
|
|
assert aviso.avisar(r, cfg={"aviso": {"voz": False}}, _runner=lambda t: llamadas.append(t)) is False
|
|
assert llamadas == []
|