Files
meeting-protocol-service/backend/tests/test_protocol_generator.py
T
2026-04-03 22:24:53 +05:00

42 lines
1.6 KiB
Python

import pytest
from unittest.mock import patch, MagicMock
from app.services.protocol_generator import generate_protocol_text
@pytest.mark.asyncio
async def test_generate_protocol_text_returns_structured_result():
mock_template = MagicMock()
mock_template.system_prompt = "You are an analyst."
mock_template.user_prompt = "Create protocol from: {transcription}"
mock_response = MagicMock()
mock_response.choices = [MagicMock()]
mock_response.choices[0].message.content = '{"topic": "Test meeting", "decisions": ["Decision 1"]}'
mock_response.model = "test-model"
with patch("app.services.protocol_generator.completion", return_value=mock_response):
result = generate_protocol_text("Hello this is a meeting", mock_template)
assert result["content"]["topic"] == "Test meeting"
assert result["raw_text"] == '{"topic": "Test meeting", "decisions": ["Decision 1"]}'
assert result["model"] == "test-model"
@pytest.mark.asyncio
async def test_generate_protocol_text_handles_non_json_response():
mock_template = MagicMock()
mock_template.system_prompt = "You are an analyst."
mock_template.user_prompt = "Create protocol from: {transcription}"
mock_response = MagicMock()
mock_response.choices = [MagicMock()]
mock_response.choices[0].message.content = "Not valid JSON response"
mock_response.model = "test-model"
with patch("app.services.protocol_generator.completion", return_value=mock_response):
result = generate_protocol_text("Hello", mock_template)
assert "raw" in result["content"]
assert result["content"]["raw"] == "Not valid JSON response"