From 7e92e558cbdfc5e37e0810ee5f4605cd4c22444f Mon Sep 17 00:00:00 2001 From: Markov Andrey Date: Tue, 30 Jun 2026 09:21:49 +0000 Subject: [PATCH] Add new file --- core/tests/test_consistency.py | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 core/tests/test_consistency.py diff --git a/core/tests/test_consistency.py b/core/tests/test_consistency.py new file mode 100644 index 0000000..5250792 --- /dev/null +++ b/core/tests/test_consistency.py @@ -0,0 +1,56 @@ +# -*- 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 \ No newline at end of file