56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
||
"""
|
||
Тесты для модуля проверки противоречий.
|
||
"""
|
||
|
||
import pytest
|
||
from core.functions.check_consistency import check_consistency
|
||
|
||
|
||
@pytest.mark.asyncio
|
||
async def test_consistency_ok(mock_giga, mock_bot_config):
|
||
"""
|
||
Тест: если противоречий нет, возвращается "[OK]".
|
||
"""
|
||
mock_giga.chat.return_value = "[OK]"
|
||
|
||
result = await check_consistency(
|
||
giga=mock_giga,
|
||
chunks=["OEE составляет 85%", "OEE составляет 85%"],
|
||
query="Какой OEE?",
|
||
prompt_text="Ты — эксперт по верификации...",
|
||
bot_config=mock_bot_config
|
||
)
|
||
assert "[OK]" in result
|
||
|
||
|
||
@pytest.mark.asyncio
|
||
async def test_consistency_conflict(mock_giga, mock_bot_config):
|
||
"""
|
||
Тест: при обнаружении противоречий возвращается "[CONFLICT]".
|
||
"""
|
||
mock_giga.chat.return_value = "[CONFLICT]\n- Расхождение в цифрах\n[/CONFLICT]"
|
||
|
||
result = await check_consistency(
|
||
giga=mock_giga,
|
||
chunks=["OEE 85%", "OEE 90%"],
|
||
query="Какой OEE?",
|
||
prompt_text="Ты — эксперт по верификации...",
|
||
bot_config=mock_bot_config
|
||
)
|
||
assert "[CONFLICT]" in result
|
||
|
||
|
||
@pytest.mark.asyncio
|
||
async def test_consistency_too_few_chunks(mock_giga, mock_bot_config):
|
||
"""
|
||
Тест: если меньше 2 фрагментов, возвращается сообщение об ошибке.
|
||
"""
|
||
result = await check_consistency(
|
||
giga=mock_giga,
|
||
chunks=["Один фрагмент"],
|
||
query="Какой OEE?",
|
||
prompt_text="Ты — эксперт...",
|
||
bot_config=mock_bot_config
|
||
)
|
||
assert "Недостаточно фрагментов" in result |