#![allow(dead_code)]
use serde_query::Deserialize;
const INPUT: &str = include_str!("./input.json");
#[test]
fn test_error_example() {
#[derive(Debug, Deserialize)]
struct Data {
#[query(".author.name")]
author_name: String,
#[query(".commit.commiter.name")]
committer_name: String,
#[query(".author.id")]
id: String,
}
let error = serde_json::from_str::<Data>(INPUT).unwrap_err();
assert_eq!(
error.to_string(),
r#"
Queries failed for fields: 'author_name', 'committer_name', 'id'
1. Query for field 'author_name' failed at '.author': missing field 'name'
2. Query for field 'committer_name' failed at '.commit': missing field 'commiter'
3. Query for field 'id' failed at '.author.id': invalid type: integer `5635139`, expected a string at line 34 column 17
"#
.trim_start()
);
}