Skip to main content

Testing

Run the test suite from the project root:

python -m pytest tests/ -v

What tests should protect​

Tests should verify observable behavior rather than private implementation details. Prioritize:

  • file discovery and categorization;
  • preview plans and confirmed organization;
  • filename conflicts and overwrite prevention;
  • undo and history validation;
  • duplicate-removal strategies;
  • ignore rules and custom categories;
  • watch-mode startup, events, and shutdown;
  • failure handling and useful diagnostics.

Regression tests​

Every bug fix should include a test that would have failed before the fix. Prefer small tests that isolate one behavior, then retain an integration test for important end-to-end workflows.

Cross-platform checks​

FOLDR targets Linux, macOS, and Windows. For filesystem-sensitive changes, verify path handling, permissions, and watcher behavior on the platforms affected by the change.