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}")