39 lines
2.0 KiB
Gherkin
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 |