RULES: easy way
- удален модуль рулз - удалены библиотеки bs4 и lxml - правила теперь в константах и оттуда их получаем по номеру - пофиксил баг в тестах(не мокали инкремент)
This commit is contained in:
+13
-9
@@ -236,19 +236,23 @@ class TestBot(IsolatedAsyncioTestCase):
|
||||
async def test_spam_text(self):
|
||||
# Нужно подставить антиспам вкл.
|
||||
with patch("src.filters.is_antispam_enabled") as mocked:
|
||||
mocked.return_value = True
|
||||
await self.bot.process_new_updates([get_update('пишите мне в ЛС, Писать в ЛС')])
|
||||
self.assertEqual(RESULTS[0][1], "deleteMessage")
|
||||
self.assertEqual(RESULTS[1][1], "banChatMember")
|
||||
self.assertEqual(RESULTS[1][0], {'chat_id': 11, 'user_id': 10, 'until_date': None})
|
||||
# Нужно подменить инкремент, нельзя реально в шелве работать в тестах
|
||||
with patch("src.commands.increment") as _mocked_shelve:
|
||||
mocked.return_value = True
|
||||
await self.bot.process_new_updates([get_update('пишите мне в ЛС, Писать в ЛС')])
|
||||
self.assertEqual(RESULTS[0][1], "deleteMessage")
|
||||
self.assertEqual(RESULTS[1][1], "banChatMember")
|
||||
self.assertEqual(RESULTS[1][0], {'chat_id': 11, 'user_id': 10, 'until_date': None})
|
||||
|
||||
async def test_wrong_url(self):
|
||||
# Нужно подставить антиспам вкл.
|
||||
with patch("src.filters.is_antispam_enabled") as mocked:
|
||||
mocked.return_value = True
|
||||
await self.bot.process_new_updates([get_update('тут подробнее https://zvuk.com/artist/61375')])
|
||||
self.assertEqual(RESULTS[0][1], "deleteMessage")
|
||||
self.assertEqual(RESULTS[0][0], {'chat_id': 11, 'message_id': 1})
|
||||
# Нужно подменить инкремент, нельзя реально в шелве работать в тестах
|
||||
with patch("src.commands.increment") as _mocked_shelve:
|
||||
mocked.return_value = True
|
||||
await self.bot.process_new_updates([get_update('тут подробнее https://zvuk.com/artist/61375')])
|
||||
self.assertEqual(RESULTS[0][1], "deleteMessage")
|
||||
self.assertEqual(RESULTS[0][0], {'chat_id': 11, 'message_id': 1})
|
||||
|
||||
async def test_update_stats(self):
|
||||
# Нужно подставить антиспам вкл.
|
||||
|
||||
+11
-2
@@ -1,7 +1,7 @@
|
||||
from unittest import TestCase, main
|
||||
from unittest.mock import MagicMock
|
||||
from src.constants import SPAM, BAN_WORDS, ADMIN_ID
|
||||
from src.helpers import is_spam, is_mixed, is_ban_words_in_caption, is_in_not_allowed, is_nongrata, is_admin
|
||||
from src.constants import SPAM, BAN_WORDS, ADMIN_ID, RULES_TEXT
|
||||
from src.helpers import is_spam, is_mixed, is_ban_words_in_caption, is_in_not_allowed, is_nongrata, is_admin, fetch_rule
|
||||
|
||||
CASES = (
|
||||
"Оформим резидeнтствo ОАЭ без предoплаты за 5000 дирхам. Пoдробнoсти в лc",
|
||||
@@ -72,6 +72,15 @@ class TestOthers(TestCase):
|
||||
m = MagicMock(from_user=MagicMock(id=text))
|
||||
self.assertEqual(is_admin(m), expected)
|
||||
|
||||
def test_fetch_rule(self):
|
||||
for index, text in enumerate(RULES_TEXT,1):
|
||||
with self.subTest(f"fetch rule {index}"):
|
||||
self.assertEqual(fetch_rule(index), text)
|
||||
|
||||
def test_fetch_non_existent_rule(self):
|
||||
self.assertEqual(fetch_rule(0), 'Пока не придумали')
|
||||
self.assertEqual(fetch_rule(100), 'Пока не придумали')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user