diff options
| author | Pweaver (Paul Weaver) <paul@mordor.org> | 2016-07-08 16:36:45 -0400 |
|---|---|---|
| committer | Pweaver (Paul Weaver) <paul@mordor.org> | 2016-07-08 16:51:54 -0400 |
| commit | 624efbbb35c7c416c4562fa22949c49a1359253d (patch) | |
| tree | 1424866e9bae2881dd67e031caa196ebc7623dc9 | |
| parent | cb73e9d53cfeebcaa7074bd5734d8a634ed0d75f (diff) | |
| download | graphql-624efbbb35c7c416c4562fa22949c49a1359253d.tar.gz | |
adds __typename tests to starwars testfile
| -rw-r--r-- | tests/Test/StarWars/QueryTests.hs | 40 |
1 files changed, 33 insertions, 7 deletions
diff --git a/tests/Test/StarWars/QueryTests.hs b/tests/Test/StarWars/QueryTests.hs index f2bcd89..b98f69c 100644 --- a/tests/Test/StarWars/QueryTests.hs +++ b/tests/Test/StarWars/QueryTests.hs @@ -45,7 +45,7 @@ test = testGroup "Star Wars Query Tests" $ object [ "data" .= object [ "hero" .= object [ "id" .= ("2001" :: Text) - , "name" .= ("R2-D2" :: Text) + , r2d2Name , "friends" .= [ object [lukeName] , object [hanName] @@ -79,8 +79,8 @@ test = testGroup "Star Wars Query Tests" , "friends" .= [ object [hanName] , object [leiaName] - , object ["name" .= ("C-3PO" :: Text)] - , object ["name" .= ("R2-D2" :: Text)] + , object [c3poName] + , object [r2d2Name] ] ] , object [ @@ -89,7 +89,7 @@ test = testGroup "Star Wars Query Tests" , "friends" .= [ object [lukeName] , object [leiaName] - , object ["name" .= ("R2-D2" :: Text)] + , object [r2d2Name] ] ] , object [ @@ -98,8 +98,8 @@ test = testGroup "Star Wars Query Tests" , "friends" .= [ object [lukeName] , object [hanName] - , object ["name" .= ("C-3PO" :: Text)] - , object ["name" .= ("R2-D2" :: Text)] + , object [c3poName] + , object [r2d2Name] ] ] ] @@ -183,7 +183,7 @@ test = testGroup "Star Wars Query Tests" $ object [ "data" .= object [ "hero" .= object [ "id" .= ("2001" :: Text) - , "name" .= ("R2-D2" :: Text) + , r2d2Name , "friends" .= [ object ["friendName" .= ("Luke Skywalker" :: Text)] , object ["friendName" .= ("Han Solo" :: Text)] @@ -241,11 +241,37 @@ test = testGroup "Star Wars Query Tests" , "leia" .= object [leiaName, alderaan] ]] ] + , testGroup "__typename" + [ testCase "R2D2 is a Droid" . testQuery + [r| query CheckTypeOfR2 { + hero { + __typename + name + } + } + |] + $ object ["data" .= object [ + "hero" .= ["__typename" .= ("Droid" :: Text), r2d2Name] + ]] + , testCase "Luke is a human" . testQuery + [r| query CheckTypeOfLuke { + hero(episode: EMPIRE) { + __typename + name + } + } + |] + $ object ["data" .= object [ + "hero" .= ["__typename" .= ("Human" :: Text), lukeName] + ]] + ] ] where lukeName = "name" .= ("Luke Skywalker" :: Text) leiaName = "name" .= ("Leia Organa" :: Text) hanName = "name" .= ("Han Solo" :: Text) + r2d2Name = "name" .= ("R2-D2" :: Text) + c3poName = "name" .= ("C-3PO" :: Text) tatooine = "homePlanet" .= ("Tatooine" :: Text) alderaan = "homePlanet" .= ("Alderaan" :: Text) |
