|
73 | 73 | expect(cmd).to(include("--allowedTools", "Read,Write")) |
74 | 74 | expect(cmd).to(include("--disallowedTools", "Bash")) |
75 | 75 | expect(cmd).to(include("--model", "claude-3-5-sonnet")) |
76 | | - expect(cmd).to(include("--permission-mode", "accept_edits")) |
| 76 | + expect(cmd).to(include("--permission-mode", "acceptEdits")) |
77 | 77 | expect(cmd).to(include("--max-turns", "5")) |
78 | 78 | end |
79 | 79 |
|
|
94 | 94 | expect(cmd).to(include("--continue")) |
95 | 95 | expect(cmd).to(include("--resume", "session-123")) |
96 | 96 | end |
| 97 | + |
| 98 | + it "converts permission modes to camelCase" do |
| 99 | + # Test bypass_permissions |
| 100 | + options = ClaudeSDK::ClaudeCodeOptions.new( |
| 101 | + permission_mode: :bypass_permissions, |
| 102 | + ) |
| 103 | + transport = described_class.new( |
| 104 | + prompt: "test", |
| 105 | + options: options, |
| 106 | + cli_path: cli_path, |
| 107 | + ) |
| 108 | + cmd = transport.send(:build_command) |
| 109 | + expect(cmd).to(include("--permission-mode", "bypassPermissions")) |
| 110 | + |
| 111 | + # Test accept_edits |
| 112 | + options = ClaudeSDK::ClaudeCodeOptions.new( |
| 113 | + permission_mode: :accept_edits, |
| 114 | + ) |
| 115 | + transport = described_class.new( |
| 116 | + prompt: "test", |
| 117 | + options: options, |
| 118 | + cli_path: cli_path, |
| 119 | + ) |
| 120 | + cmd = transport.send(:build_command) |
| 121 | + expect(cmd).to(include("--permission-mode", "acceptEdits")) |
| 122 | + |
| 123 | + # Test default |
| 124 | + options = ClaudeSDK::ClaudeCodeOptions.new( |
| 125 | + permission_mode: :default, |
| 126 | + ) |
| 127 | + transport = described_class.new( |
| 128 | + prompt: "test", |
| 129 | + options: options, |
| 130 | + cli_path: cli_path, |
| 131 | + ) |
| 132 | + cmd = transport.send(:build_command) |
| 133 | + expect(cmd).to(include("--permission-mode", "default")) |
| 134 | + end |
97 | 135 | end |
98 | 136 |
|
99 | 137 | describe "#connect and #disconnect" do |
|
0 commit comments