feat: 添加测试框架及功能测试用例
test: 实现BDD测试框架及功能测试 docs: 添加测试配置文件及文档 refactor: 重构命令处理逻辑以支持测试
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
Feature: /close command — terminate a session
|
||||
|
||||
Background:
|
||||
Given user "user_abc123" is sending commands
|
||||
|
||||
Scenario: No sessions returns error
|
||||
When user sends "/close"
|
||||
Then reply contains "No sessions to close"
|
||||
|
||||
Scenario: Close active session by default
|
||||
Given user has session "sess01" in "/tmp/proj1"
|
||||
And active session is "sess01"
|
||||
When user sends "/close"
|
||||
Then reply contains "Closed session"
|
||||
And session manager has 0 sessions for user "user_abc123"
|
||||
|
||||
Scenario: Close session by number
|
||||
Given user has session "sess01" in "/tmp/proj1"
|
||||
And user has session "sess02" in "/tmp/proj2"
|
||||
When user sends "/close 1"
|
||||
Then reply contains "Closed session"
|
||||
And session manager has 1 session for user "user_abc123"
|
||||
|
||||
Scenario: Invalid number returns error
|
||||
Given user has session "sess01" in "/tmp/proj1"
|
||||
When user sends "/close 9"
|
||||
Then reply contains "Invalid session number"
|
||||
|
||||
Scenario: Cannot close another user's session
|
||||
Given session "sess01" in "/tmp/proj1" belongs to user "other_user"
|
||||
When user sends "/close sess01"
|
||||
Then reply contains "belongs to another user"
|
||||
|
||||
Scenario: Closing active session clears active conv
|
||||
Given user has session "sess01" in "/tmp/proj1"
|
||||
And active session is "sess01"
|
||||
When user sends "/close"
|
||||
Then active session for user "user_abc123" is None
|
||||
Reference in New Issue
Block a user