Files
cleveragents-core/features/database_repositories.feature
HAL9000 f808abff86 chore(ci): fix pre-commit hook failures
Fix JSON syntax errors in .devcontainer/devcontainer.json (removed
invalid JS-style // comments) and .devcontainer/opencode.json (removed
90+ trailing commas). Apply auto-fixes for end-of-file and trailing
whitespace issues across 100+ files. Fix SIM105 ruff violations in
benchmarks/core_circuit_breaker_bench.py (use contextlib.suppress).

Note: The security fix from issue #7478 (validate_path startswith bypass)
was already delivered to master in commit e18ac5f2. This PR as currently
structured is non-atomic (35 commits across 10+ issues) and needs
significant restructure before merge. This commit only addresses the
CI/pre-commit failures.

ISSUES CLOSED: #7478
2026-06-14 09:51:14 -04:00

81 lines
2.8 KiB
Gherkin

Feature: Database Repository Operations
As a developer
I want to ensure database repositories work correctly
So that data is persisted and retrieved accurately
Scenario: Initialize database
When I initialize the database
Then the database tables should be created
And the database should be ready for use
Scenario: Create and retrieve a project
Given I have a database session
And I have a project repository
When I create a new project named "test-project"
Then the project should be saved to database
And I should be able to retrieve the project by ID
And I should be able to retrieve the project by name
Scenario: Update a project
Given I have a database session
And I have a project repository
And I have an existing project in the database
When I update the project settings
Then the changes should be persisted
And the updated_at timestamp should change
Scenario: Create and retrieve plans
Given I have a database session
And I have a plan repository
And I have a project with ID 1
When I create a new plan for the project
Then the plan should be saved to database
And I should be able to retrieve the plan by ID
And I should be able to get all plans for the project
Scenario: Set current plan for project
Given I have a database session
And I have a plan repository
And I have multiple plans for a project
When I set one plan as current
Then only that plan should be marked as current
And other plans should not be current
Scenario: Add and retrieve context items
Given I have a database session
And I have a context repository
And I have a plan with ID 1
When I add context items to the plan
Then the context should be saved to database
And I should be able to retrieve all context for the plan
Scenario: Clear context for a plan
Given I have a database session
And I have a context repository
And I have a plan with context items
When I clear the context for the plan
Then the plan should have no context items
Scenario: Add and retrieve changes
Given I have a database session
And I have a change repository
And I have a plan with ID 1
When I add changes to the plan
Then the changes should be saved to database
And I should be able to retrieve all changes for the plan
Scenario: Mark changes as applied
Given I have a database session
And I have a change repository
And I have unapplied changes
When I mark a change as applied
Then the change should be marked as applied
And the applied_at timestamp should be set
Scenario: Repository transaction rollback
Given I have a database session
And I have a project repository
When I attempt a failing transaction
Then the transaction should be rolled back
And no data should be persisted