ardeois / graphql-codegen-typescript-mock-data

[GraphQL Codegen Plugin](https://github.com/dotansimha/graphql-code-generator) for building mock data based on the schema.
MIT License
133 stars 47 forks source link

Added support for custom generator function #39

Closed marucjmar closed 3 years ago

marucjmar commented 3 years ago

Hi,

I need to generate a specific value for mock. This implementation enables me to use my custom value generator. eg.

config:

src/test/factory/graphql.ts:
   plugins:
       - add: "import { generateArrayBuffer } from '../generators';"
       - typescript-mock-data:
              typesFile: "../../shared/graphql/generated.ts"
              enumValues: upper-case#upperCase
              typenames: keep
              addTypename: true
              scalars:
                 ArrayBuffer:  generateArrayBuffer()

src/test/factory/graphql.ts

import { generateArrayBuffer } from '../generators;

export const anPakeProtocol = (overrides?: Partial<PakeProtocol>): PakeProtocol => {
    return {
        id: overrides && overrides.hasOwnProperty('id') ? overrides.id! : '1d6a9360-c92b-4660-8e5f-04155047bddc',
        message: overrides && overrides.hasOwnProperty('message') ? overrides.message! : generateArrayBuffer(),
    };
};
marucjmar commented 3 years ago

@ardeois Done :)

ardeois commented 3 years ago

@marucjmar I've just noticed the npm publish failed when I merged. It's now fixed https://www.npmjs.com/package/graphql-codegen-typescript-mock-data Your PR is included in version 1.4.0