Adjust wording according to the 2021 specification
This commit is contained in:
parent
97627ffc36
commit
27a5a0b44e
@ -856,8 +856,8 @@ knownArgumentNamesRule = ArgumentsRule fieldRule directiveRule
|
|||||||
, "\"."
|
, "\"."
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | GraphQL servers define what directives they support. For each usage of a
|
-- | GraphQL services define what directives they support. For each usage of a
|
||||||
-- directive, the directive must be available on that server.
|
-- directive, the directive must be available on that service.
|
||||||
knownDirectiveNamesRule :: Rule m
|
knownDirectiveNamesRule :: Rule m
|
||||||
knownDirectiveNamesRule = DirectivesRule $ const $ \directives' -> do
|
knownDirectiveNamesRule = DirectivesRule $ const $ \directives' -> do
|
||||||
definitions' <- asks $ Schema.directives . schema
|
definitions' <- asks $ Schema.directives . schema
|
||||||
@ -909,9 +909,9 @@ knownInputFieldNamesRule = ValueRule go constGo
|
|||||||
, "\"."
|
, "\"."
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | GraphQL servers define what directives they support and where they support
|
-- | GraphQL services define what directives they support and where they support
|
||||||
-- them. For each usage of a directive, the directive must be used in a location
|
-- them. For each usage of a directive, the directive must be used in a location
|
||||||
-- that the server has declared support for.
|
-- that the service has declared support for.
|
||||||
directivesInValidLocationsRule :: Rule m
|
directivesInValidLocationsRule :: Rule m
|
||||||
directivesInValidLocationsRule = DirectivesRule directivesRule
|
directivesInValidLocationsRule = DirectivesRule directivesRule
|
||||||
where
|
where
|
||||||
|
@ -94,7 +94,7 @@ dogType = ObjectType "Dog" Nothing [petType] $ HashMap.fromList
|
|||||||
, ("nickname", nicknameResolver)
|
, ("nickname", nicknameResolver)
|
||||||
, ("barkVolume", barkVolumeResolver)
|
, ("barkVolume", barkVolumeResolver)
|
||||||
, ("doesKnowCommand", doesKnowCommandResolver)
|
, ("doesKnowCommand", doesKnowCommandResolver)
|
||||||
, ("isHousetrained", isHousetrainedResolver)
|
, ("isHouseTrained", isHouseTrainedResolver)
|
||||||
, ("owner", ownerResolver)
|
, ("owner", ownerResolver)
|
||||||
]
|
]
|
||||||
where
|
where
|
||||||
@ -105,10 +105,10 @@ dogType = ObjectType "Dog" Nothing [petType] $ HashMap.fromList
|
|||||||
$ In.Argument Nothing (In.NonNullEnumType dogCommandType) Nothing
|
$ In.Argument Nothing (In.NonNullEnumType dogCommandType) Nothing
|
||||||
doesKnowCommandResolver = ValueResolver doesKnowCommandField
|
doesKnowCommandResolver = ValueResolver doesKnowCommandField
|
||||||
$ pure $ Boolean True
|
$ pure $ Boolean True
|
||||||
isHousetrainedField = Field Nothing (Out.NonNullScalarType boolean)
|
isHouseTrainedField = Field Nothing (Out.NonNullScalarType boolean)
|
||||||
$ HashMap.singleton "atOtherHomes"
|
$ HashMap.singleton "atOtherHomes"
|
||||||
$ In.Argument Nothing (In.NamedScalarType boolean) Nothing
|
$ In.Argument Nothing (In.NamedScalarType boolean) Nothing
|
||||||
isHousetrainedResolver = ValueResolver isHousetrainedField
|
isHouseTrainedResolver = ValueResolver isHouseTrainedField
|
||||||
$ pure $ Boolean True
|
$ pure $ Boolean True
|
||||||
ownerField = Field Nothing (Out.NamedObjectType humanType) mempty
|
ownerField = Field Nothing (Out.NamedObjectType humanType) mempty
|
||||||
ownerResolver = ValueResolver ownerField $ pure Null
|
ownerResolver = ValueResolver ownerField $ pure Null
|
||||||
@ -455,7 +455,7 @@ spec =
|
|||||||
it "rejects duplicate field arguments" $
|
it "rejects duplicate field arguments" $
|
||||||
let queryString = "{\n\
|
let queryString = "{\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: true, atOtherHomes: true)\n\
|
\ isHouseTrained(atOtherHomes: true, atOtherHomes: true)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
@ -492,7 +492,7 @@ spec =
|
|||||||
it "rejects duplicate variables" $
|
it "rejects duplicate variables" $
|
||||||
let queryString = "query houseTrainedQuery($atOtherHomes: Boolean, $atOtherHomes: Boolean) {\n\
|
let queryString = "query houseTrainedQuery($atOtherHomes: Boolean, $atOtherHomes: Boolean) {\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: $atOtherHomes)\n\
|
\ isHouseTrained(atOtherHomes: $atOtherHomes)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
@ -507,7 +507,7 @@ spec =
|
|||||||
it "rejects non-input types as variables" $
|
it "rejects non-input types as variables" $
|
||||||
let queryString = "query takesDogBang($dog: Dog!) {\n\
|
let queryString = "query takesDogBang($dog: Dog!) {\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: $dog)\n\
|
\ isHouseTrained(atOtherHomes: $dog)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
@ -522,12 +522,12 @@ spec =
|
|||||||
it "rejects undefined variables" $
|
it "rejects undefined variables" $
|
||||||
let queryString = "query variableIsNotDefinedUsedInSingleFragment {\n\
|
let queryString = "query variableIsNotDefinedUsedInSingleFragment {\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ ...isHousetrainedFragment\n\
|
\ ...isHouseTrainedFragment\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}\n\
|
\}\n\
|
||||||
\\n\
|
\\n\
|
||||||
\fragment isHousetrainedFragment on Dog {\n\
|
\fragment isHouseTrainedFragment on Dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: $atOtherHomes)\n\
|
\ isHouseTrained(atOtherHomes: $atOtherHomes)\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
{ message =
|
{ message =
|
||||||
@ -566,7 +566,7 @@ spec =
|
|||||||
it "rejects unused variables" $
|
it "rejects unused variables" $
|
||||||
let queryString = "query variableUnused($atOtherHomes: Boolean) {\n\
|
let queryString = "query variableUnused($atOtherHomes: Boolean) {\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained\n\
|
\ isHouseTrained\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
@ -648,7 +648,7 @@ spec =
|
|||||||
it "rejects directive arguments missing in the definition" $
|
it "rejects directive arguments missing in the definition" $
|
||||||
let queryString = "{\n\
|
let queryString = "{\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: true) @include(unless: false, if: true)\n\
|
\ isHouseTrained(atOtherHomes: true) @include(unless: false, if: true)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
@ -663,7 +663,7 @@ spec =
|
|||||||
it "rejects undefined directives" $
|
it "rejects undefined directives" $
|
||||||
let queryString = "{\n\
|
let queryString = "{\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: true) @ignore(if: true)\n\
|
\ isHouseTrained(atOtherHomes: true) @ignore(if: true)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
@ -740,13 +740,13 @@ spec =
|
|||||||
let queryString = "{\n\
|
let queryString = "{\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ doesKnowCommand(dogCommand: SIT)\n\
|
\ doesKnowCommand(dogCommand: SIT)\n\
|
||||||
\ doesKnowCommand: isHousetrained(atOtherHomes: true)\n\
|
\ doesKnowCommand: isHouseTrained(atOtherHomes: true)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
{ message =
|
{ message =
|
||||||
"Fields \"doesKnowCommand\" conflict because \
|
"Fields \"doesKnowCommand\" conflict because \
|
||||||
\\"doesKnowCommand\" and \"isHousetrained\" are \
|
\\"doesKnowCommand\" and \"isHouseTrained\" are \
|
||||||
\different fields. Use different aliases on the \
|
\different fields. Use different aliases on the \
|
||||||
\fields to fetch both if this was intentional."
|
\fields to fetch both if this was intentional."
|
||||||
, locations = [AST.Location 3 5, AST.Location 4 5]
|
, locations = [AST.Location 3 5, AST.Location 4 5]
|
||||||
@ -761,13 +761,13 @@ spec =
|
|||||||
\ }\n\
|
\ }\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ name\n\
|
\ name\n\
|
||||||
\ doesKnowCommand: isHousetrained(atOtherHomes: true)\n\
|
\ doesKnowCommand: isHouseTrained(atOtherHomes: true)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
{ message =
|
{ message =
|
||||||
"Fields \"doesKnowCommand\" conflict because \
|
"Fields \"doesKnowCommand\" conflict because \
|
||||||
\\"doesKnowCommand\" and \"isHousetrained\" are \
|
\\"doesKnowCommand\" and \"isHouseTrained\" are \
|
||||||
\different fields. Use different aliases on the \
|
\different fields. Use different aliases on the \
|
||||||
\fields to fetch both if this was intentional."
|
\fields to fetch both if this was intentional."
|
||||||
, locations = [AST.Location 4 5, AST.Location 8 5]
|
, locations = [AST.Location 4 5, AST.Location 8 5]
|
||||||
@ -860,7 +860,7 @@ spec =
|
|||||||
it "rejects wrongly typed variable arguments" $
|
it "rejects wrongly typed variable arguments" $
|
||||||
let queryString = "query intCannotGoIntoBoolean($intArg: Int) {\n\
|
let queryString = "query intCannotGoIntoBoolean($intArg: Int) {\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: $intArg)\n\
|
\ isHouseTrained(atOtherHomes: $intArg)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
@ -875,7 +875,7 @@ spec =
|
|||||||
it "rejects values of incorrect types" $
|
it "rejects values of incorrect types" $
|
||||||
let queryString = "{\n\
|
let queryString = "{\n\
|
||||||
\ dog {\n\
|
\ dog {\n\
|
||||||
\ isHousetrained(atOtherHomes: 3)\n\
|
\ isHouseTrained(atOtherHomes: 3)\n\
|
||||||
\ }\n\
|
\ }\n\
|
||||||
\}"
|
\}"
|
||||||
expected = Error
|
expected = Error
|
||||||
|
Loading…
Reference in New Issue
Block a user