From 03229ddf65f4180a93a0bbc72327983cce1c174a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jord=C3=A3o?= <jordao.rosario01@gmail.com> Date: Tue, 4 Feb 2020 11:57:13 -0300 Subject: [PATCH] Added a small test for field validation error in the async executor --- integration_tests/async_await/src/main.rs | 33 ++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/integration_tests/async_await/src/main.rs b/integration_tests/async_await/src/main.rs index 6e8f16f7..61629133 100644 --- a/integration_tests/async_await/src/main.rs +++ b/integration_tests/async_await/src/main.rs @@ -1,4 +1,4 @@ -use juniper::{graphql_value, RootNode, Value}; +use juniper::{graphql_value, RootNode, Value, GraphQLError}; #[derive(juniper::GraphQLEnum)] enum UserKind { @@ -112,4 +112,35 @@ async fn async_simple() { ); } + +#[tokio::test] +async fn async_field_validation_error() { + let schema = RootNode::new(Query, Mutation); + let doc = r#" + query { + nonExistentField + fieldSync + fieldAsyncPlain + delayed + user(id: "user1") { + kind + name + delayed + } + } + "#; + + let vars = Default::default(); + let result = juniper::execute_async(doc, None, &schema, &vars, &()) + .await; + assert!(result.is_err()); + + let error = result.err().unwrap(); + let is_validation_error = match error { + GraphQLError::ValidationError(_) => true, + _ => false + }; + assert!(is_validation_error); +} + fn main() {}