File tree Expand file tree Collapse file tree 4 files changed +47
-2
lines changed
graphql_client_codegen/src Expand file tree Collapse file tree 4 files changed +47
-2
lines changed Original file line number Diff line number Diff line change @@ -132,11 +132,11 @@ pub(crate) fn response_fields_for_selection(
132132 let type_name = Ident :: new ( & fragment. fragment_name , Span :: call_site ( ) ) ;
133133 Ok ( quote ! {
134134 #[ serde( flatten) ]
135- #field_name: #type_name
135+ pub #field_name: #type_name
136136 } )
137137 }
138138 SelectionItem :: InlineFragment ( _) => {
139- Err ( format_err ! ( "inline fragment on object field" ) ) ?
139+ Err ( format_err ! ( "unimplemented: inline fragment on object field" ) ) ?
140140 }
141141 } )
142142 . filter ( |x| match x {
Original file line number Diff line number Diff line change 1+ #[ macro_use]
2+ extern crate graphql_client;
3+ extern crate serde;
4+ #[ macro_use]
5+ extern crate serde_derive;
6+ #[ macro_use]
7+ extern crate serde_json;
8+
9+ #[ derive( GraphQLQuery ) ]
10+ #[ graphql(
11+ query_path = "tests/fragments/query.graphql" ,
12+ schema_path = "tests/fragments/schema.graphql"
13+ ) ]
14+ #[ allow( dead_code) ]
15+ struct FragmentReference ;
16+
17+ #[ test]
18+ fn fragment_reference ( ) {
19+ let valid_response = json ! ( {
20+ "inFragment" : "value" ,
21+ } ) ;
22+
23+ let valid_fragment_reference =
24+ serde_json:: from_value :: < fragment_reference:: ResponseData > ( valid_response) . unwrap ( ) ;
25+
26+ assert_eq ! (
27+ valid_fragment_reference. fragment_reference. in_fragment. unwrap( ) ,
28+ "value"
29+ ) ;
30+ }
Original file line number Diff line number Diff line change 1+ fragment FragmentReference on QueryRoot {
2+ inFragment
3+ }
4+
5+ query FragmentReference {
6+ ... FragmentReference
7+ }
Original file line number Diff line number Diff line change 1+ schema {
2+ query : QueryRoot
3+ }
4+
5+ type QueryRoot {
6+ extra : String
7+ inFragment : String
8+ }
You can’t perform that action at this time.
0 commit comments