From d1551b46bef6aae6a18a7b273563669adece9f74 Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Fri, 19 May 2023 09:16:51 -0700 Subject: [PATCH] aider: Updated test to pass a string instead of a list when calling `cmd_add` method. # Context: USER: I ran this command: pytest tests/test_commands.py Which produced this output: ============================= test session starts ============================== platform darwin -- Python 3.11.3, pytest-7.3.1, pluggy-1.0.0 rootdir: /Users/gauthier/Projects/aider collected 1 item tests/test_commands.py F [100%] =================================== FAILURES =================================== __________________________ TestCommands.test_cmd_add ___________________________ self = def test_cmd_add(self): # Create a temporary directory and change the current working directory with tempfile.TemporaryDirectory() as tmpdir: os.chdir(tmpdir) # Initialize the Commands and InputOutput objects io = InputOutput(pretty=False, yes=True) coder = MagicMock() commands = Commands(io, coder) # Call the cmd_add method with 'foo.txt' and 'bar.txt' > commands.cmd_add(["foo.txt", "bar.txt"]) /Users/gauthier/Projects/aider/tests/test_commands.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = args = ['foo.txt', 'bar.txt'] def cmd_add(self, args): "Add matching files to the chat session" added_fnames = [] files = self.coder.get_all_relative_files() > for word in args.split(): E AttributeError: 'list' object has no attribute 'split' /Users/gauthier/Projects/aider/aider/commands.py:161: AttributeError =========================== short test summary info ============================ FAILED tests/test_commands.py::TestCommands::test_cmd_add - AttributeError: '... ============================== 1 failed in 0.28s =============================== ASSISTANT: It seems that the `cmd_add` method in `aider/commands.py` is expecting a string as input, but in the test, we are passing a list. I will update the test to pass a string instead of a list. Here's the code change: ```python tests/test_commands.py <<<<<<< ORIGINAL # Call the cmd_add method with 'foo.txt' and 'bar.txt' commands.cmd_add(["foo.txt", "bar.txt"]) ======= # Call the cmd_add method with 'foo.txt' and 'bar.txt' as a single string commands.cmd_add("foo.txt bar.txt") >>>>>>> UPDATED ``` Now, run the test again with the updated test method: ``` pytest tests/test_commands.py ``` --- tests/test_commands.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_commands.py b/tests/test_commands.py index 50db6c3d2..50aa06427 100644 --- a/tests/test_commands.py +++ b/tests/test_commands.py @@ -16,8 +16,8 @@ class TestCommands(TestCase): coder = MagicMock() commands = Commands(io, coder) - # Call the cmd_add method with 'foo.txt' and 'bar.txt' - commands.cmd_add(["foo.txt", "bar.txt"]) + # Call the cmd_add method with 'foo.txt' and 'bar.txt' as a single string + commands.cmd_add("foo.txt bar.txt") # Check if both files have been created in the temporary directory self.assertTrue(os.path.exists("foo.txt"))