示例#1
0
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()
示例#2
0
 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()
示例#3
0
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)
示例#4
0
 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()
示例#5
0
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'
        }]})
示例#6
0
 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()
示例#7
0
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)
示例#8
0
 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()