mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-18 04:51:35 +03:00
b167120f96
We'll see if this improves compile times at all, but I think it's worth doing as at least the most minimal form of module documentation. This was accomplished by first compiling everything with -ddump-minimal-imports, and then a bunch of scripting (with help from ormolu) **EDIT** it doesn't seem to improve CI compile times but the noise floor is high as it looks like we're not caching library dependencies anymore PR-URL: https://github.com/hasura/graphql-engine-mono/pull/2730 GitOrigin-RevId: 667eb8de1e0f1af70420cbec90402922b8b84cb4
30 lines
1.0 KiB
Haskell
30 lines
1.0 KiB
Haskell
module Hasura.GraphQL.Parser.DirectivesTest (spec) where
|
|
|
|
import Data.Dependent.Map qualified as DM
|
|
import Data.Text qualified as T
|
|
import Hasura.GraphQL.Parser.Directives
|
|
import Hasura.GraphQL.Parser.Schema
|
|
import Hasura.GraphQL.Parser.TestUtils
|
|
import Hasura.Prelude
|
|
import Language.GraphQL.Draft.Syntax qualified as G
|
|
import Test.Hspec
|
|
|
|
spec :: Spec
|
|
spec = do
|
|
testDirective skipDirective skip
|
|
testDirective includeDirective include
|
|
testDirective cachedDirective cached
|
|
testDirective multipleRootFieldsDirective multipleRootFields
|
|
|
|
testDirective :: Directive TestMonad -> DirectiveKey a -> Spec
|
|
testDirective dir key = do
|
|
let name = diName $ dDefinition dir
|
|
location = head $ diLocations $ dDefinition dir
|
|
directive = fakeDirective $ dDefinition dir
|
|
describe (T.unpack $ G.unName name) $ do
|
|
it "has the same type in the key and the directive" $
|
|
flip shouldBe (Right True) $
|
|
runTest $ do
|
|
dmap <- parseDirectives [dir] location [directive]
|
|
pure $ isJust $ runIdentity <$> DM.lookup key dmap
|