[#106] Add tests for cron, heartbeat, subagent plugins #113

Merged
k9ert merged 1 commit from story-106 into main 2026-02-26 16:04:38 +00:00
Collaborator

Closes #106

Changes

83 new tests across 3 plugins:

Cron Plugin (44 tests)

  • Plugin creation and meta
  • Configuration (empty, single/multiple jobs, defaults, quiet hours)
  • Add/remove jobs dynamically
  • Schedule parsing (minutes, hours, cron expressions, invalid input)
  • Quiet hours detection
  • Prompt loading (inline, file, missing file, no prompt)
  • Poll main session jobs (due, isolated skipped, disabled skipped, not yet due)
  • Tool provider (add/remove/list tools, validation, system job protection)
  • Lifecycle (start/stop)

Heartbeat Plugin (13 tests)

  • Plugin creation and meta
  • Configuration (enabled/disabled, interval, prompt file, quiet hours)
  • Lifecycle with cron integration (registers/removes heartbeat job)
  • Default prompt file creation when missing

Subagent Plugin (26 tests)

  • Plugin creation and meta
  • Configuration (defaults, custom values)
  • Spawn (success, no LLM, concurrency limit, count management, context, system prompt, timeout clamping)
  • Prompt building (task only, dict context, string context)
  • Tool provider and SubagentResult dataclass

Verification

  • 483 passed, 1 skipped, 0 failed
  • ruff check cobot/ — all passed
  • ruff format --check cobot/ — all formatted
Closes #106 ## Changes 83 new tests across 3 plugins: ### Cron Plugin (44 tests) - Plugin creation and meta - Configuration (empty, single/multiple jobs, defaults, quiet hours) - Add/remove jobs dynamically - Schedule parsing (minutes, hours, cron expressions, invalid input) - Quiet hours detection - Prompt loading (inline, file, missing file, no prompt) - Poll main session jobs (due, isolated skipped, disabled skipped, not yet due) - Tool provider (add/remove/list tools, validation, system job protection) - Lifecycle (start/stop) ### Heartbeat Plugin (13 tests) - Plugin creation and meta - Configuration (enabled/disabled, interval, prompt file, quiet hours) - Lifecycle with cron integration (registers/removes heartbeat job) - Default prompt file creation when missing ### Subagent Plugin (26 tests) - Plugin creation and meta - Configuration (defaults, custom values) - Spawn (success, no LLM, concurrency limit, count management, context, system prompt, timeout clamping) - Prompt building (task only, dict context, string context) - Tool provider and SubagentResult dataclass ## Verification - 483 passed, 1 skipped, 0 failed - `ruff check cobot/` — all passed - `ruff format --check cobot/` — all formatted
[#106] test: add tests for cron, heartbeat, subagent plugins
All checks were successful
CI / lint (pull_request) Successful in 10s
CI / test (3.11) (pull_request) Successful in 22s
CI / test (3.12) (pull_request) Successful in 25s
CI / test (3.13) (pull_request) Successful in 25s
E2E Tests / e2e (pull_request) Successful in 15s
CI / build (pull_request) Successful in 7s
677cd6c2ff
83 new tests:
- Cron (44): creation, meta, config, add/remove jobs, schedule parsing,
  quiet hours, prompt loading, poll main session, tool provider, lifecycle
- Heartbeat (13): creation, meta, config, lifecycle (disabled, enabled,
  cron integration, default prompt creation, stop cleanup)
- Subagent (26): creation, meta, config, spawn (success, no LLM,
  concurrency limit, count management, context, system prompt, timeout),
  prompt building, tool provider, lifecycle, result dataclass
k9ert approved these changes 2026-02-26 16:04:24 +00:00
k9ert merged commit 6f9521d482 into main 2026-02-26 16:04:38 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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
ultanio/cobot!113
No description provided.