Add snapshot test for GitHub GraphQL query (#382)
Summary: This has two primary benefits: - Humans can look at this snapshot file to see what’s being queried, or to manually issue a query. - When we change the programmatically generated query, we can easily see what the results are in the GraphQL output. This makes it easy to verify that a change is correct. Test Plan: None. wchargin-branch: snapshot-query
This commit is contained in:
parent
773596755a
commit
a3f2b82073
|
@ -200,3 +200,128 @@ Object {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`graphql creates a query 1`] = `
|
||||||
|
"query FetchData($repoOwner: String! $repoName: String!) {
|
||||||
|
repository(owner: $repoOwner name: $repoName) {
|
||||||
|
url
|
||||||
|
name
|
||||||
|
owner {
|
||||||
|
...whoami
|
||||||
|
}
|
||||||
|
id
|
||||||
|
issues(first: 50) {
|
||||||
|
...issues
|
||||||
|
}
|
||||||
|
pullRequests(first: 50) {
|
||||||
|
...prs
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment whoami on Actor {
|
||||||
|
__typename
|
||||||
|
login
|
||||||
|
url
|
||||||
|
... on User {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
... on Organization {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
... on Bot {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment issues on IssueConnection {
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
nodes {
|
||||||
|
id
|
||||||
|
url
|
||||||
|
title
|
||||||
|
body
|
||||||
|
number
|
||||||
|
author {
|
||||||
|
...whoami
|
||||||
|
}
|
||||||
|
comments(first: 20) {
|
||||||
|
...comments
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment prs on PullRequestConnection {
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
nodes {
|
||||||
|
id
|
||||||
|
url
|
||||||
|
title
|
||||||
|
body
|
||||||
|
number
|
||||||
|
mergeCommit {
|
||||||
|
oid
|
||||||
|
}
|
||||||
|
additions
|
||||||
|
deletions
|
||||||
|
author {
|
||||||
|
...whoami
|
||||||
|
}
|
||||||
|
comments(first: 20) {
|
||||||
|
...comments
|
||||||
|
}
|
||||||
|
reviews(first: 10) {
|
||||||
|
...reviews
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment comments on IssueCommentConnection {
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
nodes {
|
||||||
|
id
|
||||||
|
url
|
||||||
|
author {
|
||||||
|
...whoami
|
||||||
|
}
|
||||||
|
body
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment reviews on PullRequestReviewConnection {
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
nodes {
|
||||||
|
id
|
||||||
|
url
|
||||||
|
body
|
||||||
|
author {
|
||||||
|
...whoami
|
||||||
|
}
|
||||||
|
state
|
||||||
|
comments(first: 10) {
|
||||||
|
...reviewComments
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fragment reviewComments on PullRequestReviewCommentConnection {
|
||||||
|
pageInfo {
|
||||||
|
hasNextPage
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
nodes {
|
||||||
|
id
|
||||||
|
url
|
||||||
|
body
|
||||||
|
author {
|
||||||
|
...whoami
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}"
|
||||||
|
`;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// @flow
|
// @flow
|
||||||
|
|
||||||
import type {Continuation} from "./graphql";
|
import type {Continuation} from "./graphql";
|
||||||
import {build} from "../../graphql/queries";
|
import {build, stringify, multilineLayout} from "../../graphql/queries";
|
||||||
import {
|
import {
|
||||||
PAGE_LIMIT,
|
PAGE_LIMIT,
|
||||||
createQuery,
|
createQuery,
|
||||||
|
@ -950,4 +950,10 @@ describe("graphql", () => {
|
||||||
expect(result).toMatchSnapshot();
|
expect(result).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("creates a query", () => {
|
||||||
|
expect(
|
||||||
|
stringify.body(createQuery(), multilineLayout(" "))
|
||||||
|
).toMatchSnapshot();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue