diff --git a/src/types/node.js b/src/types/node.js index 375bebc..35d8124 100644 --- a/src/types/node.js +++ b/src/types/node.js @@ -1,6 +1,8 @@ import { nodeDefinitions, fromGlobalId } from 'graphql-relay' import { toDashed } from './helpers' +const debug = require('debug')('graphbrainz:types/node') + const { nodeInterface, nodeField } = nodeDefinitions( (globalID, { loaders }) => { const { type, id } = fromGlobalId(globalID) @@ -11,7 +13,7 @@ const { nodeInterface, nodeField } = nodeDefinitions( try { return require(`./${obj._type}`).default } catch (err) { - console.error(err) + debug(`Failed to load type: ${obj._type}`) return null } } diff --git a/test/types/node.js b/test/types/node.js new file mode 100644 index 0000000..d6a8436 --- /dev/null +++ b/test/types/node.js @@ -0,0 +1,11 @@ +import test from 'ava' +import Node from '../../src/types/node' +import ReleaseGroup from '../../src/types/release-group' + +test('loads types from their module', t => { + t.is(Node.resolveType({ _type: 'release-group' }), ReleaseGroup) +}) + +test('returns null for unknown types', t => { + t.is(Node.resolveType({ _type: 'foo' }), null) +})