Files
cleveractors-core/features/unit_tool_command_processing.feature
T
2026-05-26 21:53:20 +00:00

39 lines
2.0 KiB
Gherkin

Feature: Tool Command Processing
Unit tests for tool command processing with nested JSON structures.
Tests the _process_tool_commands method in ReactiveCleverAgentsApp
to ensure it correctly handles complex nested JSON in tool execution parameters.
Scenario: Simple file_read command detection
Given a content with simple file_read tool command
When I extract the tool command using regex
Then the tool name should be "file_read"
And the parameters should contain file "simple.txt"
Scenario: Nested JSON in file_write command
Given a content with nested JSON file_write tool command
When I extract the tool command using regex
Then the tool name should be "file_write"
And the parameters should contain file "analysis.json"
And the nested JSON content should be parseable
And the nested JSON should contain document_info with analysis_date "2025-10-03"
And the nested JSON should contain parties with name "TechCorp"
Scenario: Multiple tool commands in one response
Given a content with multiple tool commands
When I extract all tool commands using regex
Then I should find 2 tool commands
And the first tool command should be "file_read"
And the second tool command should be "file_write"
Scenario: Complex nested JSON from actual usage
Given a content with complex legal contract analyzer JSON
When I extract the tool command using regex
Then the tool name should be "file_write"
And the parameters should contain file "contract_analysis.json"
And the complex nested JSON should be parseable
And the complex nested JSON should contain all required sections
And the complex nested JSON document_info analysis_date should be "2025-10-03"
And the complex nested JSON first party name should be "TechCorp Solutions Inc."
And the complex nested JSON second party name should be "Global Enterprises LLC"
And the complex nested JSON financial total_value amount should be 120000
And the complex nested JSON should have 4 missing_clauses