Skip to content

Commit bfb27f0

Browse files
authored
Merge pull request #206 from graphql-rust/snake-case-fragment
Write test for fragments with snake cased name
2 parents eee9878 + 91bf603 commit bfb27f0

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

graphql_client/tests/fragments.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ extern crate serde_json;
1313
)]
1414
pub struct FragmentReference;
1515

16+
#[derive(GraphQLQuery)]
17+
#[graphql(
18+
query_path = "tests/fragments/query.graphql",
19+
schema_path = "tests/fragments/schema.graphql"
20+
)]
21+
pub struct SnakeCaseFragment;
22+
1623
#[test]
1724
fn fragment_reference() {
1825
let valid_response = json!({
@@ -30,3 +37,21 @@ fn fragment_reference() {
3037
"value"
3138
);
3239
}
40+
41+
#[test]
42+
fn fragments_with_snake_case_name() {
43+
let valid_response = json!({
44+
"inFragment": "value",
45+
});
46+
47+
let valid_fragment_reference =
48+
serde_json::from_value::<snake_case_fragment::ResponseData>(valid_response).unwrap();
49+
50+
assert_eq!(
51+
valid_fragment_reference
52+
.snake_case_fragment
53+
.in_fragment
54+
.unwrap(),
55+
"value"
56+
);
57+
}

graphql_client/tests/fragments/query.graphql

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@ fragment FragmentReference on QueryRoot {
22
inFragment
33
}
44

5+
fragment snake_case_fragment on QueryRoot {
6+
inFragment
7+
}
8+
59
query FragmentReference {
610
...FragmentReference
711
}
12+
13+
query SnakeCaseFragment {
14+
...snake_case_fragment
15+
}

0 commit comments

Comments
 (0)