From 76f039d544675526e0e61aaf894a74a4c334cabe Mon Sep 17 00:00:00 2001 From: Markov Andrey Date: Tue, 30 Jun 2026 09:21:27 +0000 Subject: [PATCH] Add new file --- core/tests/test_check_spelling.py | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 core/tests/test_check_spelling.py diff --git a/core/tests/test_check_spelling.py b/core/tests/test_check_spelling.py new file mode 100644 index 0000000..0be8d02 --- /dev/null +++ b/core/tests/test_check_spelling.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +""" +Тесты для модуля проверки орфографии (только логика парсинга, без реального вызова LLM). +""" + +import pytest +from unittest.mock import AsyncMock, MagicMock +from core.functions.check_spelling import check_spelling + + +@pytest.mark.asyncio +async def test_spelling_no_errors(): + """ + Тест: если ошибок нет, возвращается пустой словарь. + """ + # Создаём мок бота с минимальными настройками + bot = MagicMock() + bot.ai_prompts = {'spellcheck': 'Ты — корректор...'} + bot.config = MagicMock() + bot.config.chunk_size_tokens = 200 + bot.config.overlap_tokens = 50 + bot.config.chunking_approx_chunk_chars = 500 + bot.config.chunking_approx_overlap_chars = 100 + + # Мокаем giga.chat, чтобы он возвращал ответ без исправлений + bot.giga = AsyncMock() + bot.giga.chat.return_value = "[CORRECTED]\nТекст без ошибок\n[/CORRECTED]\n[CHANGES]\n[/CHANGES]" + + replacements, changes = await check_spelling( + bot=bot, + original_text="Текст без ошибок", + original_path="/tmp/test.docx" + ) + assert replacements == {} + assert changes == [] \ No newline at end of file