use crate::helper::*; use wundergraph_example::MyContext; #[test] fn create_one() { let (schema, pool) = get_example_schema(); let ctx = MyContext::new(pool.get().unwrap()); let res = execute_query( &schema, &ctx, " { Heros { heroName } } ", ); assert!(res.is_ok()); assert_json_snapshot!( res.as_json(), @r###"[ { "Heros": [ { "heroName": "Luke Skywalker" }, { "heroName": "Darth Vader" }, { "heroName": "Han Solo" }, { "heroName": "Leia Organa" }, { "heroName": "Wilhuff Tarkin" } ] }, [] ]"### ); let res = execute_query( &schema, &ctx, r#" mutation NewHero { CreateHero(NewHero: {name: "Obi-Wan Kenobi", species: 1}) { heroName species { name } } } "#, ); assert!(res.is_ok()); assert_json_snapshot!( res.as_json(), @r###"[ { "CreateHero": { "heroName": "Obi-Wan Kenobi", "species": { "name": "Human" } } }, [] ]"### ); let res = execute_query( &schema, &ctx, " { Heros { heroName } } ", ); assert!(res.is_ok()); assert_json_snapshot!( res.as_json(), @r###"[ { "Heros": [ { "heroName": "Luke Skywalker" }, { "heroName": "Darth Vader" }, { "heroName": "Han Solo" }, { "heroName": "Leia Organa" }, { "heroName": "Wilhuff Tarkin" }, { "heroName": "Obi-Wan Kenobi" } ] }, [] ]"### ); } #[test] fn create_multiple() { let (schema, pool) = get_example_schema(); let ctx = MyContext::new(pool.get().unwrap()); let res = execute_query( &schema, &ctx, " { Heros { heroName } } ", ); assert!(res.is_ok()); assert_json_snapshot!( res.as_json(), @r###"[ { "Heros": [ { "heroName": "Luke Skywalker" }, { "heroName": "Darth Vader" }, { "heroName": "Han Solo" }, { "heroName": "Leia Organa" }, { "heroName": "Wilhuff Tarkin" } ] }, [] ]"### ); let res = execute_query( &schema, &ctx, r#" mutation NewHeros { CreateHeros(NewHeros: [{name: "Obi-Wan Kenobi", species: 1}, {name: "R2-D2", species: 2}]) { heroName species { name } } } "#, ); assert!(res.is_ok()); assert_json_snapshot!( res.as_json(), @r###"[ { "CreateHeros": [ { "heroName": "Obi-Wan Kenobi", "species": { "name": "Human" } }, { "heroName": "R2-D2", "species": { "name": "Robot" } } ] }, [] ]"### ); let res = execute_query( &schema, &ctx, " { Heros { heroName } } ", ); assert!(res.is_ok()); assert_json_snapshot!( res.as_json(), @r###"[ { "Heros": [ { "heroName": "Luke Skywalker" }, { "heroName": "Darth Vader" }, { "heroName": "Han Solo" }, { "heroName": "Leia Organa" }, { "heroName": "Wilhuff Tarkin" }, { "heroName": "Obi-Wan Kenobi" }, { "heroName": "R2-D2" } ] }, [] ]"### ); }