Files
cleveractors-core/features/inline_yaml_jinja_coverage.feature
CoreRasurae 9753b31c7e
CI / quality (push) Successful in 36s
CI / lint (push) Successful in 38s
CI / typecheck (push) Successful in 49s
CI / security (push) Successful in 51s
CI / integration_tests (push) Successful in 55s
CI / unit_tests (push) Successful in 3m35s
CI / build (push) Successful in 33s
CI / coverage (push) Successful in 3m36s
CI / status-check (push) Successful in 3s
test: add coverage gap tests improving coverage from 81.4% to 96.90%
Add 13 BDD scenarios covering previously uncovered code paths:
- SAFE_BUILTINS validation (sandbox.py: 0% → 100%)
- ConfigurationError re-raise path (config.py: 99.3% → 100%)
- CLI hello/main functions (cli.py: 72.7% → 90.9%)
- GraphState message truncation (state.py: 98.7% → 100%)
- ProgressBarManager update/context rendering (progress.py: 0% → 87.7%)
- MessageRouter regex/exact/contains routing (message_router.py: 0% → 59.4%)
- RoutingAdapter parse_routing_command (routing_adapter.py)
- DynamicRouterNode pattern-based routing (dynamic_router.py)
- EnhancedTemplateRegistry unknown template type (enhanced_registry.py: 99.2%)
- CompositeAgent null-graph error path (composite.py: 97.8% → 98.6%)

Cover routing_adapter.py (17% → 100%): all GOTO/ROUTE patterns,
create_routing_node, create_conditional_router, dynamic config conversion.

Cover dynamic_router.py (21% → 87%): execute with empty/dict/string
messages, extract_message with colon parsing, config creation, graph
extension with edge generation.

Cover message_router.py (59% → 78%): regex, exact, contains, prefix,
suffix match types, invalid regex handling, non-string message, set_state.

Exercise Node._prepare_conversation_history with invalid configs,
_runtime error paths, _execute_message_router with rules,
_execute_agent with current_message and metadata propagation,
_execute_function with dynamic_router, and _execute_conditional
with content_contains/content_not_contains/content_starts_with
and custom condition types. Improves nodes.py from 71.3% to 72.5%.

Exercise PureGraphConfig, PureLangGraph init with dict/config,
RxPyLangGraphBridge registration/connection/lookup,
ReactiveStreamRouter operator creation and condition functions,
ReactiveConfigParser config/route/graph parsing,
ToolAgent tool execution with JSON, space-separated, single,
file_read, progress_bar invocations, and
ReactiveCleverAgentsApp init/dispose/visualization.
2026-06-02 20:02:01 +01:00

73 lines
3.2 KiB
Gherkin

Feature: InlineYAMLJinja Process, Render, and Deferred Rendering
As a developer
I want InlineYAMLJinja to process files and strings, detect templates, render and parse content, analyze structure, and handle deferred rendering
So that YAML files with inline Jinja2 are processed, rendered, and stored for deferred execution correctly
Scenario: Test InlineYAMLJinja initialization and basic functionality
Given I have an InlineYAMLJinja instance for coverage
When I test the initialization for coverage
Then the instance should be properly configured for coverage
And custom filters should be available for coverage
And custom tests should be available for coverage
Scenario: Test process_file method
Given I have an InlineYAMLJinja instance for coverage
And I have a test YAML file with templates for coverage
When I call process_file for coverage
Then the file should be processed correctly for coverage
Scenario: Test process_string method variations
Given I have an InlineYAMLJinja instance for coverage
When I test process_string with various inputs for coverage
Then all variations should work correctly for coverage
Scenario: Test has_templates detection
Given I have an InlineYAMLJinja instance for coverage
When I test _has_templates with various content for coverage
Then template detection should work correctly for coverage
Scenario: Test render_and_parse method
Given I have an InlineYAMLJinja instance for coverage
When I test _render_and_parse with templates for coverage
Then rendering and parsing should work correctly for coverage
Scenario: Test structure analysis
Given I have an InlineYAMLJinja instance for coverage
When I test _analyze_structure for coverage
Then structure analysis should work correctly for coverage
Scenario: Test structured rendering
Given I have an InlineYAMLJinja instance for coverage
When I test _render_structured for coverage
Then structured rendering should work correctly for coverage
Scenario: Test section splitting
Given I have an InlineYAMLJinja instance for coverage
When I test _split_into_sections for coverage
Then section splitting should work correctly for coverage
Scenario: Test block rendering
Given I have an InlineYAMLJinja instance for coverage
When I test _render_block for coverage
Then block rendering should work correctly for coverage
Scenario: Test YAML issue fixing
Given I have an InlineYAMLJinja instance for coverage
When I test _fix_yaml_issues for coverage
Then YAML issues should be fixed for coverage
Scenario: Test context preparation
Given I have an InlineYAMLJinja instance for coverage
When I test _prepare_context for coverage
Then context should be prepared correctly for coverage
Scenario: Test deferred storage and rendering
Given I have an InlineYAMLJinja instance for coverage
When I test deferred processing for coverage
Then deferred processing should work correctly for coverage
Scenario: Test error handling paths
Given I have an InlineYAMLJinja instance for coverage
When I test error conditions for coverage
Then errors should be handled correctly for coverage