diff --git a/aiogram/client/bot.py b/aiogram/client/bot.py index 3f7c1360..ab25a549 100644 --- a/aiogram/client/bot.py +++ b/aiogram/client/bot.py @@ -286,7 +286,7 @@ class Bot: ): warnings.warn( "Passing `parse_mode`, `disable_web_page_preview` or `protect_content` " - "to Bot initializer is deprecated. This arguments will be removed in 3.5.0 version\n" + "to Bot initializer is deprecated. This arguments will be removed in 3.7.0 version\n" "Use `default=DefaultBotProperties(...)` instead.", category=DeprecationWarning, stacklevel=2, diff --git a/aiogram/client/default.py b/aiogram/client/default.py index 506cf1e9..74954e52 100644 --- a/aiogram/client/default.py +++ b/aiogram/client/default.py @@ -48,7 +48,6 @@ class DefaultBotProperties: """Protects content from copying.""" allow_sending_without_reply: Optional[bool] = None """Allows to send messages without reply.""" - link_preview: Optional[LinkPreviewOptions] = None """Link preview settings.""" link_preview_is_disabled: Optional[bool] = None diff --git a/tests/test_api/test_client/test_default.py b/tests/test_api/test_client/test_default.py new file mode 100644 index 00000000..55fd38e9 --- /dev/null +++ b/tests/test_api/test_client/test_default.py @@ -0,0 +1,68 @@ +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) == "" + + +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, 10), reason="requires python3.10 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