Files
cleveragents-core/features/action_cli_edge_cases_coverage.feature
T
brent.edwards f2be43dcc2
CI / benchmark-publish (pull_request) Has been skipped
CI / lint (pull_request) Successful in 17s
CI / build (pull_request) Successful in 28s
CI / quality (pull_request) Successful in 34s
CI / security (pull_request) Successful in 44s
CI / typecheck (pull_request) Successful in 44s
CI / unit_tests (pull_request) Failing after 3m34s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 5m30s
CI / coverage (pull_request) Successful in 8m4s
CI / benchmark-regression (pull_request) Failing after 10m12s
CI / integration_tests (pull_request) Failing after 15m58s
chore(cli): polish help and output
Centralize CLI output through shared renderers module with get_console()
and get_err_console() accessors. Introduce ColumnSpec-based table rendering
for plan list, resource list, and actor list commands. Add _FORMAT_HELP
constant and fmt= parameter threading for consistent format handling.

Includes Behave BDD tests for format output validation, Robot Framework
integration tests for CLI formatting consistency, and CHANGELOG entry.

ISSUES CLOSED: #210
2026-03-20 00:25:44 +00:00

83 lines
3.8 KiB
Gherkin

Feature: Action CLI edge cases coverage
As a developer
I want to test edge cases and fallback paths in the action CLI
So that all branches are thoroughly exercised
Background:
Given an action edge case CLI runner
And an action edge case mocked lifecycle service
# _print_action edge cases
Scenario: Print action with no arguments shows none indicator
Given an action edge case action with no arguments
When I call action edge case print action
Then the action edge case output should contain "[]"
Scenario: Print action with arguments shows formatted list
Given an action edge case action with multiple arguments
When I call action edge case print action
Then the action edge case output should contain argument "target_coverage"
And the action edge case output should contain argument "test_framework"
And the action edge case output should contain "Target coverage percentage"
Scenario: Print action with minimal description shows description line
Given an action edge case action without short description
When I call action edge case print action
Then the action edge case output should contain "Minimal"
# Create command edge cases (config-only)
Scenario: Create action from config with multiple arguments
Given an action edge case config with multiple args
When I run action edge case create with config
Then the action edge case create should succeed
And the action edge case service should receive 2 arguments
Scenario: Create action from config with read-only flag
Given an action edge case config with read-only
When I run action edge case create with config
Then the action edge case create should succeed
And the action edge case service should receive read_only true
Scenario: Create action from config with long_description
Given an action edge case config with long description
When I run action edge case create with config
Then the action edge case create should succeed
And the action edge case service should receive long description "Detailed documentation text"
# List command with state filters
Scenario: List actions with state filter available
Given there are action edge case existing actions
When I run action edge case list with state "available"
Then the action edge case list should succeed
And the action edge case service list should be called with available state
Scenario: List actions with state filter archived
Given there are action edge case existing actions
When I run action edge case list with state "archived"
Then the action edge case list should succeed
And the action edge case service list should be called with archived state
# Show command edge cases
Scenario: Show action succeeds with name lookup
Given an action edge case that is findable by name
When I run action edge case show with name "local/name-only-action"
Then the action edge case show should succeed
And the action edge case service should have used get_action_by_name
Scenario: Show action raises abort when name lookup fails
Given an action edge case where name lookup fails
When I run action edge case show with name "nonexistent"
Then the action edge case show should abort with not found
# Archive command edge cases
Scenario: Archive command succeeds with name lookup
Given an action edge case action findable by name for archive
When I run action edge case archive with name "local/name-only-available"
Then the action edge case archive should succeed
And the action edge case service should have used get_action_by_name
Scenario: Archive command not found aborts
Given an action edge case where name lookup fails for archive
When I run action edge case archive with name "nonexistent"
Then the action edge case archive should abort with not found