Monish Das
Monish Das

Reputation: 393

Mocking apollo graphql client

I have written the following node client which interacts with the graphql server and using apollo-tools node module. I was not able to find any mock test for the below in node. Pls let me know is there a way to mock the below piece of code.

const batchIdFetchClient = new ApolloClient({
        uri: `http://localhost:3435`,
        fetch,
    })

    await batchfetchclient.query({
        query: gql`
  query batcidId($batchid: String!) {
    batchIds(batchid: $batchid){
        batchrenewedId 
    }
  }
`,
        variables: {
            batchid: 'exdsfsdfsfdid1234', // As of now hardcoded
        },
    })
        .then(data => {
            logger.info('BatchId Database Successful Response =>' + JSON.stringify(data))
        })
        .catch(error => {
            logger.error('BatchId Database Error Response =>' + error)
        })

Upvotes: 1

Views: 746

Answers (1)

alejandro estrada
alejandro estrada

Reputation: 504

Maybe you can try using easygraphql-tester, it'll be something like this:

You need to pass your schema in order to mock it

const EasyGraphQLTester = require('easygraphql-tester')

const tester = new EasyGraphQLTester(schema)

const query = gql`
  query batcidId($batchid: String!) {
    batchIds(batchid: $batchid){
      batchrenewedId 
    }
  }
`

const mock = tester.mock({
  query,
  variables: {
    batchid: 'exdsfsdfsfdid1234', // As of now hardcoded
  }
})

console.log(mock)

Also, you can set fixtures if you want to have a specific data.

Upvotes: 1

Related Questions