async-graphql/tests/default_value.rs

68 lines
1.5 KiB
Rust
Raw Normal View History

2020-05-04 02:49:35 +00:00
use async_graphql::*;
#[async_std::test]
2020-05-04 05:26:13 +00:00
pub async fn test_default_value_arg() {
2020-05-04 02:49:35 +00:00
struct Query;
#[Object]
impl Query {
async fn value(&self, #[arg(default = 100)] input: i32) -> i32 {
2020-05-04 02:49:35 +00:00
input
}
}
let query = "{ value }";
let schema = Schema::new(Query, EmptyMutation, EmptySubscription);
assert_eq!(
schema.execute(&query).await.unwrap().data,
serde_json::json!({
"value": 100
})
);
let query = "{ value(input: 88) }";
let schema = Schema::new(Query, EmptyMutation, EmptySubscription);
assert_eq!(
schema.execute(&query).await.unwrap().data,
serde_json::json!({
"value": 88
})
);
}
2020-05-04 05:26:13 +00:00
#[async_std::test]
pub async fn test_default_value_inputobject() {
#[InputObject]
struct MyInput {
#[field(default = 100)]
2020-05-04 05:26:13 +00:00
value: i32,
}
struct Query;
#[Object]
impl Query {
async fn value(&self, input: MyInput) -> i32 {
input.value
}
}
let query = "{ value(input: {}) }";
let schema = Schema::new(Query, EmptyMutation, EmptySubscription);
assert_eq!(
schema.execute(&query).await.unwrap().data,
serde_json::json!({
"value": 100
})
);
let query = "{ value(input: { value: 88 }) }";
let schema = Schema::new(Query, EmptyMutation, EmptySubscription);
assert_eq!(
schema.execute(&query).await.unwrap().data,
serde_json::json!({
"value": 88
})
);
}