mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 18:19:34 +00:00
* Add voter_chat to poll_answer event handling The change ensures that when a poll_answer event is processed, the user context middleware now also returns the chat where the vote took place. Previously, only the user who cast the vote was returned. * Added changelog * Fixed tests * Bump Python version in test
68 lines
2.3 KiB
Python
68 lines
2.3 KiB
Python
import sys
|
|
|
|
import pytest
|
|
|
|
from aiogram.client.default import Default, DefaultBotProperties
|
|
from aiogram.enums import ParseMode
|
|
from aiogram.types import LinkPreviewOptions
|
|
|
|
|
|
class TestDefault:
|
|
def test_init(self):
|
|
default = Default("test")
|
|
assert default._name == "test"
|
|
|
|
def test_name_property(self):
|
|
default = Default("test")
|
|
assert default.name == "test"
|
|
|
|
def test_str(self):
|
|
default = Default("test")
|
|
assert str(default) == "Default('test')"
|
|
|
|
def test_repr(self):
|
|
default = Default("test")
|
|
assert repr(default) == "<Default('test')>"
|
|
|
|
|
|
class TestDefaultBotProperties:
|
|
def test_post_init_empty(self):
|
|
default_bot_properties = DefaultBotProperties()
|
|
|
|
assert default_bot_properties.link_preview is None
|
|
|
|
def test_post_init_auto_fill_link_preview(self):
|
|
default_bot_properties = DefaultBotProperties(
|
|
link_preview_is_disabled=True,
|
|
link_preview_prefer_small_media=True,
|
|
link_preview_prefer_large_media=True,
|
|
link_preview_show_above_text=True,
|
|
)
|
|
|
|
assert default_bot_properties.link_preview == LinkPreviewOptions(
|
|
is_disabled=True,
|
|
prefer_small_media=True,
|
|
prefer_large_media=True,
|
|
show_above_text=True,
|
|
)
|
|
|
|
def test_getitem(self):
|
|
default_bot_properties = DefaultBotProperties(
|
|
parse_mode=ParseMode.HTML,
|
|
link_preview_is_disabled=True,
|
|
link_preview_prefer_small_media=True,
|
|
link_preview_prefer_large_media=True,
|
|
link_preview_show_above_text=True,
|
|
)
|
|
|
|
assert default_bot_properties["parse_mode"] == ParseMode.HTML
|
|
assert default_bot_properties["link_preview_is_disabled"] is True
|
|
assert default_bot_properties["link_preview_prefer_small_media"] is True
|
|
assert default_bot_properties["link_preview_prefer_large_media"] is True
|
|
assert default_bot_properties["link_preview_show_above_text"] is True
|
|
|
|
@pytest.mark.skipif(sys.version_info < (3, 12), reason="requires python3.11 or higher")
|
|
def test_dataclass_creation_3_10_plus(self):
|
|
params = DefaultBotProperties.__dataclass_params__
|
|
assert params.slots is True
|
|
assert params.kw_only is True
|