Generated: 2026-05-23 22:30:22 UTC
- Total Use Cases: 10
- Tested Use Cases: 0
- Untested Use Cases: 10
- Current Coverage: 0.0%
- Target Coverage: 85%
- Gap: 10 use cases to test
- Use Cases: 26
- Tested: 0
- Coverage: 0.0%
- Untested: DL
- Use Cases: 25
- Tested: 0
- Coverage: 0.0%
- Use Cases: 9
- Tested: 0
- Coverage: 0.0%
- Untested: MP
- Use Cases: 12
- Tested: 0
- Coverage: 0.0%
- Untested: SYS
- Use Cases: 20
- Tested: 0
- Coverage: 0.0%
- Untested: I
- Use Cases: 12
- Tested: 0
- Coverage: 0.0%
- Use Cases: 6
- Tested: 0
- Coverage: 0.0%
- Use Cases: 9
- Tested: 0
- Coverage: 0.0%
- Untested: P, RS
- Use Cases: 19
- Tested: 0
- Coverage: 0.0%
- Untested: M, Q
- Use Cases: 8
- Tested: 0
- Coverage: 0.0%
- Untested: CF
- Use Cases: 7
- Tested: 0
- Coverage: 0.0%
- Untested: ST
Description: All remaining untested use cases Use Cases (10): DL, M, P, MP, SYS, I, RS, Q, CF, ST Estimated Tests: ~20
- DL
- MP
- SYS
- I
- P
- RS
- M
- Q
- CF
- ST
-
Complete Phase 1 Testing
- Focus on: None (all complete!)
- Estimated effort: 0 tests
-
Review Existing Test Coverage
- Run:
uv run pytest packages/ --cov=packages/ --cov-report=term-missing - Identify modules with < 50% coverage
- Map modules to use cases
- Run:
-
Create Test Templates
- Use existing behavior tests as templates
- Follow naming convention:
test_<USE_CASE>_behavior.py - Include unit tests and integration tests
-
Complete Phase 2 & 3
- Phase 2: 0 use cases, ~0 tests
- Phase 3: 0 use cases, ~0 tests
-
Improve Coverage in Key Modules
- Focus on agents package (SceneLoop, ContextAssembly, Narrator)
- Focus on data-layer MCP tools
- Aim for 85%+ coverage in core modules
-
Complete Phases 4-6
- Remaining: 10 use cases
-
Maintain Test Coverage
- Enforce test requirements in PR reviews
- Use CI gates to reject code without tests
- Update tests when use cases change
To identify low-coverage modules, run:
uv run pytest packages/ --cov=packages/ --cov-report=term-missing --cov-report=htmlThen focus on modules with < 50% coverage:
-
packages/agents/: Agent orchestration and LLM calls
- Test: SceneLoop, ContextAssembly, Narrator agents
- Use cases: P-1, P-2, P-3, P-4, P-5, P-6
-
packages/data-layer/src/monitor_data/tools/: MCP tools
- Test: All MCP tool functions
- Use cases: DL-1 through DL-26
-
packages/cli/: CLI commands
- Test: Command handlers and user interaction
- Use cases: SYS-1, SYS-2, SYS-3, M-1, M-2, P-1
For each untested use case, create the following test functions:
-
Schema Validation Tests
- Test that Pydantic schemas validate correctly
- Test required fields and optional fields
- Test invalid inputs
-
Function Existence Tests
- Verify that MCP tools exist and are callable
- Verify that agent methods exist
-
Happy Path Tests
- Test successful execution with valid inputs
- Verify expected outputs
-
Error Path Tests
- Test error handling for invalid inputs
- Test error handling for missing dependencies
-
Integration Tests (where applicable)
- Test end-to-end workflows
- Test cross-layer interactions
# tests/behavior/test_<USE_CASE>_behavior.py
"""Behavior tests for <USE_CASE>: <Use Case Name>."""
from __future__ import annotations
import pytest
from uuid import uuid4
from unittest.mock import patch, MagicMock
# Import relevant schemas and functions
class Test<USE_CASE_ID>HappyPath:
"""Scenario 1: Happy path tests."""
def test_<function_name>_exists(self):
"""Test that the function exists."""
assert <function_name> is not None
def test_<operation>_success(self):
"""Test successful <operation>."""
# Arrange
# Act
# Assert
pass
class Test<USE_CASE_ID>ErrorPaths:
"""Scenario 2: Error path tests."""
def test_<operation>_with_invalid_input(self):
"""Test <operation> with invalid input."""
with pytest.raises(ValueError):
# Arrange & Act
passThis report is auto-generated. Update as use cases and tests evolve.