Skip to content

Commit 112126d

Browse files
committed
tests: add a test for fragment handling
Inline fragments are not yet supported, so comment out its test. Fixes #107.
1 parent 3d449d6 commit 112126d

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

tests/fragments.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
}

tests/fragments/query.graphql

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
fragment FragmentReference on QueryRoot {
2+
inFragment
3+
}
4+
5+
query FragmentReference {
6+
...FragmentReference
7+
}

tests/fragments/schema.graphql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
schema {
2+
query: QueryRoot
3+
}
4+
5+
type QueryRoot {
6+
extra: String
7+
inFragment: String
8+
}

0 commit comments

Comments
 (0)