react-apollo
react-apollo copied to clipboard
MockedProvider
I've been writing tests and running into quite a bit of an issue with the "No more mocked responses for the query" error.
Reading this article https://medium.com/@emmanuellaaninye/errors-when-testing-apollo-graphql-in-react-no-more-mocked-responses-for-the-query-fe1b54756491 highlights all the issues around testing.
I'm not sure I quite get the design behind this MockedProvider. No where in the documentation does it cover how to use it. Actually based on documentation it would seem this is rather straightforward: (1) provide your mock input (2) provide your mock output. Done.
That said then, why are we needing to 'pass multiple identical' mocks in. Why are we needing to match a specific 'property order'. And why isn't the failed message writing out something like 'you passed 'xyz' we expected 'abc' ?
this is it right here: https://www.apollographql.com/docs/react/api/react-testing/#mockedprovider
it says "doesn't send out network requests to your API, but rather allows you to specify the exact response payload for a given request". If that is the case, and based on that example, why would I ever get a "No more mocked responses for the query" error ? And why isn't that mentioned here ?
Honestly the MockedProvider seems to not be properly documented.
-
You have to create mocks with the exact same order of properties as your query ... this part is already weird.
-
in lot of cases my queries are returning undefined values ... the mocked provider works (the no mocked response error is not throwing) => I try to find reproducible steps for this one.