diff options
| author | Danny Navarro <j@dannynavarro.net> | 2017-03-01 22:04:13 -0300 |
|---|---|---|
| committer | Danny Navarro <j@dannynavarro.net> | 2017-03-01 17:04:13 -0300 |
| commit | 285ccb0af954059879b12e33754fd10ccbed646d (patch) | |
| tree | 14fa3e0e93b915232347f4efe9cd7eac6869553c /tests/Test/StarWars/Schema.hs | |
| parent | 6a10e28ba85d593184f6a1885bbab2347466ea0e (diff) | |
| download | graphql-285ccb0af954059879b12e33754fd10ccbed646d.tar.gz | |
Implement type instrospection tests
The main intention with this commit is to show a poor's man way to support type
instrospection.
Diffstat (limited to 'tests/Test/StarWars/Schema.hs')
| -rw-r--r-- | tests/Test/StarWars/Schema.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tests/Test/StarWars/Schema.hs b/tests/Test/StarWars/Schema.hs index e816d63..4d2fbf9 100644 --- a/tests/Test/StarWars/Schema.hs +++ b/tests/Test/StarWars/Schema.hs @@ -19,7 +19,10 @@ schema = hero :| [human, droid] hero :: Alternative f => Resolver f hero = Schema.objectA "hero" $ \case [] -> character artoo - [Argument "episode" (ValueInt n)] -> character . getHero $ fromIntegral n + [Argument "episode" (ValueInt n)] -> character . getHero $ fromIntegral n + [Argument "episode" (ValueEnum "NEWHOPE")] -> character $ getHero 4 + [Argument "episode" (ValueEnum "EMPIRE" )] -> character $ getHero 5 + [Argument "episode" (ValueEnum "JEDI" )] -> character $ getHero 6 _ -> empty human :: Alternative f => Resolver f @@ -40,4 +43,5 @@ character char = , Schema.enum "appearsIn" . traverse getEpisode $ appearsIn char , Schema.scalar "secretBackstory" $ secretBackstory char , Schema.scalar "homePlanet" $ either mempty homePlanet char + , Schema.scalar "__typename" $ typeName char ] |
