d0689573e0
CI / lint (pull_request) Successful in 13s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 18s
CI / build (pull_request) Successful in 32s
CI / security (pull_request) Successful in 48s
CI / typecheck (pull_request) Successful in 55s
CI / unit_tests (pull_request) Failing after 2m41s
CI / docker (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 3m25s
CI / coverage (pull_request) Successful in 5m56s
CI / benchmark-regression (pull_request) Successful in 33m35s
Add TDD regression tests for bug #570 where `_get_session_service()` calls `container.db()` but the DI `Container` class has no `db` provider, raising `AttributeError`. Same root cause as bug #554. Includes 4 Behave BDD scenarios tagged `@tdd_bug @tdd_bug_570 @tdd_expected_fail`, Robot Framework integration smoke tests with `--format plain`, and ASV service-layer benchmarks. Tests exercise the real DI path by resetting `_service = None` and using a file-based SQLite database. Implements the `@tdd_expected_fail` inversion infrastructure: - Behave: `after_scenario` hook in `features/environment.py` inverts pass/fail for scenarios tagged `@tdd_expected_fail` - Robot: `robot/tdd_expected_fail_listener.py` listener (API v3) performs the same inversion for Robot test cases - `noxfile.py`: registers the listener via `--listener` in both the `integration_tests` and `slow_integration_tests` sessions Migrates 18 existing TDD scenarios across 5 feature files from the old `@tdd @bugNNN` convention to the standardised `@tdd_bug @tdd_bug_NNN` tags per CONTRIBUTING.md § TDD Bug Test Tags. Refs: #570
35 lines
1.6 KiB
Gherkin
35 lines
1.6 KiB
Gherkin
# Regression tests for bug #589 — project create must commit to the database.
|
|
Feature: Project create persists to database
|
|
As a developer using the agents CLI
|
|
I want projects created with "agents project create" to persist in the database
|
|
So that "agents project list" shows previously created projects
|
|
|
|
Background:
|
|
Given a fresh project-persist database is initialised
|
|
|
|
@tdd_bug @tdd_bug_589
|
|
Scenario: Created project appears in project list
|
|
When I create a project named "local/my-app" via the persist CLI
|
|
And I list projects via the persist CLI
|
|
Then the persist project list should contain "local/my-app"
|
|
|
|
@tdd_bug @tdd_bug_589
|
|
Scenario: Multiple created projects all appear in list
|
|
When I create a project named "local/alpha" via the persist CLI
|
|
And I create a project named "local/beta" via the persist CLI
|
|
And I list projects via the persist CLI
|
|
Then the persist project list should contain "local/alpha"
|
|
And the persist project list should contain "local/beta"
|
|
|
|
@tdd_bug @tdd_bug_589
|
|
Scenario: Bare project name uses default namespace and persists
|
|
When I create a project named "my-app" via the persist CLI
|
|
And I list projects via the persist CLI
|
|
Then the persist project list should contain "local/my-app"
|
|
|
|
@tdd_bug @tdd_bug_589
|
|
Scenario: Creating a duplicate project produces an error
|
|
When I create a project named "local/dup-proj" via the persist CLI
|
|
And I attempt to create a duplicate project named "local/dup-proj" via the persist CLI
|
|
Then the persist duplicate creation should fail with "already exists"
|