|
1
|
|
|
# -*- coding:utf-8 -*- |
|
2
|
|
|
""" |
|
3
|
|
|
Test for keyboa_combiner() function |
|
4
|
|
|
""" |
|
5
|
|
|
import os |
|
6
|
|
|
import sys |
|
7
|
|
|
|
|
8
|
|
|
import pytest |
|
9
|
|
|
|
|
10
|
|
|
sys.path.insert(0, "%s/../" % os.path.dirname(os.path.abspath(__file__))) |
|
11
|
|
|
|
|
12
|
|
|
from keyboa.keyboards import keyboa_combiner, keyboa_maker |
|
13
|
|
|
from telebot.types import InlineKeyboardMarkup |
|
14
|
|
|
|
|
15
|
|
|
|
|
16
|
|
|
def test_keyboards_is_none(): |
|
17
|
|
|
assert isinstance(keyboa_combiner(), InlineKeyboardMarkup) |
|
18
|
|
|
assert keyboa_combiner().__dict__ == InlineKeyboardMarkup().__dict__ |
|
19
|
|
|
|
|
20
|
|
|
|
|
21
|
|
|
def test_keyboards_is_single_keyboard(): |
|
22
|
|
|
kb = keyboa_maker(items=list(range(0, 4)), copy_text_to_callback=True) |
|
23
|
|
|
result = keyboa_combiner(keyboards=kb) |
|
24
|
|
|
|
|
25
|
|
|
assert isinstance(result, InlineKeyboardMarkup) |
|
26
|
|
|
assert result.__dict__ == kb.__dict__ |
|
27
|
|
|
|
|
28
|
|
|
|
|
29
|
|
|
def test_keyboards_is_multi_keyboards(): |
|
30
|
|
|
kb_1 = keyboa_maker(items=list(range(0, 4)), copy_text_to_callback=True) |
|
31
|
|
|
kb_2 = keyboa_maker(items=list(range(10, 15)), copy_text_to_callback=True) |
|
32
|
|
|
|
|
33
|
|
|
result = keyboa_combiner(keyboards=(kb_1, kb_2)) |
|
34
|
|
|
assert isinstance(result, InlineKeyboardMarkup) |
|
35
|
|
|
|
|
36
|
|
|
result = keyboa_combiner(keyboards=(kb_1, None, kb_2)) |
|
37
|
|
|
assert isinstance(result, InlineKeyboardMarkup) |
|
38
|
|
|
|
|
39
|
|
|
with pytest.raises(TypeError) as _: |
|
40
|
|
|
keyboa_combiner(keyboards=(kb_1, 1)) |
|
41
|
|
|
|