Add new file
This commit is contained in:
58
core/tests/test_summarize.py
Normal file
58
core/tests/test_summarize.py
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Тесты для модуля суммаризации документа.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
from core.functions.summarize_document import summarize_document
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_summarize_success(mock_giga, mock_bot_config):
|
||||||
|
"""
|
||||||
|
Тест: успешная суммаризация.
|
||||||
|
"""
|
||||||
|
mock_giga.chat.return_value = "Краткое содержание документа: ... [Суммаризация документа: test.docx]"
|
||||||
|
|
||||||
|
result = await summarize_document(
|
||||||
|
giga=mock_giga,
|
||||||
|
text="Длинный текст документа...",
|
||||||
|
title="test.docx",
|
||||||
|
prompt_text="Ты — эксперт по суммаризации...",
|
||||||
|
bot_config=mock_bot_config
|
||||||
|
)
|
||||||
|
assert "Краткое содержание" in result
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_summarize_empty_prompt(mock_giga, mock_bot_config):
|
||||||
|
"""
|
||||||
|
Тест: при пустом промпте возвращается сообщение об ошибке.
|
||||||
|
"""
|
||||||
|
result = await summarize_document(
|
||||||
|
giga=mock_giga,
|
||||||
|
text="Текст",
|
||||||
|
title="doc.docx",
|
||||||
|
prompt_text="",
|
||||||
|
bot_config=mock_bot_config
|
||||||
|
)
|
||||||
|
assert "Не удалось загрузить промпт" in result
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_summarize_long_text(mock_giga, mock_bot_config):
|
||||||
|
"""
|
||||||
|
Тест: текст обрезается до max_chars.
|
||||||
|
"""
|
||||||
|
mock_giga.chat.return_value = "Суммаризация..."
|
||||||
|
long_text = "a" * 10000 # 10 000 символов
|
||||||
|
|
||||||
|
result = await summarize_document(
|
||||||
|
giga=mock_giga,
|
||||||
|
text=long_text,
|
||||||
|
title="test.docx",
|
||||||
|
prompt_text="Ты — эксперт...",
|
||||||
|
bot_config=mock_bot_config
|
||||||
|
)
|
||||||
|
# Проверяем, что chat был вызван (значит, обрезка прошла без ошибок)
|
||||||
|
mock_giga.chat.assert_called_once()
|
||||||
Reference in New Issue
Block a user