From 7f21762fce860d1db833fc3f6d63ea61611edb47 Mon Sep 17 00:00:00 2001 From: Vitaly312 Date: Sat, 28 Feb 2026 17:53:12 +0300 Subject: [PATCH] fix string representation for MediaGroupFilter --- aiogram/filters/media_group.py | 2 ++ tests/test_filters/test_media_group.py | 16 +++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/aiogram/filters/media_group.py b/aiogram/filters/media_group.py index bc146e01..3c8422f4 100644 --- a/aiogram/filters/media_group.py +++ b/aiogram/filters/media_group.py @@ -47,6 +47,8 @@ class MediaGroupFilter(Filter): self.max_media_count = max_media_count def __str__(self) -> str: + if self.min_media_count == self.max_media_count: + return self._signature_to_string(count=self.min_media_count) return self._signature_to_string( min_media_count=self.min_media_count, max_media_count=self.max_media_count ) diff --git a/tests/test_filters/test_media_group.py b/tests/test_filters/test_media_group.py index e2471210..3d1af49b 100644 --- a/tests/test_filters/test_media_group.py +++ b/tests/test_filters/test_media_group.py @@ -1,7 +1,9 @@ -from aiogram.filters.media_group import MediaGroupFilter, MIN_MEDIA_COUNT, DEFAULT_MAX_MEDIA_COUNT -import pytest import datetime -from aiogram.types import Message, Chat + +import pytest + +from aiogram.filters.media_group import DEFAULT_MAX_MEDIA_COUNT, MIN_MEDIA_COUNT, MediaGroupFilter +from aiogram.types import Chat, Message class TestMediaGroupFilter: @@ -59,3 +61,11 @@ class TestMediaGroupFilter: assert bool(response) is result if result: assert response.get("media_count") == media_count + + def test_str_count(self): + filter = MediaGroupFilter(5) + assert str(filter) == "MediaGroupFilter(count=5)" + + def test_str_range(self): + filter = MediaGroupFilter(min_media_count=2, max_media_count=5) + assert str(filter) == "MediaGroupFilter(min_media_count=2, max_media_count=5)"