use super::*;
#[test]
fn test_compare_task_fields_no_changes() {
let before = r#"{"id":"RQ-0001","status":"todo","title":"Test task"}"#;
let after = r#"{"id":"RQ-0001","status":"todo","title":"Test task"}"#;
let result = task_cmd::compare_task_fields(before, after);
assert!(result.is_ok());
let changed = result.unwrap();
assert_eq!(changed.len(), 0);
}
#[test]
fn test_compare_task_fields_some_changes() {
let before = r#"{"id":"RQ-0001","status":"todo","title":"Test task"}"#;
let after = r#"{"id":"RQ-0001","status":"doing","title":"Updated task"}"#;
let result = task_cmd::compare_task_fields(before, after);
assert!(result.is_ok());
let changed = result.unwrap();
assert!(changed.contains(&"status".to_string()));
assert!(changed.contains(&"title".to_string()));
}
#[test]
fn test_compare_task_fields_invalid_json() {
let before = "{invalid json}";
let after = r#"{"id":"RQ-0001"}"#;
let result = task_cmd::compare_task_fields(before, after);
assert!(result.is_err());
}