use crate::fixture::Fixture;
use serde_json::json;
#[tokio::test]
async fn squash_expands_references() {
let f = Fixture::with_documents(vec\n"),
("2", "# Child\n\nChild content here\n"),
])
.await;
let result = f
.call_tool("iwe_squash", json!({"key": "1", "depth": 2}))
.await;
let text = Fixture::result_text(&result);
assert!(text.contains("Parent"));
assert!(text.contains("Child content here"));
}
#[tokio::test]
async fn squash_single_document() {
let f = Fixture::with_documents(vec![("1", "# Solo\n\nJust text\n")]).await;
let result = f.call_tool("iwe_squash", json!({"key": "1"})).await;
let text = Fixture::result_text(&result);
assert!(text.contains("Solo"));
assert!(text.contains("Just text"));
}
#[tokio::test]
async fn squash_not_found() {
let f = Fixture::with_documents(vec![("1", "# Doc\n")]).await;
let result = f
.try_call_tool("iwe_squash", json!({"key": "nonexistent"}))
.await;
assert!(result.is_err());
}