@@ -2018,8 +2018,13 @@ def test_poll_for_events__no_disconnect(self, mocker, model,
2018
2018
assert self .client .get_events .called
2019
2019
assert not sleep .called
2020
2020
2021
- def test_poll_for_events__reconnect_ok (self , mocker , model , raising_event ):
2022
- register_return_value = lambda : ""
2021
+ @pytest .mark .parametrize ("register_return_value" , [
2022
+ pytest .param (["" ], id = "reconnect_on_1st_attempt" ),
2023
+ pytest .param (["error" , "" ], id = "reconnect_on_2nd_attempt" ),
2024
+ pytest .param (["error" , "error" , "" ], id = "reconnect_on_3rd_attempt" ),
2025
+ ])
2026
+ def test_poll_for_events__reconnect_ok (self , mocker , model , raising_event ,
2027
+ register_return_value ):
2023
2028
mocker .patch ("zulipterminal.model.Model._register_desired_events" ,
2024
2029
side_effect = register_return_value )
2025
2030
sleep = mocker .patch ("zulipterminal.model.time.sleep" )
@@ -2036,6 +2041,7 @@ def test_poll_for_events__reconnect_ok(self, mocker, model, raising_event):
2036
2041
with pytest .raises (self .LoopEnder ):
2037
2042
model .poll_for_events ()
2038
2043
2039
- model ._register_desired_events .assert_called_once ()
2044
+ registers = [mocker .call () for _ in range (len (register_return_value ))]
2045
+ model ._register_desired_events .assert_has_calls (registers )
2040
2046
assert self .client .get_events .called
2041
- assert not sleep .called
2047
+ assert sleep .call_count == len ( registers ) - 1
0 commit comments