"""Tests for SubagentManager.""" from pathlib import Path from unittest.mock import MagicMock import pytest from nanobot.agent.subagent import SubagentManager from nanobot.bus.queue import MessageBus from nanobot.providers.base import LLMProvider @pytest.mark.asyncio async def test_subagent_uses_tool_loader(): """Verify subagent registers tools via ToolLoader, not hard-coded imports.""" provider = MagicMock(spec=LLMProvider) provider.get_default_model.return_value = "test" sm = SubagentManager( provider=provider, workspace=Path("/tmp"), bus=MessageBus(), model="test", max_tool_result_chars=16_000, ) tools = sm._build_tools() assert tools.has("read_file") assert tools.has("write_file") assert tools.has("glob") assert not tools.has("message") assert not tools.has("spawn")