Skip to content

Commit 9edc5a8

Browse files
committed
fix(FieldConverter): Return field type for mongoose references instead of abstract GQLReference type
closes #3
1 parent 0bc78dd commit 9edc5a8

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

src/__tests__/fieldConverter-test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
enumToGraphQL,
3030
documentArrayToGraphQL,
3131
mixedToGraphQL,
32+
referenceToGraphQL,
3233
} from '../fieldsConverter';
3334
import { composeWithMongoose } from '../composeWithMongoose';
3435
import GraphQLMongoID from '../types/mongoid';
@@ -241,8 +242,8 @@ describe('fieldConverter', () => {
241242
});
242243

243244
describe('referenceToGraphQL()', () => {
244-
xit('', () => {
245-
245+
it('should return type of field', () => {
246+
expect(referenceToGraphQL(fields.user)).equal(GraphQLMongoID);
246247
});
247248
});
248249
});

src/fieldsConverter.js

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import {
99
GraphQLBuffer,
1010
GraphQLGeneric,
1111
GraphQLJSON,
12-
GQLReference,
1312
} from 'graphql-compose';
1413

1514
import {
@@ -148,7 +147,7 @@ export function convertModelToGraphQL(
148147
const mongooseFields = getFieldsFromModel(model, typeName);
149148
const graphqlFields = {};
150149

151-
Object.keys(mongooseFields).forEach(fieldName => {
150+
Object.keys(mongooseFields).forEach((fieldName) => {
152151
const mongooseField:MongooseFieldT = mongooseFields[fieldName];
153152
graphqlFields[fieldName] = {
154153
type: convertFieldToGraphQL(mongooseField, typeName),
@@ -232,7 +231,7 @@ export function deriveComplexType(field: MongooseFieldT): ComplexTypesT {
232231
function removePseudoIdField(typeComposer: TypeComposer): void {
233232
// remove pseudo object id mongoose field
234233
const gqFields = typeComposer.getFields();
235-
Object.keys(gqFields).forEach(name => {
234+
Object.keys(gqFields).forEach((name) => {
236235
if (gqFields[name].type === GraphQLMongoID) {
237236
typeComposer.removeField(name);
238237
}
@@ -345,14 +344,14 @@ export function referenceToGraphQL(
345344
+ 'Correct field should has mongoose-type `ObjectID`');
346345
}
347346

348-
const refModelName = objectPath.get(field, 'options.ref');
349-
if (refModelName) {
350-
return GQLReference;
351-
// throw new Error('Mongoose REFERENCE to graphQL TYPE not implemented yet. '
352-
// + `Field ${_getFieldName(field)}`);
353-
// Storage.UnresolvedRefs.setSubKey(parentTypeName, fieldName, { refModelName });
354-
// return GraphQLReference;
355-
}
347+
// const refModelName = objectPath.get(field, 'options.ref');
348+
// if (refModelName) {
349+
// return GQLReference;
350+
// // throw new Error('Mongoose REFERENCE to graphQL TYPE not implemented yet. '
351+
// // + `Field ${_getFieldName(field)}`);
352+
// // Storage.UnresolvedRefs.setSubKey(parentTypeName, fieldName, { refModelName });
353+
// // return GraphQLReference;
354+
// }
356355

357356
// this is mongo id field
358357
return scalarToGraphQL(field, prefix);

0 commit comments

Comments
 (0)