Files
shields/core/base-service/graphql.spec.js
T
chris48sandGitHub 75ee413178 Add BaseGraphqlService, support [github] V4 API (#3763)
* add base class for Graphql APIs
* add GithubAuthV4Service + updates to GH token pool
* update github forks to use GithubAuthV4Service
* rename GithubAuthService to GithubAuthV3Service
2019-07-29 21:42:03 +01:00

95 lines
1.9 KiB
JavaScript

'use strict'
const { expect } = require('chai')
const gql = require('graphql-tag')
const { print } = require('graphql/language/printer')
const { mergeQueries } = require('./graphql')
require('../register-chai-plugins.spec')
describe('mergeQueries function', function() {
it('merges valid gql queries', function() {
expect(
print(
mergeQueries(
gql`
query($param: String!) {
foo(param: $param) {
bar
}
}
`
)
)
).to.equalIgnoreSpaces(
'query ($param: String!) { foo(param: $param) { bar } }'
)
expect(
print(
mergeQueries(
gql`
query($param: String!) {
foo(param: $param) {
bar
}
}
`,
gql`
query {
baz
}
`
)
)
).to.equalIgnoreSpaces(
'query ($param: String!) { foo(param: $param) { bar } baz }'
)
expect(
print(
mergeQueries(
gql`
query {
foo
}
`,
gql`
query {
bar
}
`,
gql`
query {
baz
}
`
)
)
).to.equalIgnoreSpaces('{ foo bar baz }')
expect(
print(
mergeQueries(
gql`
{
foo
}
`,
gql`
{
bar
}
`
)
)
).to.equalIgnoreSpaces('{ foo bar }')
})
it('throws an error when passed invalid params', function() {
expect(() => mergeQueries('', '')).to.throw(Error)
expect(() => mergeQueries(undefined, 17, true)).to.throw(Error)
expect(() => mergeQueries(gql``, gql`foo`)).to.throw(Error)
})
})