@@ -26,25 +26,31 @@ fn interface_deserialization() {
2626
2727 let expected = ResponseData {
2828 everything : Some ( vec ! [
29- MyQueryEverything {
29+ InterfaceQueryEverything {
3030 name: "Audrey Lorde" . to_string( ) ,
31- on: MyQueryEverythingOn :: Person ( MyQueryEverythingOnPerson {
31+ on: InterfaceQueryEverythingOn :: Person ( InterfaceQueryEverythingOnPerson {
3232 birthday: Some ( "1934-02-18" . to_string( ) ) ,
3333 } ) ,
3434 } ,
35- MyQueryEverything {
35+ InterfaceQueryEverything {
3636 name: "Laïka" . to_string( ) ,
37- on: MyQueryEverythingOn :: Dog ( MyQueryEverythingOnDog { is_good_dog: true } ) ,
37+ on: InterfaceQueryEverythingOn :: Dog ( InterfaceQueryEverythingOnDog {
38+ is_good_dog: true ,
39+ } ) ,
3840 } ,
39- MyQueryEverything {
41+ InterfaceQueryEverything {
4042 name: "Mozilla" . to_string( ) ,
41- on: MyQueryEverythingOn :: Organization ( MyQueryEverythingOnOrganization {
42- industry: Industry :: OTHER ,
43- } ) ,
43+ on: InterfaceQueryEverythingOn :: Organization (
44+ InterfaceQueryEverythingOnOrganization {
45+ industry: Industry :: OTHER ,
46+ } ,
47+ ) ,
4448 } ,
45- MyQueryEverything {
49+ InterfaceQueryEverything {
4650 name: "Norbert" . to_string( ) ,
47- on: MyQueryEverythingOn :: Dog ( MyQueryEverythingOnDog { is_good_dog: true } ) ,
51+ on: InterfaceQueryEverythingOn :: Dog ( InterfaceQueryEverythingOnDog {
52+ is_good_dog: true ,
53+ } ) ,
4854 } ,
4955 ] ) ,
5056 } ;
@@ -56,7 +62,7 @@ fn interface_deserialization() {
5662#[ graphql(
5763 query_path = "tests/interfaces/interface_not_on_everything_query.graphql" ,
5864 schema_path = "tests/interfaces/interface_schema.graphql" ,
59- response_derives = "Debug"
65+ response_derives = "Debug,PartialEq "
6066) ]
6167pub struct InterfaceNotOnEverythingQuery ;
6268
@@ -65,15 +71,43 @@ const RESPONSE_NOT_ON_EVERYTHING: &'static str =
6571
6672#[ test]
6773fn interface_not_on_everything_deserialization ( ) {
68- println ! ( "{:?}" , RESPONSE ) ;
74+ use interface_not_on_everything_query:: * ;
75+
6976 let response_data: interface_not_on_everything_query:: ResponseData =
7077 serde_json:: from_str ( RESPONSE_NOT_ON_EVERYTHING ) . unwrap ( ) ;
7178
72- println ! ( "{:?}" , response_data) ;
79+ let expected = ResponseData {
80+ everything : Some ( vec ! [
81+ InterfaceNotOnEverythingQueryEverything {
82+ name: "Audrey Lorde" . to_string( ) ,
83+ on: InterfaceNotOnEverythingQueryEverythingOn :: Person (
84+ InterfaceNotOnEverythingQueryEverythingOnPerson {
85+ birthday: Some ( "1934-02-18" . to_string( ) ) ,
86+ } ,
87+ ) ,
88+ } ,
89+ InterfaceNotOnEverythingQueryEverything {
90+ name: "Laïka" . to_string( ) ,
91+ on: InterfaceNotOnEverythingQueryEverythingOn :: Dog ,
92+ } ,
93+ InterfaceNotOnEverythingQueryEverything {
94+ name: "Mozilla" . to_string( ) ,
95+ on: InterfaceNotOnEverythingQueryEverythingOn :: Organization (
96+ InterfaceNotOnEverythingQueryEverythingOnOrganization {
97+ industry: Industry :: OTHER ,
98+ } ,
99+ ) ,
100+ } ,
101+ InterfaceNotOnEverythingQueryEverything {
102+ name: "Norbert" . to_string( ) ,
103+ on: InterfaceNotOnEverythingQueryEverythingOn :: Dog ,
104+ } ,
105+ ] ) ,
106+ } ;
73107
74- let expected = r##"ResponseData { everything: Some([MyQueryEverything { name: "Audrey Lorde", on: Person(MyQueryEverythingOnPerson { birthday: Some("1934-02-18") }) }, MyQueryEverything { name: "Laïka", on: Dog }, MyQueryEverything { name: "Mozilla", on: Organization(MyQueryEverythingOnOrganization { industry: OTHER }) }, MyQueryEverything { name: "Norbert", on: Dog }]) }"## ;
108+ // let expected = r##"ResponseData { everything: Some([InterfaceQueryEverything { name: "Audrey Lorde", on: Person(InterfaceQueryEverythingOnPerson { birthday: Some("1934-02-18") }) }, InterfaceQueryEverything { name: "Laïka", on: Dog }, InterfaceQueryEverything { name: "Mozilla", on: Organization(InterfaceQueryEverythingOnOrganization { industry: OTHER }) }, InterfaceQueryEverything { name: "Norbert", on: Dog }]) }"##;
75109
76- assert_eq ! ( format! ( "{:?}" , response_data) , expected) ;
110+ assert_eq ! ( response_data, expected) ;
77111
78112 assert_eq ! ( response_data. everything. map( |names| names. len( ) ) , Some ( 4 ) ) ;
79113}
0 commit comments