ardatan / graphql-mesh

🕸️ GraphQL Federation Framework for any API services such as REST, OpenAPI, Swagger, SOAP, gRPC and more...
https://the-guild.dev/graphql/mesh
MIT License
3.27k stars 342 forks source link

Accessing a non existand data from the mockStore complains about the wrong thing #2320

Open nemonemi opened 3 years ago

nemonemi commented 3 years ago

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.

image

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?

ardatan commented 3 years ago

Not sure if it is directly related but could you try with the following alpha version? @graphql-mesh/transform-mock@0.10.0-alpha-50997b77c.0

nemonemi commented 3 years ago

@ardatan, I've tested the error returned when accessing the resource which isn't there, but there was no change in the behavior.

ardatan commented 3 years ago

Could you help me to reproduce it or creating a failing test would be even better?

nemonemi commented 3 years ago

@ardatan Okay, here it is: https://github.com/nemonemi/graphql_ensemble/tree/graphql-error-handling

  1. install dependencies
  2. run yarn startGateway
  3. get a valid ID from the query Authors
  4. run query Author with that ID
  5. observe that it works
  6. run the same query Author with a wrong ID
  7. 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:

  1. run the query AuthorPerhaps
  2. observe the error "Cannot read property 'name' of undefined"

Where does this error come from?

nemonemi commented 3 years ago

@ardatan, have you made any progress with this issue?

nemonemi commented 3 years ago

@Urigo , How about this issue?

nemonemi commented 2 years ago

Guys... it's been more than 2 months since I've provided the reproduction. Could you please look into it?

tvvignesh commented 2 years ago

@ardatan You can assign this issue to me. I will have a look at it this week.