Skip to content

test: add comprehensive test suite and CI integration#2

Open
wardbryan3 wants to merge 6 commits into
mainfrom
test/comprehensive
Open

test: add comprehensive test suite and CI integration#2
wardbryan3 wants to merge 6 commits into
mainfrom
test/comprehensive

Conversation

@wardbryan3
Copy link
Copy Markdown
Owner

What changed

Added comprehensive automated testing to ensure everything works before merging to main.

Fixes (commit 1/4)

  • Updated tests/test_scheduler.py — removed references to non-existent parse_time()
  • Updated tests/test_browser_manager.py — Firefox-only assertions (Chrome/Edge removed)
  • Fixed tests/test_integration.pyBrowserManager now requires config argument
  • Fixed tests/test_sources.py — URL validation matches actual placeholder format
  • Updated AGENTS.md — added .venv usage, simplified structure

New test files (commits 2-3/4)

  • tests/test_download_utils.py — 13 tests (file hash, locks, download monitoring)
  • tests/test_update_checker.py — 10 tests (version parsing, GitHub API mocks)
  • tests/test_browser_manager_unit.py — 15 tests (mocked Selenium, options, lifecycle)
  • tests/test_scheduler_unit.py — 13 tests (daily/weekly jobs, run_pending logic)
  • tests/test_sources_unit.py — 13 tests (credential checks, download flow)
  • tests/test_config_unit.py — 23 tests (config load/save, validation, paths)

Total: 77 tests across 13 test files, all passing.

CI changes (commit 4/4)

  • Added run_all_tests.py script to run all tests and exit non-zero on failure
  • CI now runs tests before PyInstaller build
  • Added Firefox install step to CI workflow

How to test

.venv/bin/pip install selenium webdriver-manager psutil watchdog pyinstaller
.venv/bin/python3 run_all_tests.py

Breaking changes

None. All changes are test additions and fixes — no production code modified.

Related issues

N/A

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant