test(coverage): add Behave scenarios for under-tested modules #419

Merged
freemo merged 1 commit from test/improve-coverage into master 2026-02-24 17:54:37 +00:00
Owner

Summary

Adds Behave BDD scenarios targeting nine modules that had low or zero unit test coverage. Four modules previously had 0% coverage (config_service.py, correction_service.py, resource_handler_service.py, repl.py) and now have comprehensive test suites. Five additional modules with minor gaps (plan_executor.py, plan_lifecycle_service.py, plan.py CLI, skill.py CLI, models.py DB) receive targeted scenarios exercising their specific uncovered lines and branches.

Changes

New Test Files (18 files total — 9 feature + 9 step definition)

Module Feature File Steps File Scenarios
config_service.py config_service_coverage.feature config_service_coverage_steps.py Full public API
correction_service.py correction_service_coverage.feature correction_service_coverage_steps.py 50 scenarios covering request, impact analysis, dry-run, execute, dispatch, cancel, risk classification
resource_handler_service.py resource_handler_service_coverage.feature resource_handler_service_coverage_steps.py Full public API
repl.py repl_coverage.feature repl_coverage_steps.py Full public API
plan_executor.py plan_executor_coverage.feature plan_executor_coverage_steps.py Lines 144, 225, 233–235, 273, 483, 490
plan_lifecycle_service.py plan_lifecycle_service_persistence_coverage.feature plan_lifecycle_service_persistence_coverage_steps.py Lines 340–341, 376–380
plan.py (CLI) plan_cli_cancel_revert_coverage.feature plan_cli_cancel_revert_coverage_steps.py Lines 1817–1888 (cancel/revert)
skill.py (CLI) skill_cli_coverage.feature skill_cli_coverage_steps.py Lines 273, 343–344, 353, 393, 589–594
models.py (DB) database_models_missing_coverage.feature database_models_missing_coverage_steps.py Lines 1666, 1921, 2131–2132

No Production Code Changes

This PR is test-only. No files under src/ were modified.

Test Results

274 features passed, 0 failed, 0 errored, 7 skipped
5746 scenarios passed, 0 failed, 0 errored, 0 skipped
24906 steps passed, 0 failed, 0 errored, 0 skipped
nox > Session unit_tests-3.13 was successful in 12 minutes.

Closes #418

## Summary Adds Behave BDD scenarios targeting nine modules that had low or zero unit test coverage. Four modules previously had 0% coverage (`config_service.py`, `correction_service.py`, `resource_handler_service.py`, `repl.py`) and now have comprehensive test suites. Five additional modules with minor gaps (`plan_executor.py`, `plan_lifecycle_service.py`, `plan.py` CLI, `skill.py` CLI, `models.py` DB) receive targeted scenarios exercising their specific uncovered lines and branches. ## Changes ### New Test Files (18 files total — 9 feature + 9 step definition) | Module | Feature File | Steps File | Scenarios | |--------|-------------|------------|-----------| | `config_service.py` | `config_service_coverage.feature` | `config_service_coverage_steps.py` | Full public API | | `correction_service.py` | `correction_service_coverage.feature` | `correction_service_coverage_steps.py` | 50 scenarios covering request, impact analysis, dry-run, execute, dispatch, cancel, risk classification | | `resource_handler_service.py` | `resource_handler_service_coverage.feature` | `resource_handler_service_coverage_steps.py` | Full public API | | `repl.py` | `repl_coverage.feature` | `repl_coverage_steps.py` | Full public API | | `plan_executor.py` | `plan_executor_coverage.feature` | `plan_executor_coverage_steps.py` | Lines 144, 225, 233–235, 273, 483, 490 | | `plan_lifecycle_service.py` | `plan_lifecycle_service_persistence_coverage.feature` | `plan_lifecycle_service_persistence_coverage_steps.py` | Lines 340–341, 376–380 | | `plan.py` (CLI) | `plan_cli_cancel_revert_coverage.feature` | `plan_cli_cancel_revert_coverage_steps.py` | Lines 1817–1888 (cancel/revert) | | `skill.py` (CLI) | `skill_cli_coverage.feature` | `skill_cli_coverage_steps.py` | Lines 273, 343–344, 353, 393, 589–594 | | `models.py` (DB) | `database_models_missing_coverage.feature` | `database_models_missing_coverage_steps.py` | Lines 1666, 1921, 2131–2132 | ### No Production Code Changes This PR is test-only. No files under `src/` were modified. ### Test Results ``` 274 features passed, 0 failed, 0 errored, 7 skipped 5746 scenarios passed, 0 failed, 0 errored, 0 skipped 24906 steps passed, 0 failed, 0 errored, 0 skipped nox > Session unit_tests-3.13 was successful in 12 minutes. ``` ## Related Issues Closes #418
freemo added this to the v3.1.0 milestone 2026-02-24 16:18:39 +00:00
freemo force-pushed test/improve-coverage from 0bdac2665e
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 12s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 22s
CI / security (pull_request) Successful in 30s
CI / typecheck (pull_request) Successful in 41s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 2m29s
CI / unit_tests (pull_request) Successful in 7m20s
CI / docker (pull_request) Has been skipped
to 4c336e658c
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 14s
CI / build (pull_request) Successful in 15s
CI / quality (pull_request) Successful in 20s
CI / security (pull_request) Successful in 32s
CI / typecheck (pull_request) Successful in 37s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 2m28s
CI / unit_tests (pull_request) Successful in 7m23s
CI / docker (pull_request) Has been skipped
2026-02-24 17:00:08 +00:00
Compare
freemo force-pushed test/improve-coverage from 646c954cb0
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Failing after 13s
CI / build (pull_request) Successful in 16s
CI / quality (pull_request) Successful in 22s
CI / security (pull_request) Successful in 31s
CI / typecheck (pull_request) Successful in 46s
CI / coverage (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 2m31s
CI / unit_tests (pull_request) Successful in 7m25s
CI / docker (pull_request) Has been skipped
to 3714971f6a
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
2026-02-24 17:18:54 +00:00
Compare
freemo force-pushed test/improve-coverage from 3714971f6a
Some checks failed
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 15s
CI / typecheck (pull_request) Has been cancelled
CI / quality (pull_request) Has been cancelled
CI / coverage (pull_request) Has been cancelled
CI / build (pull_request) Has been cancelled
CI / unit_tests (pull_request) Has been cancelled
CI / docker (pull_request) Has been cancelled
CI / integration_tests (pull_request) Has been cancelled
CI / benchmark-regression (pull_request) Has been cancelled
CI / security (pull_request) Has been cancelled
to 55aee7cf22
All checks were successful
CI / lint (pull_request) Successful in 18s
CI / quality (pull_request) Successful in 21s
CI / benchmark-publish (pull_request) Has been skipped
CI / build (pull_request) Successful in 14s
CI / security (pull_request) Successful in 49s
CI / typecheck (pull_request) Successful in 56s
CI / integration_tests (pull_request) Successful in 2m35s
CI / unit_tests (pull_request) Successful in 14m30s
CI / docker (pull_request) Successful in 55s
CI / benchmark-regression (pull_request) Successful in 21m11s
CI / coverage (pull_request) Successful in 34m22s
CI / lint (push) Successful in 12s
CI / build (push) Successful in 16s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 29s
CI / typecheck (push) Successful in 1m0s
CI / benchmark-regression (push) Has been skipped
CI / integration_tests (push) Successful in 4m54s
CI / benchmark-publish (push) Successful in 11m48s
CI / unit_tests (push) Successful in 16m30s
CI / docker (push) Successful in 28s
CI / coverage (push) Successful in 25m45s
2026-02-24 17:19:13 +00:00
Compare
freemo scheduled this pull request to auto merge when all checks succeed 2026-02-24 17:33:43 +00:00
freemo merged commit 55aee7cf22 into master 2026-02-24 17:54:37 +00:00
freemo deleted branch test/improve-coverage 2026-02-24 17:54:38 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!419
No description provided.