Remove obsolete configuration management and test settings files
- Deleted the `config.py` file responsible for managing bot configuration via environment variables and `.env` files, as it is no longer needed. - Removed the `test_settings.ini` file used for testing, which contained mock configuration data. - Cleaned up the project structure by eliminating unused files to enhance maintainability.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import pytest
|
||||
from unittest.mock import Mock, AsyncMock, patch
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
from helper_bot.handlers.voice.services import VoiceBotService
|
||||
from helper_bot.handlers.voice.exceptions import VoiceMessageError, AudioProcessingError
|
||||
@@ -88,6 +89,57 @@ class TestVoiceBotService:
|
||||
voice_service.clear_user_listenings(123)
|
||||
|
||||
mock_bot_db.delete_listen_count_for_user.assert_called_once_with(123)
|
||||
|
||||
def test_get_remaining_audio_count_success(self, voice_service, mock_bot_db):
|
||||
"""Тест получения количества оставшихся аудио"""
|
||||
mock_bot_db.check_listen_audio.return_value = ['audio1', 'audio2', 'audio3']
|
||||
|
||||
result = voice_service.get_remaining_audio_count(123)
|
||||
|
||||
assert result == 3
|
||||
mock_bot_db.check_listen_audio.assert_called_once_with(user_id=123)
|
||||
|
||||
def test_get_remaining_audio_count_zero(self, voice_service, mock_bot_db):
|
||||
"""Тест получения количества оставшихся аудио когда их нет"""
|
||||
mock_bot_db.check_listen_audio.return_value = []
|
||||
|
||||
result = voice_service.get_remaining_audio_count(123)
|
||||
|
||||
assert result == 0
|
||||
mock_bot_db.check_listen_audio.assert_called_once_with(user_id=123)
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_send_welcome_messages_success(self, voice_service, mock_bot_db, mock_settings):
|
||||
"""Тест успешной отправки приветственных сообщений"""
|
||||
mock_message = Mock()
|
||||
mock_message.from_user.id = 123
|
||||
mock_message.answer = AsyncMock()
|
||||
mock_message.answer.return_value = Mock()
|
||||
mock_message.answer_sticker = AsyncMock()
|
||||
|
||||
with patch.object(voice_service, 'get_welcome_sticker') as mock_sticker:
|
||||
mock_sticker.return_value = 'test_sticker.tgs'
|
||||
|
||||
await voice_service.send_welcome_messages(mock_message, '😊')
|
||||
|
||||
# Проверяем, что сообщения отправлены
|
||||
assert mock_message.answer.call_count >= 1
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_send_welcome_messages_no_sticker(self, voice_service, mock_bot_db, mock_settings):
|
||||
"""Тест отправки приветственных сообщений без стикера"""
|
||||
mock_message = Mock()
|
||||
mock_message.from_user.id = 123
|
||||
mock_message.answer = AsyncMock()
|
||||
mock_message.answer.return_value = Mock()
|
||||
|
||||
with patch.object(voice_service, 'get_welcome_sticker') as mock_sticker:
|
||||
mock_sticker.return_value = None
|
||||
|
||||
await voice_service.send_welcome_messages(mock_message, '😊')
|
||||
|
||||
# Проверяем, что сообщения отправлены
|
||||
assert mock_message.answer.call_count >= 1
|
||||
|
||||
|
||||
class TestVoiceHandlers:
|
||||
@@ -149,6 +201,7 @@ class TestUtils:
|
||||
"""Тест валидации голосового сообщения"""
|
||||
mock_message = Mock()
|
||||
mock_message.content_type = 'voice'
|
||||
mock_message.voice = Mock()
|
||||
|
||||
result = validate_voice_message(mock_message)
|
||||
|
||||
@@ -171,6 +224,22 @@ class TestUtils:
|
||||
|
||||
assert result == "😊"
|
||||
mock_bot_db.check_emoji_for_user.assert_called_once_with(123)
|
||||
|
||||
def test_get_user_emoji_safe_none(self, mock_bot_db):
|
||||
"""Тест безопасного получения эмодзи когда его нет"""
|
||||
mock_bot_db.check_emoji_for_user.return_value = None
|
||||
|
||||
result = get_user_emoji_safe(mock_bot_db, 123)
|
||||
|
||||
assert result == "😊"
|
||||
|
||||
def test_get_user_emoji_safe_error(self, mock_bot_db):
|
||||
"""Тест безопасного получения эмодзи при ошибке"""
|
||||
mock_bot_db.check_emoji_for_user.return_value = "Ошибка"
|
||||
|
||||
result = get_user_emoji_safe(mock_bot_db, 123)
|
||||
|
||||
assert result == "Ошибка"
|
||||
|
||||
|
||||
class TestExceptions:
|
||||
|
||||
Reference in New Issue
Block a user