- Add "default" permission mode: no flags passed to CC, uses its own built-in default (asks about everything). Now the system default. - Rename "accept" alias to "edit" (acceptEdits) for clarity - Remove "skip" alias (duplicate of "bypass") - Update all help text, error messages, tests, and LLM prompts Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
71 lines
2.4 KiB
Gherkin
71 lines
2.4 KiB
Gherkin
Feature: /perm command — change session permission mode
|
|
|
|
Background:
|
|
Given user "user_abc123" is sending commands
|
|
|
|
Scenario: No args shows usage
|
|
When user sends "/perm"
|
|
Then reply contains "Usage"
|
|
And reply contains "bypass"
|
|
And reply contains "edit"
|
|
And reply contains "plan"
|
|
|
|
Scenario: Set active session to edit mode
|
|
Given user has session "sess01" in "/tmp/proj1"
|
|
And active session is "sess01"
|
|
When user sends "/perm edit"
|
|
Then reply contains "edit"
|
|
And reply contains "sess01"
|
|
And session "sess01" has permission mode "acceptEdits"
|
|
|
|
Scenario: Set active session to plan mode
|
|
Given user has session "sess01" in "/tmp/proj1"
|
|
And active session is "sess01"
|
|
When user sends "/perm plan"
|
|
Then reply contains "plan"
|
|
And session "sess01" has permission mode "plan"
|
|
|
|
Scenario: Set active session back to bypass
|
|
Given user has session "sess01" in "/tmp/proj1"
|
|
And active session is "sess01"
|
|
When user sends "/perm bypass"
|
|
Then reply contains "bypass"
|
|
And session "sess01" has permission mode "bypassPermissions"
|
|
|
|
Scenario: Unknown mode returns error
|
|
Given user has session "sess01" in "/tmp/proj1"
|
|
And active session is "sess01"
|
|
When user sends "/perm turbo"
|
|
Then reply contains "Unknown mode"
|
|
|
|
Scenario: No active session returns error
|
|
Given no active session for user "user_abc123"
|
|
When user sends "/perm edit"
|
|
Then reply contains "No active session"
|
|
|
|
Scenario: Set permission on specific conv_id
|
|
Given user has session "sess01" in "/tmp/proj1"
|
|
And user has session "sess02" in "/tmp/proj2"
|
|
And active session is "sess01"
|
|
When user sends "/perm plan sess02"
|
|
Then reply contains "sess02"
|
|
And session "sess02" has permission mode "plan"
|
|
|
|
Scenario: Cannot change permission of another user's session
|
|
Given session "sess01" in "/tmp/proj1" belongs to user "other_user"
|
|
When user sends "/perm edit sess01"
|
|
Then reply contains "another user"
|
|
|
|
Scenario: New session with --perm edit
|
|
When user sends "/new myproject --perm edit"
|
|
Then reply contains "edit"
|
|
And session manager has 1 session for user "user_abc123"
|
|
|
|
Scenario: New session with --perm plan
|
|
When user sends "/new myproject --perm plan"
|
|
Then reply contains "plan"
|
|
|
|
Scenario: New session with invalid --perm
|
|
When user sends "/new myproject --perm turbo"
|
|
Then reply contains "Invalid"
|