DeepBoner / tests /unit /agents /test_magentic_agents_domain.py
VibecoderMcSwaggins's picture
refactor(prompts): Unify prompt storage in src/prompts/ (Priority 5) (#127)
f295ef3 unverified
"""Tests for Magentic Agents domain support."""
from unittest.mock import patch
from src.agents.magentic_agents import (
create_hypothesis_agent,
create_judge_agent,
create_report_agent,
create_search_agent,
)
from src.config.domain import SEXUAL_HEALTH_CONFIG, ResearchDomain
class TestMagenticAgentsDomain:
@patch("src.agents.magentic_agents.ChatAgent")
@patch("src.agents.magentic_agents.get_chat_client")
def test_create_search_agent_uses_domain(self, mock_get_client, mock_agent_cls):
create_search_agent(domain=ResearchDomain.SEXUAL_HEALTH)
# Check instructions or description passed to ChatAgent
call_kwargs = mock_agent_cls.call_args.kwargs
assert SEXUAL_HEALTH_CONFIG.search_agent_description in call_kwargs["description"]
# Ideally check instructions too if we update them
@patch("src.agents.magentic_agents.ChatAgent")
@patch("src.agents.magentic_agents.get_chat_client")
def test_create_judge_agent_uses_domain(self, mock_get_client, mock_agent_cls):
create_judge_agent(domain=ResearchDomain.SEXUAL_HEALTH)
# Verify domain-specific judge system prompt is passed through
call_kwargs = mock_agent_cls.call_args.kwargs
assert SEXUAL_HEALTH_CONFIG.name in call_kwargs["instructions"]
@patch("src.agents.magentic_agents.ChatAgent")
@patch("src.agents.magentic_agents.get_chat_client")
def test_create_hypothesis_agent_uses_domain(self, mock_get_client, mock_agent_cls):
create_hypothesis_agent(domain=ResearchDomain.SEXUAL_HEALTH)
call_kwargs = mock_agent_cls.call_args.kwargs
assert SEXUAL_HEALTH_CONFIG.hypothesis_agent_description in call_kwargs["description"]
@patch("src.agents.magentic_agents.ChatAgent")
@patch("src.agents.magentic_agents.get_chat_client")
def test_create_report_agent_uses_domain(self, mock_get_client, mock_agent_cls):
create_report_agent(domain=ResearchDomain.SEXUAL_HEALTH)
# Check instructions contains domain prompt
call_kwargs = mock_agent_cls.call_args.kwargs
assert SEXUAL_HEALTH_CONFIG.name in call_kwargs["instructions"]