Comments (3)
@jamesc892 It's very hard to generate "sane" data in a tool that doesn't know your application logic.
I can suggest two approaches:
- you can restrict possible IDs by adding
@examples(values: [22, 23])
to ID field - you can write a minimal GraphQL server with object having only
id
fields and use Faker in extend mode to add the rest: https://github.com/APIs-guru/graphql-faker#tldr
from graphql-faker.
Yeah I agree that sane data in its entirety would be out of scope. But for one off relationships, maybe not so much?
For context, we are trying to have on the fly introspection of our schema, and dynamically render faked data to avoid the need for engineers to do much from a configuration sense. Thinking thru the manual approach of restricting IDs and writing a minimal server to help were both scenarios we thought of, however they became a little too manual. We were hoping there was a flag that we could generate on our introspected schema to not rely on much static definition as we have a pretty robust API. We hoped something like a decorator @relationship(alias)
that takes an alias that would link two ids together could be feasible. I think we've reached limitations of this and other tools we've tried.
We'll reconvene here, and possibly throw you a PR if we think thru an aliased relationship approach, if that sounds interesting to you.
from graphql-faker.
@jamesc892 If you can suggest some general mechanism that would be useful to other users then I have no problem merging your PR or implementing it myself.
At the moment it hard for me to understand your proposal so can you please describe your setup step by step:
- You are using
--extend
mode or fake entire schema? - Can you please write simplified IDL/SDL?
- Please provide two queries (you mentioned in the initial comment) against faked API with conflicting IDs.
from graphql-faker.
Related Issues (20)
- @fake directive doesn't handle datatype values like boolean or array
- CLI command to generate a valid graphQl schema from the faker one HOT 4
- Fix deprecation Warning: faker.random
- faking graphql api using gaphql faker does not seem to query fields by id
- How to use a custom endpoint for fake service
- Faking file uploads/downloads
- Request for ARM docker image
- Allow to override existing schema with GraphQL-faker
- How to fake simple number with a static prefix?
- Interfaces implements Interface HOT 1
- Stuck at "loading" when running graphql-faker, is there a way to see a more detailed log? HOT 1
- Randomized fragment does not trigger new request
- Can we auto-fake without having to specify the faking it in the sdl file ?
- Unknown directive "specifiedBy" HOT 1
- npm package resolution hanging forever HOT 4
- proxy and SDL
- `@deprecated` directive not supported for input field HOT 3
- Cannot instal graphql-faker HOT 9
- support for interface implementing interfaces
- Any alternatives to this package? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphql-faker.