Skip to content

test:improve test coverage

Damanagari Sathwika requested to merge test/improve-test-coverage into feature-final

Overview

This MR significantly improves test coverage, reliability, and stability of key modules in the application without changing existing functionality.


🚀 Test Coverage Improvements

File Before Coverage After Coverage
modes/team_leaderboard.py 36% 100%
tests/test_client.py 66% 100%
tests/test_asyncio_patch.py 0% 100%
tests/test_asyncio_patch_2.py 0% 100%

🔧 Changes made

modes/team_leaderboard.py

  • Added comprehensive test cases to cover all logic paths
  • Ensured coverage for sorting, filtering, and aggregation logic
  • Covered edge cases such as empty datasets and inconsistent data
  • Improved reliability through full branch coverage

gitlab_utils/client.py

  • Added test cases to validate API interactions
  • Covered success and failure scenarios
  • Ensured proper handling of unexpected API responses

batch_mode/export_service.py

  • Added tests for export workflows
  • Covered edge cases like empty and malformed data
  • Ensured robustness of batch processing logic

Async Patch Test Files

  • tests/test_asyncio_patch.py
  • tests/test_asyncio_patch_2.py

Added full async test coverage including:

  • asyncio event loop handling (success & failure)
  • RuntimeError scenarios
  • asyncio.new_event_loop fallback
  • nest_asyncio.apply execution
  • Multiple execution paths and edge cases

🎯 Why these changes?

  • To achieve 100% test coverage across critical modules
  • To ensure all branches, edge cases, and exceptions are tested
  • To improve code reliability and prevent regressions
  • To strengthen CI/CD pipeline stability
  • To maintain existing functionality without any changes

🧪 How to set up and validate locally

  1. Checkout the branch:

    git checkout test/improve-test-coverage
    git pull origin test/improve-test-coverage
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run tests with coverage:

    pytest --cov=. 
    
  4. Verify:

    • All tests pass
    • Coverage shows 100% for updated files
    • No functionality is broken

MR acceptance checklist

  • No existing functionality changed
  • 100% test coverage achieved for targeted modules
  • All edge cases and exception paths covered
  • Tests are stable and deterministic
  • No breaking changes introduced
  • Code quality and maintainability improved
Edited by Damanagari Sathwika

Merge request reports

Loading