Files
rpa_vision_v3/tests/unit/test_supervised_popup_guard.py

39 lines
1.2 KiB
Python

from visual_workflow_builder.backend.services.supervised_popup_guard import (
build_unexpected_popup_pause,
)
def test_unexpected_popup_builds_pause_without_auto_resolution():
pause = build_unexpected_popup_pause(
{"pattern": "confirm_save_overwrite", "title": "Enregistrer sous"},
expected_state={
"window_title_in": ["Executer"],
"process_active": "explorer.exe",
},
competence_id="key_win_r_wait_explorer_exe",
source_method_id="step_2_wait_state",
)
assert pause is not None
assert pause["needs_human"] is True
assert pause["pause_reason"] == "unexpected_popup"
assert pause["auto_resolution"] is False
assert pause["write_back_enabled"] is False
assert pause["detected_popup"]["title"] == "Enregistrer sous"
def test_expected_popup_title_does_not_build_pause():
pause = build_unexpected_popup_pause(
{"pattern": "run_dialog", "title": "Executer"},
expected_state={"window_title_in": ["Executer"]},
)
assert pause is None
def test_missing_popup_does_not_build_pause():
assert build_unexpected_popup_pause(
None,
expected_state={"window_title_in": ["Executer"]},
) is None