Clean up introspection tests

* Prefix test function names with 'introspection'
* Use graphql_value! macro instead of manual construction
This commit is contained in:
Christoph Herzog 2018-12-23 14:14:02 +01:00 committed by theduke
parent 9b021b2fe7
commit 85ba97dcd9

View file

@ -7,7 +7,7 @@ use types::scalars::EmptyMutation;
use value::Value; use value::Value;
#[test] #[test]
fn test_query_type_name() { fn test_introspection_query_type_name() {
let doc = r#" let doc = r#"
query IntrospectionQueryTypeQuery { query IntrospectionQueryTypeQuery {
__schema { __schema {
@ -22,30 +22,21 @@ fn test_query_type_name() {
assert_eq!( assert_eq!(
::execute(doc, None, &schema, &Variables::new(), &database), ::execute(doc, None, &schema, &Variables::new(), &database),
Ok(( Ok((
Value::object( graphql_value!({
vec![( "__schema": {
"__schema", "queryType": {
Value::object( "name": "Query"
vec![( }
"queryType", }
Value::object(
vec![("name", Value::scalar("Query"))].into_iter().collect(), }),
),
)]
.into_iter()
.collect(),
),
)]
.into_iter()
.collect()
),
vec![] vec![]
)) ))
); );
} }
#[test] #[test]
fn test_specific_type_name() { fn test_introspection_type_name() {
let doc = r#" let doc = r#"
query IntrospectionQueryTypeQuery { query IntrospectionQueryTypeQuery {
__type(name: "Droid") { __type(name: "Droid") {
@ -58,21 +49,18 @@ fn test_specific_type_name() {
assert_eq!( assert_eq!(
::execute(doc, None, &schema, &Variables::new(), &database), ::execute(doc, None, &schema, &Variables::new(), &database),
Ok(( Ok((
Value::object( graphql_value!({
vec![( "__type": {
"__type", "name": "Droid",
Value::object(vec![("name", Value::scalar("Droid"))].into_iter().collect()), },
)] }),
.into_iter()
.collect()
),
vec![] vec![]
)) ))
); );
} }
#[test] #[test]
fn test_specific_object_type_name_and_kind() { fn test_introspection_specific_object_type_name_and_kind() {
let doc = r#" let doc = r#"
query IntrospectionDroidKindQuery { query IntrospectionDroidKindQuery {
__type(name: "Droid") { __type(name: "Droid") {
@ -87,28 +75,19 @@ fn test_specific_object_type_name_and_kind() {
assert_eq!( assert_eq!(
::execute(doc, None, &schema, &Variables::new(), &database), ::execute(doc, None, &schema, &Variables::new(), &database),
Ok(( Ok((
Value::object( graphql_value!({
vec![( "__type": {
"__type", "name": "Droid",
Value::object( "kind": "OBJECT",
vec![ }
("name", Value::scalar("Droid")), }),
("kind", Value::scalar("OBJECT")), vec![],
]
.into_iter()
.collect(),
),
)]
.into_iter()
.collect()
),
vec![]
)) ))
); );
} }
#[test] #[test]
fn test_specific_interface_type_name_and_kind() { fn test_introspection_specific_interface_type_name_and_kind() {
let doc = r#" let doc = r#"
query IntrospectionDroidKindQuery { query IntrospectionDroidKindQuery {
__type(name: "Character") { __type(name: "Character") {
@ -123,28 +102,19 @@ fn test_specific_interface_type_name_and_kind() {
assert_eq!( assert_eq!(
::execute(doc, None, &schema, &Variables::new(), &database), ::execute(doc, None, &schema, &Variables::new(), &database),
Ok(( Ok((
Value::object( graphql_value!({
vec![( "__type": {
"__type", "name": "Character",
Value::object( "kind": "INTERFACE",
vec![ }
("name", Value::scalar("Character")), }),
("kind", Value::scalar("INTERFACE")),
]
.into_iter()
.collect(),
),
)]
.into_iter()
.collect()
),
vec![] vec![]
)) ))
); );
} }
#[test] #[test]
fn test_documentation() { fn test_introspection_documentation() {
let doc = r#" let doc = r#"
query IntrospectionDroidDescriptionQuery { query IntrospectionDroidDescriptionQuery {
__type(name: "Droid") { __type(name: "Droid") {
@ -159,31 +129,19 @@ fn test_documentation() {
assert_eq!( assert_eq!(
::execute(doc, None, &schema, &Variables::new(), &database), ::execute(doc, None, &schema, &Variables::new(), &database),
Ok(( Ok((
Value::object( graphql_value!({
vec![( "__type": {
"__type", "name": "Droid",
Value::object( "description": "A mechanical creature in the Star Wars universe.",
vec![ },
("name", Value::scalar("Droid")), }),
(
"description",
Value::scalar("A mechanical creature in the Star Wars universe."),
),
]
.into_iter()
.collect(),
),
)]
.into_iter()
.collect()
),
vec![] vec![]
)) ))
); );
} }
#[test] #[test]
fn test_possible_types() { fn test_introspection_possible_types() {
let doc = r#" let doc = r#"
query IntrospectionDroidDescriptionQuery { query IntrospectionDroidDescriptionQuery {
__type(name: "Character") { __type(name: "Character") {