# -*- 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