66 lines
2.6 KiB
Gherkin
66 lines
2.6 KiB
Gherkin
Feature: Route Missing Coverage Lines
|
|
As a developer
|
|
I want to test specific missing coverage lines in route.py
|
|
So that I achieve 90%+ coverage
|
|
|
|
Background:
|
|
Given the route system is available
|
|
|
|
Scenario: Direct from_stream_config method call with all properties
|
|
Given I have a StreamConfig with all optional properties set
|
|
When I call RouteConfig.from_stream_config directly
|
|
Then line 170 should be executed
|
|
And all stream properties should be copied correctly
|
|
|
|
Scenario: Direct from_graph_config method call with complex nodes
|
|
Given I have a GraphConfig with nodes having all optional properties
|
|
When I call RouteConfig.from_graph_config directly
|
|
Then lines 187-216 should be executed
|
|
And nodes with tools should be converted
|
|
And nodes with retry_policy should be converted
|
|
And nodes with timeout should be converted
|
|
And edges with conditions should be converted
|
|
|
|
Scenario: Stream complexity analysis with hot stream type
|
|
Given I have a hot stream RouteConfig
|
|
When I analyze stream complexity
|
|
Then line 273-274 should be executed for hot stream detection
|
|
|
|
Scenario: Graph complexity analysis with conditional edges
|
|
Given I have a graph with multiple conditional edges
|
|
When I analyze graph complexity
|
|
Then lines 303-304 should be executed for conditional edge counting
|
|
|
|
Scenario: Stream recommendation for complex score
|
|
Given I have a stream with complexity score of 8
|
|
When I get stream recommendation
|
|
Then line 328 should be executed
|
|
|
|
Scenario: Graph recommendation for advanced score
|
|
Given I have a graph with complexity score of 18
|
|
When I get graph recommendation
|
|
Then line 340 should be executed
|
|
|
|
Scenario: Route type suggestion with all requirement combinations
|
|
Given I have requirements with needs_state and needs_conditionals true
|
|
When I get route type suggestion
|
|
Then line 351 should be executed
|
|
And it should return GRAPH
|
|
|
|
Scenario: Route type suggestion with conditionals but not continuous
|
|
Given I have requirements with conditionals true but continuous false
|
|
When I get route type suggestion
|
|
Then line 353 should be executed
|
|
And it should return GRAPH
|
|
|
|
Scenario: Route type suggestion with stateless and continuous
|
|
Given I have requirements with stateless and continuous true
|
|
When I get route type suggestion
|
|
Then line 355 should be executed
|
|
And it should return STREAM
|
|
|
|
Scenario: Route type suggestion default case
|
|
Given I have simple requirements
|
|
When I get route type suggestion
|
|
Then line 358 should be executed as default
|
|
And it should return STREAM |