mirror of
https://github.com/Aider-AI/aider.git
synced 2025-06-01 18:25:00 +00:00
Refactor test_get_tracked_files_with_new_staged_file to use a GitTemporaryDirectory and add new assertions.
This commit is contained in:
parent
85166341d1
commit
bef1d00ab1
1 changed files with 36 additions and 2 deletions
|
@ -2,14 +2,14 @@ import os
|
||||||
import tempfile
|
import tempfile
|
||||||
import unittest
|
import unittest
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch, MagicMock
|
||||||
|
|
||||||
import git
|
import git
|
||||||
|
|
||||||
from aider.dump import dump # noqa: F401
|
from aider.dump import dump # noqa: F401
|
||||||
from aider.io import InputOutput
|
from aider.io import InputOutput
|
||||||
from aider.repo import GitRepo
|
from aider.repo import GitRepo
|
||||||
|
from tests.utils import GitTemporaryDirectory
|
||||||
|
|
||||||
class TestRepo(unittest.TestCase):
|
class TestRepo(unittest.TestCase):
|
||||||
@patch("aider.repo.simple_send_with_retries")
|
@patch("aider.repo.simple_send_with_retries")
|
||||||
|
@ -80,3 +80,37 @@ class TestRepo(unittest.TestCase):
|
||||||
|
|
||||||
# Assert that coder.get_tracked_files() returns the three filenames
|
# Assert that coder.get_tracked_files() returns the three filenames
|
||||||
self.assertEqual(set(tracked_files), set(created_files))
|
self.assertEqual(set(tracked_files), set(created_files))
|
||||||
|
|
||||||
|
def test_get_tracked_files_with_new_staged_file(self):
|
||||||
|
# Mock the IO object
|
||||||
|
mock_io = MagicMock()
|
||||||
|
|
||||||
|
with GitTemporaryDirectory():
|
||||||
|
# new repo
|
||||||
|
repo = git.Repo()
|
||||||
|
|
||||||
|
# add it, but no commits at all in the repo yet
|
||||||
|
fname = Path("new.txt")
|
||||||
|
fname.touch()
|
||||||
|
repo.git.add(str(fname))
|
||||||
|
|
||||||
|
coder = GitRepo(InputOutput(), None)
|
||||||
|
|
||||||
|
# better be there
|
||||||
|
fnames = coder.get_tracked_files()
|
||||||
|
self.assertIn(str(fname), fnames)
|
||||||
|
|
||||||
|
# commit it, better still be there
|
||||||
|
repo.git.commit("-m", "new")
|
||||||
|
fnames = coder.get_tracked_files()
|
||||||
|
self.assertIn(str(fname), fnames)
|
||||||
|
|
||||||
|
# new file, added but not committed
|
||||||
|
fname2 = Path("new2.txt")
|
||||||
|
fname2.touch()
|
||||||
|
repo.git.add(str(fname2))
|
||||||
|
|
||||||
|
# both should be there
|
||||||
|
fnames = coder.get_tracked_files()
|
||||||
|
self.assertIn(str(fname), fnames)
|
||||||
|
self.assertIn(str(fname2), fnames)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue