async def test_chat_normal_prompt(self, mock_model_response):
        """Test chat tool with normal prompt."""
        tool = ChatTool()

        with patch.object(tool, "create_model") as mock_create_model:
            mock_model = MagicMock()
            mock_model.generate_content.return_value = mock_model_response("This is a helpful response about Python.")
            mock_create_model.return_value = mock_model

            result = await tool.execute({"prompt": "Explain Python decorators"})

            assert len(result) == 1
            output = json.loads(result[0].text)
            assert output["status"] == "success"
            assert "helpful response about Python" in output["content"]

            # Verify model was called
            mock_model.generate_content.assert_called_once()
Test chat tool with normal prompt.
tests/test_prompt_regression.py