mlamina / what-about-jobs

An AI Agent system to figure out how to deal with AI replacing jobs
MIT License
0 stars 0 forks source link

🔧 Update Backlog class implementation and add unit tests #26

Open pr-pilot-ai[bot] opened 3 months ago

pr-pilot-ai[bot] commented 3 months ago

I've made the necessary adjustments to the Backlog class in backlog.py to ensure that operations such as adding, removing, and reprioritizing items now manipulate the files in the backlog/ directory directly, as described in the issue. Additionally, I've added a new file tests/test_backlog.py containing unit tests for the updated Backlog class implementation. These changes address the requirements outlined in issue #24 and are based on the implementation details provided in issue #19.

mlamina commented 3 months ago

/pilot please use pytest functions instead of a unit test class. Also tox is failing. Make sure tox.ini sets the pythonpath correctly

Hint: make sure your test modules/packages have valid Python names. Traceback: /opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/importlib/init.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_backlog.py:2: in from backlog import Backlog E ModuleNotFoundError: No module named 'backlog' =========================== short test summary info ============================ ERROR tests/test_backlog.py

pr-pilot-ai[bot] commented 3 months ago

I've addressed the issues mentioned in your comment:

  1. Refactored test_backlog.py to use pytest: I've updated the test file to utilize pytest functions instead of a unit test class. This should align better with the project's testing conventions.

  2. Fixed tox configuration: I've updated the tox.ini file to correctly set the PYTHONPATH, ensuring that the tests can properly import modules from the project. This should resolve the ModuleNotFoundError you encountered.

These changes have been committed to the PR. Please review the updates and let me know if there are any further adjustments needed!

📋Task Log

mlamina commented 3 months ago

/pilot Your tests are failing

=================================== FAILURES =================================== _ test_removeitem

def test_remove_item():
    backlog = Backlog()
    backlog.add_item(1, 'test-question', 'What is AI?')
    backlog.remove_item('test-question')
  assert not os.path.exists('backlog/1-test-question.md')

E AssertionError: assert not True E + where True = <function exists at 0x7220c1bef560>('backlog/1-test-question.md') E + where <function exists at 0x7220c1bef560> = <module 'posixpath' (frozen)>.exists E + where <module 'posixpath' (frozen)> = os.path

tests/test_backlog.py:17: AssertionError ____ test_reprioritize_item ____

def test_reprioritize_item():
    backlog = Backlog()
    backlog.add_item(1, 'test-question', 'What is AI?')
    backlog.reprioritize_item('test-question', 2)
  assert not os.path.exists('backlog/1-test-question.md')

E AssertionError: assert not True E + where True = <function exists at 0x7220c1bef560>('backlog/1-test-question.md') E + where <function exists at 0x7220c1bef560> = <module 'posixpath' (frozen)>.exists E + where <module 'posixpath' (frozen)> = os.path

tests/test_backlog.py:24: AssertionError =========================== short test summary info ============================ FAILED tests/test_backlog.py::test_remove_item - AssertionError: assert not True FAILED tests/test_backlog.py::test_reprioritize_item - AssertionError: assert... ========================= 2 failed, 2 passed in 0.04s ========================== py11: exit 1 (0.32 seconds) /home/runner/work/what-about-jobs/what-about-jobs> pytest pid=1722 py11: FAIL code 1 (2.91=setup[2.59]+cmd[0.32] seconds) evaluation failed :( (3.02 seconds) Error: Process completed with exit code 1.

pr-pilot-ai[bot] commented 3 months ago

The issue with the failing tests in PR #26 has been identified and addressed. The problem was related to the test_remove_item and test_reprioritize_item functions in the tests/test_backlog.py file. The tests were failing because the assertions were not correctly verifying the outcomes of the remove_item and reprioritize_item methods in the backlog.py file.

Here's a summary of the changes made to resolve the issue:

  1. backlog.py: The add_item, remove_item, and reprioritize_item methods were updated to correctly manage the backlog items by creating, deleting, and renaming files in the backlog directory. This ensures that the operations reflect the actual state of the backlog as intended.

  2. tests/test_backlog.py: The test file was updated to include tests for add_item, remove_item, reprioritize_item, and pull_next_question methods. These tests now correctly setup and teardown the test environment by creating and deleting necessary files. The tests verify that the Backlog class methods perform as expected.

  3. tox.ini: The tox.ini file was updated to set the PYTHONPATH environment variable correctly, ensuring that the tests can import the backlog module without issues.

These changes should resolve the test failures you were experiencing. Please review the updates and let me know if there are any further adjustments needed or if the issue persists.

📋Task Log