style: isort + black
This commit is contained in:
@@ -1,47 +1,55 @@
|
||||
import pytest
|
||||
from helper_bot.handlers.voice.constants import (BTN_LISTEN, BTN_SPEAK,
|
||||
BUTTON_COMMAND_MAPPING,
|
||||
CALLBACK_COMMAND_MAPPING,
|
||||
CALLBACK_DELETE,
|
||||
CALLBACK_SAVE, CMD_EMOJI,
|
||||
CMD_HELP, CMD_REFRESH,
|
||||
CMD_RESTART, CMD_START,
|
||||
COMMAND_MAPPING,
|
||||
STATE_STANDUP_WRITE,
|
||||
STATE_START, VOICE_BOT_NAME)
|
||||
|
||||
from helper_bot.handlers.voice.constants import (
|
||||
BTN_LISTEN,
|
||||
BTN_SPEAK,
|
||||
BUTTON_COMMAND_MAPPING,
|
||||
CALLBACK_COMMAND_MAPPING,
|
||||
CALLBACK_DELETE,
|
||||
CALLBACK_SAVE,
|
||||
CMD_EMOJI,
|
||||
CMD_HELP,
|
||||
CMD_REFRESH,
|
||||
CMD_RESTART,
|
||||
CMD_START,
|
||||
COMMAND_MAPPING,
|
||||
STATE_STANDUP_WRITE,
|
||||
STATE_START,
|
||||
VOICE_BOT_NAME,
|
||||
)
|
||||
|
||||
|
||||
class TestVoiceConstants:
|
||||
"""Тесты для констант voice модуля"""
|
||||
|
||||
|
||||
def test_button_command_mapping_structure(self):
|
||||
"""Тест структуры BUTTON_COMMAND_MAPPING"""
|
||||
assert isinstance(BUTTON_COMMAND_MAPPING, dict)
|
||||
assert len(BUTTON_COMMAND_MAPPING) > 0
|
||||
|
||||
|
||||
# Проверяем, что все значения являются строками
|
||||
for key, value in BUTTON_COMMAND_MAPPING.items():
|
||||
assert isinstance(key, str)
|
||||
assert isinstance(value, str)
|
||||
|
||||
|
||||
def test_button_command_mapping_specific_values(self):
|
||||
"""Тест конкретных значений в BUTTON_COMMAND_MAPPING"""
|
||||
assert "🎤Высказаться" in BUTTON_COMMAND_MAPPING
|
||||
assert "🎧Послушать" in BUTTON_COMMAND_MAPPING
|
||||
|
||||
|
||||
assert BUTTON_COMMAND_MAPPING["🎤Высказаться"] == "voice_speak"
|
||||
assert BUTTON_COMMAND_MAPPING["🎧Послушать"] == "voice_listen"
|
||||
|
||||
|
||||
def test_command_mapping_structure(self):
|
||||
"""Тест структуры COMMAND_MAPPING"""
|
||||
assert isinstance(COMMAND_MAPPING, dict)
|
||||
assert len(COMMAND_MAPPING) > 0
|
||||
|
||||
|
||||
# Проверяем, что все значения являются строками
|
||||
for key, value in COMMAND_MAPPING.items():
|
||||
assert isinstance(key, str)
|
||||
assert isinstance(value, str)
|
||||
|
||||
|
||||
def test_command_mapping_specific_values(self):
|
||||
"""Тест конкретных значений в COMMAND_MAPPING"""
|
||||
assert "start" in COMMAND_MAPPING
|
||||
@@ -49,51 +57,51 @@ class TestVoiceConstants:
|
||||
assert "restart" in COMMAND_MAPPING
|
||||
assert "emoji" in COMMAND_MAPPING
|
||||
assert "refresh" in COMMAND_MAPPING
|
||||
|
||||
|
||||
assert COMMAND_MAPPING["start"] == "voice_start"
|
||||
assert COMMAND_MAPPING["help"] == "voice_help"
|
||||
assert COMMAND_MAPPING["restart"] == "voice_restart"
|
||||
assert COMMAND_MAPPING["emoji"] == "voice_emoji"
|
||||
assert COMMAND_MAPPING["refresh"] == "voice_refresh"
|
||||
|
||||
|
||||
def test_callback_command_mapping_structure(self):
|
||||
"""Тест структуры CALLBACK_COMMAND_MAPPING"""
|
||||
assert isinstance(CALLBACK_COMMAND_MAPPING, dict)
|
||||
assert len(CALLBACK_COMMAND_MAPPING) > 0
|
||||
|
||||
|
||||
# Проверяем, что все значения являются строками
|
||||
for key, value in CALLBACK_COMMAND_MAPPING.items():
|
||||
assert isinstance(key, str)
|
||||
assert isinstance(value, str)
|
||||
|
||||
|
||||
def test_callback_command_mapping_specific_values(self):
|
||||
"""Тест конкретных значений в CALLBACK_COMMAND_MAPPING"""
|
||||
assert "save" in CALLBACK_COMMAND_MAPPING
|
||||
assert "delete" in CALLBACK_COMMAND_MAPPING
|
||||
|
||||
|
||||
assert CALLBACK_COMMAND_MAPPING["save"] == "voice_save"
|
||||
assert CALLBACK_COMMAND_MAPPING["delete"] == "voice_delete"
|
||||
|
||||
|
||||
def test_voice_bot_name(self):
|
||||
"""Тест VOICE_BOT_NAME"""
|
||||
assert isinstance(VOICE_BOT_NAME, str)
|
||||
assert len(VOICE_BOT_NAME) > 0
|
||||
assert "voice" in VOICE_BOT_NAME.lower()
|
||||
|
||||
|
||||
def test_state_constants(self):
|
||||
"""Тест констант состояний"""
|
||||
assert isinstance(STATE_START, str)
|
||||
assert isinstance(STATE_STANDUP_WRITE, str)
|
||||
assert len(STATE_START) > 0
|
||||
assert len(STATE_STANDUP_WRITE) > 0
|
||||
|
||||
|
||||
def test_button_constants(self):
|
||||
"""Тест констант кнопок"""
|
||||
assert isinstance(BTN_SPEAK, str)
|
||||
assert isinstance(BTN_LISTEN, str)
|
||||
assert len(BTN_SPEAK) > 0
|
||||
assert len(BTN_LISTEN) > 0
|
||||
|
||||
|
||||
def test_command_constants(self):
|
||||
"""Тест констант команд"""
|
||||
assert isinstance(CMD_START, str)
|
||||
@@ -101,62 +109,62 @@ class TestVoiceConstants:
|
||||
assert isinstance(CMD_RESTART, str)
|
||||
assert isinstance(CMD_EMOJI, str)
|
||||
assert isinstance(CMD_REFRESH, str)
|
||||
|
||||
|
||||
assert CMD_START == "start"
|
||||
assert CMD_HELP == "help"
|
||||
assert CMD_RESTART == "restart"
|
||||
assert CMD_EMOJI == "emoji"
|
||||
assert CMD_REFRESH == "refresh"
|
||||
|
||||
|
||||
def test_callback_constants(self):
|
||||
"""Тест констант callback"""
|
||||
assert isinstance(CALLBACK_SAVE, str)
|
||||
assert isinstance(CALLBACK_DELETE, str)
|
||||
|
||||
|
||||
assert CALLBACK_SAVE == "save"
|
||||
assert CALLBACK_DELETE == "delete"
|
||||
|
||||
|
||||
def test_mapping_consistency(self):
|
||||
"""Тест согласованности маппингов"""
|
||||
# Проверяем, что все ключи в маппингах соответствуют константам
|
||||
assert "🎤Высказаться" in BUTTON_COMMAND_MAPPING
|
||||
assert "🎧Послушать" in BUTTON_COMMAND_MAPPING
|
||||
|
||||
|
||||
assert "start" in COMMAND_MAPPING
|
||||
assert "help" in COMMAND_MAPPING
|
||||
assert "restart" in COMMAND_MAPPING
|
||||
assert "emoji" in COMMAND_MAPPING
|
||||
assert "refresh" in COMMAND_MAPPING
|
||||
|
||||
|
||||
assert "save" in CALLBACK_COMMAND_MAPPING
|
||||
assert "delete" in CALLBACK_COMMAND_MAPPING
|
||||
|
||||
|
||||
def test_mapping_values_format(self):
|
||||
"""Тест формата значений в маппингах"""
|
||||
# Проверяем, что все значения начинаются с 'voice_'
|
||||
for value in BUTTON_COMMAND_MAPPING.values():
|
||||
assert value.startswith("voice_")
|
||||
|
||||
|
||||
for value in COMMAND_MAPPING.values():
|
||||
assert value.startswith("voice_")
|
||||
|
||||
|
||||
for value in CALLBACK_COMMAND_MAPPING.values():
|
||||
assert value.startswith("voice_")
|
||||
|
||||
|
||||
def test_no_duplicate_values(self):
|
||||
"""Тест отсутствия дублирующихся значений в пределах каждого маппинга"""
|
||||
button_values = list(BUTTON_COMMAND_MAPPING.values())
|
||||
command_values = list(COMMAND_MAPPING.values())
|
||||
callback_values = list(CALLBACK_COMMAND_MAPPING.values())
|
||||
|
||||
|
||||
# Проверяем, что нет дублирующихся значений в каждом маппинге
|
||||
assert len(button_values) == len(set(button_values))
|
||||
assert len(command_values) == len(set(command_values))
|
||||
assert len(callback_values) == len(set(callback_values))
|
||||
|
||||
|
||||
# Примечание: Дублирование между маппингами допустимо (например, voice_emoji)
|
||||
# так как одно действие может быть вызвано и командой, и кнопкой
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == "__main__":
|
||||
pytest.main([__file__])
|
||||
|
||||
Reference in New Issue
Block a user