def test_set_thread_setting(messenger, monkeypatch): mock = Mock() mock.return_value = {'success': True} monkeypatch.setattr(messenger.client, 'set_messenger_profile', mock) welcome_message = thread_settings.GreetingText(text='Welcome message') profile = thread_settings.MessengerProfile(greetings=[welcome_message]) res = messenger.set_messenger_profile(profile.to_dict()) assert res == mock()
def test_greeting_text(self): res = thread_settings.GreetingText(text='Hello') profile = thread_settings.MessengerProfile(greetings=[res]) expected = { 'greeting': [{ 'locale': 'default', 'text': 'Hello', }] } assert expected == profile.to_dict()
def test_set_thread_setting(messenger, monkeypatch): mock = Mock() mock.return_value = {'success': True} monkeypatch.setattr(messenger.client, 'set_messenger_profile', mock) welcome_message = thread_settings.GreetingText(text='Welcome message') profile = thread_settings.MessengerProfile(greetings=[welcome_message]) res = messenger.set_messenger_profile(profile.to_dict()) assert res == mock.return_value greeting = {'greeting': [{'locale': 'default', 'text': 'Welcome message'}]} mock.assert_called_with(greeting, timeout=None)
def test_composer_input_enabled(self): res = thread_settings.PersistentMenu(composer_input_disabled=False) profile = thread_settings.MessengerProfile(persistent_menus=[res]) expected = { 'persistent_menu': [{ 'locale': 'default', 'composer_input_disabled': False, }], } assert expected == profile.to_dict()
def test_set_greeting_text(client, monkeypatch): mock_post = Mock() mock_post.return_value.status_code = 200 mock_post.return_value.json.return_value = {"result": "success"} monkeypatch.setattr('requests.Session.post', mock_post) welcome_message = thread_settings.GreetingText(text='Welcome message') profile = thread_settings.MessengerProfile(greetings=[welcome_message]) resp = client.set_messenger_profile(profile.to_dict()) assert resp == {"result": "success"} assert mock_post.call_count == 1 mock_post.assert_called_with( 'https://graph.facebook.com/v2.11/me/messenger_profile', params={'access_token': 12345678}, json={'greeting': [{ 'locale': 'default', 'text': 'Welcome message' }]})
def test_composer_input_disabled(self): item = thread_settings.PersistentMenuItem(item_type='web_url', title='Link', url='https://facebook.com') res = thread_settings.PersistentMenu(menu_items=[item], composer_input_disabled=True) profile = thread_settings.MessengerProfile(persistent_menus=[res]) expected = { 'persistent_menu': [{ 'locale': 'default', 'call_to_actions': [{ 'type': 'web_url', 'title': 'Link', 'url': 'https://facebook.com' }], 'composer_input_disabled': True, }], } assert expected == profile.to_dict()
def test_set_greeting_text(client, monkeypatch, default_params): mock_post = mock.Mock() mock_post.return_value.status_code = 200 mock_post.return_value.json.return_value = {"result": "success"} monkeypatch.setattr('requests.Session.post', mock_post) welcome_message = thread_settings.GreetingText(text='Welcome message') profile = thread_settings.MessengerProfile(greetings=[welcome_message]) resp = client.set_messenger_profile(profile.to_dict()) assert resp == {"result": "success"} assert mock_post.call_count == 1 mock_post.assert_called_with( 'https://graph.facebook.com/v{api_version}/me/messenger_profile'. format(api_version=client.api_version), params=default_params, json={ 'greeting': [{ 'locale': 'default', 'text': 'Welcome message', }] }, timeout=None)
def test_get_started_button(self): res = thread_settings.GetStartedButton(payload='payload') profile = thread_settings.MessengerProfile(get_started=res) expected = {'get_started': {'payload': 'payload'}} assert expected == profile.to_dict()