UNPKG

mongoose-schema-to-graphql-object

Version:

Auto types generator for graphQL schema, based on your existed Mongoose schema. Check GitHub for description.

56 lines (51 loc) 1.3 kB
import mongoose from 'mongoose'; import { GraphQLInt, GraphQLString, GraphQLObjectType } from 'graphql'; import mongooseSchemaToGraphQL from '../lib/index.min'; import { getRidOfThunks } from '../tools/util'; test('excludes given fields', () => { const NAME = 'ExcludeTestSchema'; const DESCRIPTION = 'Testing'; expect( getRidOfThunks(mongooseSchemaToGraphQL({ name: NAME, class: 'GraphQLObjectType', description: DESCRIPTION, schema: new mongoose.Schema({ a: Number, b: String, }), exclude: ['_id', 'b'], })), ).toEqual( getRidOfThunks(new GraphQLObjectType({ name: NAME, description: DESCRIPTION, fields: () => ({ a: { type: GraphQLInt }, }), })), ); const NAME2 = 'NAME2'; expect( getRidOfThunks(mongooseSchemaToGraphQL({ name: NAME2, class: 'GraphQLObjectType', description: DESCRIPTION, schema: new mongoose.Schema({ __custom: String, __v: String, a: Number, }), exclude: /^__/ })), ).toEqual( getRidOfThunks(new GraphQLObjectType({ name: NAME2, description: DESCRIPTION, fields: () => ({ _id: { type: GraphQLString }, a: { type: GraphQLInt } }) })) ); });