28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from unittest.mock import patch, MagicMock
|
|
from GramAddict.core.bot_flow import _interact_with_profile
|
|
from tests.unit.test_profile_interaction_sync import FakeConfig
|
|
|
|
mock_device = MagicMock()
|
|
mock_configs = FakeConfig()
|
|
mock_session_state = MagicMock()
|
|
mock_session_state.check_limit.return_value = False
|
|
manager = MagicMock()
|
|
|
|
with patch("GramAddict.core.bot_flow.QNavGraph") as MockQNavGraph, \
|
|
patch("GramAddict.core.bot_flow.sleep") as mock_sleep, \
|
|
patch("GramAddict.core.bot_flow.random.random", return_value=0.0):
|
|
|
|
mock_nav_instance = MagicMock()
|
|
mock_nav_instance._execute_transition.return_value = True
|
|
MockQNavGraph.return_value = mock_nav_instance
|
|
|
|
manager.attach_mock(mock_nav_instance._execute_transition, 'execute_transition')
|
|
manager.attach_mock(mock_sleep, 'sleep')
|
|
|
|
_interact_with_profile(mock_device, mock_configs, "test_user", mock_session_state, 1.0, MagicMock())
|
|
|
|
print("MOCK CALLS:")
|
|
for method, args, kwargs in manager.mock_calls:
|
|
print(f"{method}: args={args}, kwargs={kwargs}")
|
|
|