aboutsummaryrefslogtreecommitdiff
path: root/src/api/schema/tests.rs
diff options
context:
space:
mode:
authorakbash <akbash@herdr.dev>2026-08-25 23:44:56 +0300
committerGitHub <noreply@github.com>2026-08-25 23:44:56 +0300
commitd79fd746a96ddb5642939c9727baefce642d78e6 (patch)
treef6ca7416b082168db6607952d5fb6672f5173826 /src/api/schema/tests.rs
parentda5357d23f8450d4609f72d079876d7d439ef5a0 (diff)
fix: require explicit workspace group close (#3206)
refs #2874 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Diffstat (limited to 'src/api/schema/tests.rs')
-rw-r--r--src/api/schema/tests.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/api/schema/tests.rs b/src/api/schema/tests.rs
index 5fe6dd27..5199038d 100644
--- a/src/api/schema/tests.rs
+++ b/src/api/schema/tests.rs
@@ -62,6 +62,34 @@ fn request_uses_dot_method_names() {
}
#[test]
+fn workspace_close_group_intent_defaults_false_and_round_trips() {
+ let request: Request = serde_json::from_value(serde_json::json!({
+ "id": "close",
+ "method": "workspace.close",
+ "params": { "workspace_id": "w1" }
+ }))
+ .unwrap();
+ assert!(matches!(
+ request.method,
+ Method::WorkspaceClose(WorkspaceCloseParams {
+ close_group: false,
+ ..
+ })
+ ));
+
+ let explicit = Request {
+ id: "close-group".into(),
+ method: Method::WorkspaceClose(WorkspaceCloseParams {
+ workspace_id: "w1".into(),
+ close_group: true,
+ }),
+ };
+ let json = serde_json::to_value(&explicit).unwrap();
+ assert_eq!(json["params"]["close_group"], true);
+ assert_eq!(serde_json::from_value::<Request>(json).unwrap(), explicit);
+}
+
+#[test]
fn agent_start_and_prompt_requests_round_trip() {
let start = Request {
id: "start".into(),