diff options
| author | Danny Navarro <j@dannynavarro.net> | 2016-02-05 12:32:35 +0100 |
|---|---|---|
| committer | Danny Navarro <j@dannynavarro.net> | 2016-02-05 12:32:35 +0100 |
| commit | c81ddb03353c65abaea1778159b0a7c37ffe38a8 (patch) | |
| tree | 65e7cfb6423c1518679014478735858c4ed98133 /tests/Test/StarWars.hs | |
| parent | eca3c2d8d4d427b58c2109c277975219bad58e43 (diff) | |
| download | graphql-c81ddb03353c65abaea1778159b0a7c37ffe38a8.tar.gz | |
Introduce `graphql` function
This simplifies Attoparsec parsing when executing a GraphQL
query.
Diffstat (limited to 'tests/Test/StarWars.hs')
| -rw-r--r-- | tests/Test/StarWars.hs | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/tests/Test/StarWars.hs b/tests/Test/StarWars.hs index bdd1991..8fe01ae 100644 --- a/tests/Test/StarWars.hs +++ b/tests/Test/StarWars.hs @@ -11,30 +11,23 @@ import Control.Applicative (Alternative, (<|>), empty, liftA2) import Data.Maybe (catMaybes) import qualified Data.Aeson as Aeson -import Data.Attoparsec.Text (parseOnly) import Data.Text (Text) -import Test.Tasty (TestTree) -import Test.Tasty.HUnit +import Test.Tasty (TestTree, testGroup) +import Test.Tasty.HUnit (testCase, (@?=)) -import Data.GraphQL.AST -import Data.GraphQL.Execute -import qualified Data.GraphQL.Parser as Parser +import Data.GraphQL import Data.GraphQL.Schema - -- * Test -- See https://github.com/graphql/graphql-js/blob/master/src/__tests__/starWarsQueryTests.js test :: TestTree -test = testCase "R2-D2" $ execute schema heroQuery @?= expected - where - heroQuery :: Document - heroQuery = either (error "Parsing error") id $ parseOnly Parser.document - "query HeroNameQuery{hero{name}}" - - expected :: Maybe Response - expected = Just $ Aeson.Object [("hero", Aeson.Object [("name", "R2-D2")])] +test = testGroup "Basic Queries" + [testCase "R2-D2" + $ graphql schema "query HeroNameQuery{hero{name}}" + @?= Just (Aeson.Object [("hero", Aeson.Object [("name", "R2-D2")])]) + ] -- * Schema -- See https://github.com/graphql/graphql-js/blob/master/src/__tests__/starWarsSchema.js |
