fix: Set coder.partial_response_content in mocked send() method

This commit is contained in:
Paul Gauthier (aider) 2024-08-01 15:40:23 -03:00
parent 82a0e5ec40
commit 830868605b

View file

@ -10,7 +10,10 @@ class TestScriptingAPI(unittest.TestCase):
@patch("aider.coders.base_coder.Coder.send")
def test_basic_scripting(self, mock_send):
# Setup
mock_send.return_value = "Changes applied successfully."
def mock_send_side_effect(messages):
coder.partial_response_content = "Changes applied successfully."
return "Changes applied successfully."
mock_send.side_effect = mock_send_side_effect
# Test script
fnames = ["greeting.py"]
@ -28,11 +31,15 @@ class TestScriptingAPI(unittest.TestCase):
mock_send.assert_any_call([{"role": "user", "content": "make it say goodbye"}])
self.assertEqual(result1, "Changes applied successfully.")
self.assertEqual(result2, "Changes applied successfully.")
self.assertEqual(coder.partial_response_content, "Changes applied successfully.")
@patch("aider.coders.base_coder.Coder.send")
def test_scripting_with_io(self, mock_send):
# Setup
mock_send.return_value = "New function added successfully."
def mock_send_side_effect(messages):
coder.partial_response_content = "New function added successfully."
return "New function added successfully."
mock_send.side_effect = mock_send_side_effect
# Test script
fnames = ["greeting.py"]
@ -46,6 +53,7 @@ class TestScriptingAPI(unittest.TestCase):
mock_send.assert_called_once_with([{"role": "user", "content": "add a new function"}])
self.assertEqual(result, "New function added successfully.")
self.assertTrue(io.yes) # Check that 'yes' is set to True
self.assertEqual(coder.partial_response_content, "New function added successfully.")
if __name__ == "__main__":