mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-21 21:04:59 +00:00
feat: add tests for commit_prompt functionality
The new test case `test_get_commit_message_with_custom_prompt` ensures that when a custom `commit_prompt` is provided to the `GitRepo` constructor, it's used instead of the default prompt when generating commit messages. The test checks that: 1. The custom commit prompt is passed correctly to the `simple_send_with_retries` function. 2. The returned commit message is as expected. 3. The `simple_send_with_retries` function is called only once (since we're using a single model). This new test case, along with the existing `test_get_commit_message_no_strip_unmatched_quotes` test, provides better coverage for the `get_commit_message` method in the `GitRepo` class.
This commit is contained in:
parent
f85a9c1195
commit
7d2f184b36
1 changed files with 13 additions and 0 deletions
|
@ -148,6 +148,19 @@ class TestRepo(unittest.TestCase):
|
|||
# Assert that the returned message is the expected one
|
||||
self.assertEqual(result, 'a good "commit message"')
|
||||
|
||||
@patch("aider.repo.simple_send_with_retries")
|
||||
def test_get_commit_message_with_custom_prompt(self, mock_send):
|
||||
mock_send.return_value = "Custom commit message"
|
||||
custom_prompt = "Generate a commit message in the style of Shakespeare"
|
||||
|
||||
repo = GitRepo(InputOutput(), None, None, models=[self.GPT35], commit_prompt=custom_prompt)
|
||||
result = repo.get_commit_message("dummy diff", "dummy context")
|
||||
|
||||
self.assertEqual(result, "Custom commit message")
|
||||
mock_send.assert_called_once()
|
||||
_, kwargs = mock_send.call_args
|
||||
self.assertEqual(kwargs['messages'][0]['content'], custom_prompt)
|
||||
|
||||
@patch("aider.repo.GitRepo.get_commit_message")
|
||||
def test_commit_with_custom_committer_name(self, mock_send):
|
||||
mock_send.return_value = '"a good commit message"'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue