32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
"""Confirmation avant de désactiver le NER (regex-only) — outil médical.
|
|
|
|
Pur : la décision est isolée dans ``confirm_ner_disable(asker)`` ; ``asker`` est
|
|
injecté (pas de messagebox réel, pas de display).
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
from gui_v6.tabs.tab_config import NER_DISABLE_WARNING, confirm_ner_disable
|
|
|
|
|
|
def test_confirm_true_when_user_accepts():
|
|
assert confirm_ner_disable(lambda: True) is True
|
|
|
|
|
|
def test_confirm_false_when_user_declines():
|
|
assert confirm_ner_disable(lambda: False) is False
|
|
|
|
|
|
def test_confirm_false_when_asker_raises():
|
|
def boom():
|
|
raise RuntimeError("Tk indisponible")
|
|
# Sens sûr : une erreur de dialogue ne désactive jamais le NER.
|
|
assert confirm_ner_disable(boom) is False
|
|
|
|
|
|
def test_warning_text_is_explicit_for_medical_use():
|
|
txt = NER_DISABLE_WARNING.lower()
|
|
# L'avertissement DOIT nommer la dégradation : règles/regex + risque noms.
|
|
assert "règles" in txt or "regex" in txt
|
|
assert "nom" in txt
|
|
assert "recommand" in txt # « fortement recommandé »
|