diff --git a/src/type/__tests__/definition-test.js b/src/type/__tests__/definition-test.js index f66ca60b87..d6bcc5a0c8 100644 --- a/src/type/__tests__/definition-test.js +++ b/src/type/__tests__/definition-test.js @@ -538,7 +538,8 @@ describe('Type System: Enums', () => { name: 'EnumWithNullishValue', values: { NULL: { value: null }, - UNDEFINED: { value: undefined }, + NAN: { value: NaN }, + NO_CUSTOM_VALUE: { value: undefined }, }, }); @@ -553,9 +554,18 @@ describe('Type System: Enums', () => { astNode: undefined, }, { - name: 'UNDEFINED', + name: 'NAN', description: undefined, - value: undefined, + value: NaN, + isDeprecated: false, + deprecationReason: undefined, + extensions: undefined, + astNode: undefined, + }, + { + name: 'NO_CUSTOM_VALUE', + description: undefined, + value: 'NO_CUSTOM_VALUE', isDeprecated: false, deprecationReason: undefined, extensions: undefined, diff --git a/src/type/definition.js b/src/type/definition.js index 486b3dd9b8..ed717a5e15 100644 --- a/src/type/definition.js +++ b/src/type/definition.js @@ -1290,7 +1290,7 @@ function defineEnumValues( return { name: valueName, description: valueConfig.description, - value: 'value' in valueConfig ? valueConfig.value : valueName, + value: valueConfig.value !== undefined ? valueConfig.value : valueName, isDeprecated: Boolean(valueConfig.deprecationReason), deprecationReason: valueConfig.deprecationReason, extensions: valueConfig.extensions && toObjMap(valueConfig.extensions), diff --git a/src/utilities/__tests__/valueFromAST-test.js b/src/utilities/__tests__/valueFromAST-test.js index 7b8511475f..a8f617271a 100644 --- a/src/utilities/__tests__/valueFromAST-test.js +++ b/src/utilities/__tests__/valueFromAST-test.js @@ -64,8 +64,8 @@ describe('valueFromAST', () => { GREEN: { value: 2 }, BLUE: { value: 3 }, NULL: { value: null }, - UNDEFINED: { value: undefined }, NAN: { value: NaN }, + NO_CUSTOM_VALUE: { value: undefined }, }, }); @@ -76,8 +76,8 @@ describe('valueFromAST', () => { testCase(testEnum, '"BLUE"', undefined); testCase(testEnum, 'null', null); testCase(testEnum, 'NULL', null); - testCase(testEnum, 'UNDEFINED', undefined); testCase(testEnum, 'NAN', NaN); + testCase(testEnum, 'NO_CUSTOM_VALUE', 'NO_CUSTOM_VALUE'); }); // Boolean!