39 lines
1.2 KiB
Python
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
|