From 285ccb0af954059879b12e33754fd10ccbed646d Mon Sep 17 00:00:00 2001 From: Danny Navarro Date: Wed, 1 Mar 2017 22:04:13 -0300 Subject: Implement type instrospection tests The main intention with this commit is to show a poor's man way to support type instrospection. --- tests/Test/StarWars/Schema.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tests/Test/StarWars/Schema.hs') 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 ] -- cgit v1.2.3