graphql-mesh
graphql-mesh copied to clipboard
Accessing a non existand data from the mockStore complains about the wrong thing
Describe the bug
Accessing a resource from the mockStore
that doesn't exist doesn't handle the situation well. It complains about the DateTime
not being defined, and not that the resource access attempt is invalid.
This is how I handle the resource detail:
resourceDetail: (_, { id }, { mockStore }) => {
// here I'd like to check if the resource exists and then return a handled error
return mockStore.get('ResourceDetail', id);
},
I assume I should protect the endpoint, but how can this be done with the mockStore?
Not sure if it is directly related but could you try with the following alpha version?
@graphql-mesh/[email protected]
@ardatan, I've tested the error returned when accessing the resource which isn't there, but there was no change in the behavior.
Could you help me to reproduce it or creating a failing test would be even better?
@ardatan Okay, here it is: https://github.com/nemonemi/graphql_ensemble/tree/graphql-error-handling
- install dependencies
- run
yarn startGateway
- get a valid ID from the
query Authors
- run
query Author
with that ID - observe that it works
- run the same
query Author
with a wrong ID - observe the error
"No mock defined for type \"DateTime\""
I have also added another issue of a similar type when trying to handle errors with union types:
8. run the query AuthorPerhaps
9. observe the error "Cannot read property 'name' of undefined"
Where does this error come from?
@ardatan, have you made any progress with this issue?
@Urigo , How about this issue?
Guys... it's been more than 2 months since I've provided the reproduction. Could you please look into it?
@ardatan You can assign this issue to me. I will have a look at it this week.