GraphQL
Extends Helper
GraphQL helper allows to send additional requests to a GraphQl endpoint during acceptance tests. Axios (opens new window) library is used to perform requests.
Configuration
- endpoint: GraphQL base URL
- timeout: timeout for requests in milliseconds. 10000ms by default
- defaultHeaders: a list of default headers
- onRequest: a async function which can update request object.
Example
GraphQL: { endpoint: 'http://site.com/graphql/', onRequest: (request) => { request.headers.auth = '123'; } }
Access From Helpers
Send GraphQL requests by accessing _executeQuery
method:
this.helpers['GraphQL']._executeQuery({ url, data, });
Methods
Parameters
config
_executeQuery
Executes query via axios call
Parameters
-
request
object (opens new window)
_prepareGraphQLRequest
Prepares request for axios call
Parameters
-
operation
object (opens new window) -
headers
object (opens new window)
sendMutation
Send query to GraphQL endpoint over http
I.sendMutation(` mutation createUser($user: UserInput!) { createUser(user: $user) { id name email } } `, { user: { name: 'John Doe', email: '[email protected]' } }, });
Parameters
-
mutation
String (opens new window) -
variables
object (opens new window) that may go along with the mutation -
options
object (opens new window) are additional query options -
headers
object (opens new window)
sendQuery
Send query to GraphQL endpoint over http. Returns a response as a promise.
const response = await I.sendQuery('{ users { name email }}'); // with variables const response = await I.sendQuery( 'query getUser($id: ID) { user(id: $id) { name email }}', { id: 1 }, ) const user = response.data.data;
Parameters
-
query
String (opens new window) -
variables
object (opens new window) that may go along with the query -
options
object (opens new window) are additional query options -
headers
object (opens new window)
© 2015 DavertMik <[email protected]> (http://codegyre.com)
Licensed under the MIT License.
https://codecept.io/helpers/GraphQL/