import pytest from agents.business_analyst import BusinessAnalystAgent from agents.designer import DesignerAgent from agents.developer import DeveloperAgent from agents.tester import TesterAgent from agents.project_manager import ProjectManagerAgent @pytest.mark.asyncio async def test_business_analyst(): agent = BusinessAnalystAgent() requirements = "Create a simple todo list application" result = await agent.create_user_stories(requirements) assert result["status"] == "success" assert "user_stories" in result @pytest.mark.asyncio async def test_designer(): agent = DesignerAgent() user_stories = "As a user, I want to add tasks to my todo list" result = await agent.create_design(user_stories) assert result["status"] == "success" assert "design" in result @pytest.mark.asyncio async def test_developer(): agent = DeveloperAgent() design = "Create a REST API for todo list management" result = await agent.generate_code(design) assert result["status"] == "success" assert "code" in result @pytest.mark.asyncio async def test_tester(): agent = TesterAgent() code = "def add_task(task): return True" result = await agent.create_test_cases(code) assert result["status"] == "success" assert "test_cases" in result @pytest.mark.asyncio async def test_project_manager(): agent = ProjectManagerAgent() requirements = "Create a simple todo list application" result = await agent.start_project(requirements) assert result["status"] == "success" assert all(key in result for key in ["user_stories", "design", "code", "test_results"])