Skip to content

Commit

Permalink
Add a flag to graphql test fixture to ensure invalid cases actually f…
Browse files Browse the repository at this point in the history
…ail and vise versa

Reviewed By: alunyov

Differential Revision: D15161946

fbshipit-source-id: d9cdced628c83e8ef8d087a0f14e9672ee1e0fe2
  • Loading branch information
tyao1 authored and facebook-github-bot committed May 2, 2019
1 parent c397b2b commit a6b388b
Show file tree
Hide file tree
Showing 70 changed files with 552 additions and 346 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -468,6 +468,7 @@ fragment NodeFragment on Node {

exports[`compileRelayArtifacts (incremental delivery disabled) matches expected output: stream-connection-missing-if-variable.invalid.graphql 1`] = `
~~~~~~~~~~ INPUT ~~~~~~~~~~
# expected-to-throw
query NodeQuery(
$id: ID!
) {
Expand Down Expand Up @@ -502,10 +503,10 @@ THROWN EXCEPTION:
Error: Encountered 1 error(s):
- The @stream_connection directive requires an 'if: $RELAY_INCREMENTAL_DELIVERY' argument. This is a temporary restriction during rollout of incremental data delivery.
Source: GraphQL request (8:7)
7: comments(first: 10)
8: @stream_connection(
^
9: key: "NodeQuery_comments"
Source: GraphQL request (9:7)
8: comments(first: 10)
9: @stream_connection(
^
10: key: "NodeQuery_comments"
`;
Original file line number Diff line number Diff line change
Expand Up @@ -3331,8 +3331,9 @@ fragment ProfilePicture on User {
}
`;

exports[`compileRelayArtifacts matches expected output: fragment-on-query-with-cycle.graphql 1`] = `
exports[`compileRelayArtifacts matches expected output: fragment-on-query-with-cycle.invalid.graphql 1`] = `
~~~~~~~~~~ INPUT ~~~~~~~~~~
# expected-to-throw
fragment RefetchableFragment on Query @refetchable(queryName: "RefetchableFragmentQuery") @argumentDefinitions(id: {type: "ID!"}) {
node(id: $id) {
... on User {
Expand Down Expand Up @@ -3363,33 +3364,35 @@ THROWN EXCEPTION:
Error: Found a circular reference from fragment 'Profile'.
Source (derived): GraphQL request (1:1)
1: fragment RefetchableFragment on Query @refetchable(queryName: "RefetchableFragmentQuery") @argumentDefinitions(id: {type: "ID!"}) {
Source (derived): GraphQL request (2:1)
1: # expected-to-throw
2: fragment RefetchableFragment on Query @refetchable(queryName: "RefetchableFragmentQuery") @argumentDefinitions(id: {type: "ID!"}) {
^
2: node(id: $id) {
3: node(id: $id) {
Source (derived): GraphQL request (1:1)
1: fragment RefetchableFragment on Query @refetchable(queryName: "RefetchableFragmentQuery") @argumentDefinitions(id: {type: "ID!"}) {
Source (derived): GraphQL request (2:1)
1: # expected-to-throw
2: fragment RefetchableFragment on Query @refetchable(queryName: "RefetchableFragmentQuery") @argumentDefinitions(id: {type: "ID!"}) {
^
2: node(id: $id) {
3: node(id: $id) {
Source: GraphQL request (6:7)
5: name
6: ...Profile @arguments(includeProfile: true)
Source: GraphQL request (7:7)
6: name
7: ...Profile @arguments(includeProfile: true)
^
7: }
8: }
Source: GraphQL request (20:9)
19: node {
20: ...Profile
Source: GraphQL request (21:9)
20: node {
21: ...Profile
^
21: }
22: }
Source: GraphQL request (20:9)
19: node {
20: ...Profile
Source: GraphQL request (21:9)
20: node {
21: ...Profile
^
21: }
22: }
`;
Expand Down Expand Up @@ -9805,6 +9808,7 @@ fragment UserProfile_user on User {

exports[`compileRelayArtifacts matches expected output: unused-fragment-argdef.invalid.graphql 1`] = `
~~~~~~~~~~ INPUT ~~~~~~~~~~
# expected-to-throw
query QueryWithUnusedFragmentArgumentDefinition($id: ID!) {
node(id: $id) {
...Profile
Expand Down Expand Up @@ -9834,17 +9838,17 @@ THROWN EXCEPTION:
Error: RelayParser: Encountered 1 error(s):
- Variable @arguments values are only supported when the argument is defined with @argumentDefinitions. Check the definition of fragment 'ProfilePhoto'.
GraphQL request (15:36)
14: __typename
15: ...ProfilePhoto @arguments(size: $size)
GraphQL request (16:36)
15: __typename
16: ...ProfilePhoto @arguments(size: $size)
^
16: }
17: }
GraphQL request (18:1)
17:
18: fragment ProfilePhoto on User {
GraphQL request (19:1)
18:
19: fragment ProfilePhoto on User {
^
19: profilePicture(size: [100]) {
20: profilePicture(size: [100]) {
`;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# expected-to-throw
query NodeQuery(
$id: ID!
) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# expected-to-throw
fragment RefetchableFragment on Query @refetchable(queryName: "RefetchableFragmentQuery") @argumentDefinitions(id: {type: "ID!"}) {
node(id: $id) {
... on User {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# expected-to-throw
query QueryWithUnusedFragmentArgumentDefinition($id: ID!) {
node(id: $id) {
...Profile
Expand Down
8 changes: 2 additions & 6 deletions packages/relay-compiler/core/__tests__/RelayParser-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,7 @@ describe('RelayParser', () => {
});

generateTestsFromFixtures(`${__dirname}/fixtures/parser`, text => {
try {
const ir = RelayParser.parse(schema, text);
return JSON.stringify(ir, null, 2);
} catch (e) {
return 'ERROR:\n' + e;
}
const ir = RelayParser.parse(schema, text);
return JSON.stringify(ir, null, 2);
});
});
Loading

0 comments on commit a6b388b

Please sign in to comment.