forked from OSS/graphql
Test directive definition decoder
This commit is contained in:
parent
b40d8a7e1e
commit
01b30a71da
@ -11,6 +11,7 @@ import Language.GraphQL.TH
|
|||||||
import Test.Hspec (Spec, context, describe, it, shouldBe, shouldStartWith, shouldEndWith, shouldNotContain)
|
import Test.Hspec (Spec, context, describe, it, shouldBe, shouldStartWith, shouldEndWith, shouldNotContain)
|
||||||
import Test.QuickCheck (choose, oneof, forAll)
|
import Test.QuickCheck (choose, oneof, forAll)
|
||||||
import qualified Data.Text.Lazy as Text.Lazy
|
import qualified Data.Text.Lazy as Text.Lazy
|
||||||
|
import qualified Language.GraphQL.AST.DirectiveLocation as DirectiveLocation
|
||||||
|
|
||||||
spec :: Spec
|
spec :: Spec
|
||||||
spec = do
|
spec = do
|
||||||
@ -267,3 +268,26 @@ spec = do
|
|||||||
|]
|
|]
|
||||||
actual = typeSystemDefinition pretty definition'
|
actual = typeSystemDefinition pretty definition'
|
||||||
in actual `shouldBe` expected
|
in actual `shouldBe` expected
|
||||||
|
|
||||||
|
context "directive definition" $ do
|
||||||
|
it "encodes a directive definition" $ do
|
||||||
|
let definition' = Full.DirectiveDefinition mempty "example" mempty False
|
||||||
|
$ pure
|
||||||
|
$ DirectiveLocation.ExecutableDirectiveLocation DirectiveLocation.Field
|
||||||
|
expected = [gql|
|
||||||
|
@example() on
|
||||||
|
| FIELD
|
||||||
|
|]
|
||||||
|
actual = typeSystemDefinition pretty definition'
|
||||||
|
in actual `shouldBe` expected
|
||||||
|
|
||||||
|
it "encodes a repeatable directive definition" $ do
|
||||||
|
let definition' = Full.DirectiveDefinition mempty "example" mempty True
|
||||||
|
$ pure
|
||||||
|
$ DirectiveLocation.ExecutableDirectiveLocation DirectiveLocation.Field
|
||||||
|
expected = [gql|
|
||||||
|
@example() repeatable on
|
||||||
|
| FIELD
|
||||||
|
|]
|
||||||
|
actual = typeSystemDefinition pretty definition'
|
||||||
|
in actual `shouldBe` expected
|
||||||
|
Loading…
Reference in New Issue
Block a user