Passed
Push — master ( 812d55...611d69 )
by torrua
02:04
created

test_keyboa_combiner   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 24
dl 0
loc 41
rs 10
c 0
b 0
f 0
wmc 4
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