summaryrefslogtreecommitdiff
path: root/tests/Test
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2019-11-11 15:46:52 +0100
committerEugen Wissner <belka@caraus.de>2019-11-12 10:47:10 +0100
commit31c516927d75a5431c171f4d5dbd3bf0cd32956e (patch)
tree88d82a9d30f1e1ec16e3f60605f8a38ac865bb24 /tests/Test
parent1dd6b7b013dfe2092859ddc3850944a9925a45dd (diff)
downloadgraphql-31c516927d75a5431c171f4d5dbd3bf0cd32956e.tar.gz
Support nested fragments in any order
Fix #19.
Diffstat (limited to 'tests/Test')
-rw-r--r--tests/Test/FragmentSpec.hs25
1 files changed, 24 insertions, 1 deletions
diff --git a/tests/Test/FragmentSpec.hs b/tests/Test/FragmentSpec.hs
index 6a49eb6..a102104 100644
--- a/tests/Test/FragmentSpec.hs
+++ b/tests/Test/FragmentSpec.hs
@@ -98,14 +98,37 @@ spec = describe "Inline fragment executor" $ do
it "evaluates nested fragments" $ do
let query = [r|
{
- ...hatFragment
+ ...circumferenceFragment
+ }
+
+ fragment circumferenceFragment on Hat {
+ circumference
}
fragment hatFragment on Hat {
...circumferenceFragment
}
+ |]
+
+ actual <- graphql (circumference :| []) query
+ let expected = object
+ [ "data" .= object
+ [ "circumference" .= (60 :: Int)
+ ]
+ ]
+ in actual `shouldBe` expected
+
+ it "evaluates fragments defined in any order" $ do
+ let query = [r|
+ {
+ ...circumferenceFragment
+ }
fragment circumferenceFragment on Hat {
+ ...hatFragment
+ }
+
+ fragment hatFragment on Hat {
circumference
}
|]