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
|
|
|
|