Exemplo n.º 1
0
def to_viber_message(bot_message: BotMessage, receiver) -> dict:
    viber_message = build_basic_message(bot_message)

    buttons = bot_message.get_viber_buttons()

    if buttons:
        add_keyboard_into_message(viber_message,
                                  buttons,
                                  hide_input=not bot_message.is_text_input)

    viber_message['receiver'] = receiver.id
    return viber_message
Exemplo n.º 2
0
 def test_get_viber_buttons__none(self):
     tested = BotMessage('Hello')
     assert tested.get_viber_buttons() is None
Exemplo n.º 3
0
    def test_get_viber_buttons(self):
        tested = BotMessage(buttons=[
            [
                {
                    'text': '1.1',
                    'data': '1.1',
                },
                {
                    'text': '1.2',
                    'data': '1.2',
                },
                {
                    'text': '1.3',
                    'data': '1.3',
                },
            ],
            [
                {
                    'text': '2.1',
                    'data': '2.1',
                },
                {
                    'text': '2.2',
                    'data': '2.2',
                },
            ],
            [
                {
                    'text': '3.1',
                    'data': '3.1',
                },
            ],
        ])

        assert tested.get_viber_buttons() == [
            {
                'text': '1.1',
                'data': '1.1',
                'viber': {
                    'Columns': 2,
                },
            },
            {
                'text': '1.2',
                'data': '1.2',
                'viber': {
                    'Columns': 2,
                },
            },
            {
                'text': '1.3',
                'data': '1.3',
                'viber': {
                    'Columns': 2,
                },
            },
            {
                'text': '2.1',
                'data': '2.1',
                'viber': {
                    'Columns': 3,
                },
            },
            {
                'text': '2.2',
                'data': '2.2',
                'viber': {
                    'Columns': 3,
                },
            },
            {
                'text': '3.1',
                'data': '3.1',
                'viber': {
                    'Columns': 6,
                },
            },
        ]