forked from HAL9000/cleveragents-core
1878998b7a
Rename the TDD tag system from tdd_bug/tdd_bug_<N> to tdd_issue/tdd_issue_<N> across the entire codebase. The tdd_expected_fail tag is unchanged. The TDD expected-failure workflow is not limited to bug fixes — it applies equally to any issue type (features, tasks, refactors). The _bug suffix was misleading and narrowed the perceived scope. The new _issue suffix accurately reflects that the TDD tagging system applies to any Forgejo issue. Changes span 92 files: - features/environment.py: validate_tdd_tags(), should_invert_result(), and apply_tdd_inversion() updated — regex, variables, error messages - robot/tdd_expected_fail_listener.py: _validate_tdd_tags(), _should_invert_result(), start_test(), end_test() updated consistently - 33 Behave .feature files: all @tdd_bug/@tdd_bug_<N> tags renamed - 29 Robot .robot files: all tdd_bug/tdd_bug_<N> tags renamed - 3 Robot fixture files renamed (tdd_bug_alone, tdd_missing_tdd_bug, tdd_expected_fail_missing_bug_n) with content and references updated - Tag validation tests and helpers updated (function names, command dispatch keys, output strings, fixture references) - CONTRIBUTING.md: section renamed from 'TDD Bug Test Tags' to 'TDD Issue Test Tags', all tag references and examples updated - noxfile.py: comment references updated - Step definition files, mock helpers, and benchmark files: docstring references updated ISSUES CLOSED: #965
86 lines
4.3 KiB
Gherkin
86 lines
4.3 KiB
Gherkin
# Regression tests for bug #554 — verifies that the DI container fix for
|
|
# session list command works correctly. The @tdd_expected_fail tags have
|
|
# been removed now that the fix has landed.
|
|
Feature: Session list command handles missing database gracefully
|
|
As a developer using the agents CLI
|
|
I want "agents session list" to work after a fresh init
|
|
So that I can view my sessions without a DI container error
|
|
|
|
Background:
|
|
Given a session-list-error CLI runner using the real DI path
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Session list returns empty list when no sessions exist
|
|
When I invoke session-list-error list with default format
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should contain "No sessions found"
|
|
And the session-list-error output should not contain "AttributeError"
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Session list after init does not raise DI error
|
|
When I invoke session-list-error list with default format
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should not contain "AttributeError"
|
|
And the session-list-error output should not contain "INTERNAL"
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Session list returns sessions after creation via service
|
|
Given a session-list-error service with a pre-populated session
|
|
When I invoke session-list-error list with default format
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should contain "Sessions ("
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Session list works with rich output format
|
|
Given a session-list-error service with a pre-populated session
|
|
When I invoke session-list-error list with format "rich"
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should contain "Sessions ("
|
|
And the session-list-error output should not contain "AttributeError"
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Session list works with JSON output format
|
|
Given a session-list-error service with a pre-populated session
|
|
When I invoke session-list-error list with format "json"
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should be valid JSON containing "sessions"
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Session list works with plain output format
|
|
Given a session-list-error service with a pre-populated session
|
|
When I invoke session-list-error list with format "plain"
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should contain "total:"
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Session list works with YAML output format
|
|
Given a session-list-error service with a pre-populated session
|
|
When I invoke session-list-error list with format "yaml"
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should be valid YAML containing "sessions"
|
|
|
|
# Empty-list format scenarios (F2/F3) — exercises the empty-list code path
|
|
# with explicit output formats. The production code currently bypasses
|
|
# --format for empty lists, so these document the expected behaviour.
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Empty session list with JSON format produces valid JSON
|
|
When I invoke session-list-error list with format "json"
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should be valid JSON containing "sessions"
|
|
And the session-list-error output should not contain "AttributeError"
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Empty session list with YAML format produces valid YAML
|
|
When I invoke session-list-error list with format "yaml"
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should be valid YAML containing "sessions"
|
|
And the session-list-error output should not contain "AttributeError"
|
|
|
|
@tdd_issue @tdd_issue_554
|
|
Scenario: Empty session list with plain format does not error
|
|
When I invoke session-list-error list with format "plain"
|
|
Then the session-list-error command should exit successfully
|
|
And the session-list-error output should contain "total: 0"
|
|
And the session-list-error output should not contain "AttributeError"
|