-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Example with missing validation error for a required field argument o…
…n the resolver field (#4512) Summary: The variable $scale is not defined on the query. Pull Request resolved: #4512 Reviewed By: monicatang Differential Revision: D50972592 Pulled By: alunyov fbshipit-source-id: 8408fcb17f5be918da2f6a15b12b10e879279836
- Loading branch information
1 parent
6b89a29
commit 8fc5000
Showing
3 changed files
with
260 additions
and
1 deletion.
There are no files selected for viewing
225 changes: 225 additions & 0 deletions
225
.../tests/compile_relay_artifacts/fixtures/relay-resolver-with-args-fragment-spread.expected
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,225 @@ | ||
==================================== INPUT ==================================== | ||
fragment relayResolverWithArgsFragmentSpread_PopStarNameResolverFragment_name on ClientType @argumentDefinitions(scale: {type: "Float!"}) { | ||
name | ||
profile_picture(scale: $scale) | ||
} | ||
|
||
query relayResolverWithArgsFragmentSpread_Query { | ||
...relayResolverWithArgsFragmentSpread_Fragment | ||
} | ||
|
||
fragment relayResolverWithArgsFragmentSpread_Fragment on Query { | ||
pop_star { | ||
pop_star_name(scale: $scale) | ||
} | ||
} | ||
|
||
|
||
# %extensions% | ||
|
||
type ClientType { | ||
name: String | ||
profile_picture(scale: Float!): String | ||
pop_star_name(scale: Float!): String @relay_resolver(fragment_name: "relayResolverWithArgsFragmentSpread_PopStarNameResolverFragment_name", import_path: "./path/to/PopStarNameResolver.js", , import_name: "pop_star_name") | ||
} | ||
|
||
extend type Query { | ||
pop_star: ClientType @relay_resolver(import_path: "./path/to/PopStarNameResolver.js", import_name: "pop_star") | ||
} | ||
==================================== OUTPUT =================================== | ||
{ | ||
"fragment": { | ||
"argumentDefinitions": [], | ||
"kind": "Fragment", | ||
"metadata": null, | ||
"name": "relayResolverWithArgsFragmentSpread_Query", | ||
"selections": [ | ||
{ | ||
"args": null, | ||
"kind": "FragmentSpread", | ||
"name": "relayResolverWithArgsFragmentSpread_Fragment" | ||
} | ||
], | ||
"type": "Query", | ||
"abstractKey": null | ||
}, | ||
"kind": "Request", | ||
"operation": { | ||
"argumentDefinitions": [], | ||
"kind": "Operation", | ||
"name": "relayResolverWithArgsFragmentSpread_Query", | ||
"selections": [ | ||
{ | ||
"kind": "ClientEdgeToClientObject", | ||
"backingField": { | ||
"name": "pop_star", | ||
"args": null, | ||
"fragment": null, | ||
"kind": "RelayResolver", | ||
"storageKey": null, | ||
"isOutputType": false | ||
}, | ||
"linkedField": { | ||
"alias": null, | ||
"args": null, | ||
"concreteType": "ClientType", | ||
"kind": "LinkedField", | ||
"name": "pop_star", | ||
"plural": false, | ||
"selections": [ | ||
{ | ||
"name": "pop_star_name", | ||
"args": null, | ||
"fragment": { | ||
"kind": "InlineFragment", | ||
"selections": [ | ||
{ | ||
"alias": null, | ||
"args": null, | ||
"kind": "ScalarField", | ||
"name": "name", | ||
"storageKey": null | ||
}, | ||
{ | ||
"alias": null, | ||
"args": [ | ||
{ | ||
"kind": "Variable", | ||
"name": "scale", | ||
"variableName": "scale" | ||
} | ||
], | ||
"kind": "ScalarField", | ||
"name": "profile_picture", | ||
"storageKey": null | ||
} | ||
], | ||
"type": "ClientType", | ||
"abstractKey": null | ||
}, | ||
"kind": "RelayResolver", | ||
"storageKey": null, | ||
"isOutputType": false | ||
} | ||
], | ||
"storageKey": null | ||
} | ||
} | ||
] | ||
}, | ||
"params": { | ||
"cacheID": "94508dc2526a8b7563266e5349ed2265", | ||
"id": null, | ||
"metadata": {}, | ||
"name": "relayResolverWithArgsFragmentSpread_Query", | ||
"operationKind": "query", | ||
"text": null | ||
} | ||
} | ||
|
||
QUERY: | ||
|
||
Query Text is Empty. | ||
|
||
{ | ||
"argumentDefinitions": [ | ||
{ | ||
"kind": "RootArgument", | ||
"name": "scale" | ||
} | ||
], | ||
"kind": "Fragment", | ||
"metadata": { | ||
"hasClientEdges": true | ||
}, | ||
"name": "relayResolverWithArgsFragmentSpread_Fragment", | ||
"selections": [ | ||
{ | ||
"kind": "ClientEdgeToClientObject", | ||
"concreteType": "ClientType", | ||
"backingField": { | ||
"alias": null, | ||
"args": null, | ||
"fragment": null, | ||
"kind": "RelayResolver", | ||
"name": "pop_star", | ||
"resolverModule": require('PopStarNameResolver').pop_star, | ||
"path": "pop_star" | ||
}, | ||
"linkedField": { | ||
"alias": null, | ||
"args": null, | ||
"concreteType": "ClientType", | ||
"kind": "LinkedField", | ||
"name": "pop_star", | ||
"plural": false, | ||
"selections": [ | ||
{ | ||
"alias": null, | ||
"args": [], | ||
"fragment": { | ||
"args": [ | ||
{ | ||
"kind": "Variable", | ||
"name": "scale", | ||
"variableName": "scale" | ||
} | ||
], | ||
"kind": "FragmentSpread", | ||
"name": "relayResolverWithArgsFragmentSpread_PopStarNameResolverFragment_name" | ||
}, | ||
"kind": "RelayResolver", | ||
"name": "pop_star_name", | ||
"resolverModule": require('PopStarNameResolver').pop_star_name, | ||
"path": "pop_star.pop_star_name" | ||
} | ||
], | ||
"storageKey": null | ||
} | ||
} | ||
], | ||
"type": "Query", | ||
"abstractKey": null | ||
} | ||
|
||
{ | ||
"argumentDefinitions": [ | ||
{ | ||
"defaultValue": null, | ||
"kind": "LocalArgument", | ||
"name": "scale" | ||
} | ||
], | ||
"kind": "Fragment", | ||
"metadata": null, | ||
"name": "relayResolverWithArgsFragmentSpread_PopStarNameResolverFragment_name", | ||
"selections": [ | ||
{ | ||
"kind": "ClientExtension", | ||
"selections": [ | ||
{ | ||
"alias": null, | ||
"args": null, | ||
"kind": "ScalarField", | ||
"name": "name", | ||
"storageKey": null | ||
}, | ||
{ | ||
"alias": null, | ||
"args": [ | ||
{ | ||
"kind": "Variable", | ||
"name": "scale", | ||
"variableName": "scale" | ||
} | ||
], | ||
"kind": "ScalarField", | ||
"name": "profile_picture", | ||
"storageKey": null | ||
} | ||
] | ||
} | ||
], | ||
"type": "ClientType", | ||
"abstractKey": null | ||
} |
27 changes: 27 additions & 0 deletions
27
...r/tests/compile_relay_artifacts/fixtures/relay-resolver-with-args-fragment-spread.graphql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
fragment relayResolverWithArgsFragmentSpread_PopStarNameResolverFragment_name on ClientType @argumentDefinitions(scale: {type: "Float!"}) { | ||
name | ||
profile_picture(scale: $scale) | ||
} | ||
|
||
query relayResolverWithArgsFragmentSpread_Query { | ||
...relayResolverWithArgsFragmentSpread_Fragment | ||
} | ||
|
||
fragment relayResolverWithArgsFragmentSpread_Fragment on Query { | ||
pop_star { | ||
pop_star_name(scale: $scale) | ||
} | ||
} | ||
|
||
|
||
# %extensions% | ||
|
||
type ClientType { | ||
name: String | ||
profile_picture(scale: Float!): String | ||
pop_star_name(scale: Float!): String @relay_resolver(fragment_name: "relayResolverWithArgsFragmentSpread_PopStarNameResolverFragment_name", import_path: "./path/to/PopStarNameResolver.js", , import_name: "pop_star_name") | ||
} | ||
|
||
extend type Query { | ||
pop_star: ClientType @relay_resolver(import_path: "./path/to/PopStarNameResolver.js", import_name: "pop_star") | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters