Testing
Instead of wrapping our component with <ApolloProvider />
(as we normally do), we wrap it with <MockedProvider />
, which gives us benefits:
- mocks all network calls, allowing us to test in isolation and get consistent results with each query (
mocks
prop)
mocks
the mocks
array takes objects with specific requests and their associated results.
const mocks = [
{
request: {
query: GET_DOG_QUERY,
variables: {
name: 'Buck',
},
},
result: {
data: {
dog: { id: '1', name: 'Buck', breed: 'bulldog' },
},
}
},
];
When the provider receives a GET_DOG_QUERY
with matching variables, it returns the corresponding object from the result key.