From 35392ec15152b0d2cc3fe50585bed2df979496b3 Mon Sep 17 00:00:00 2001 From: Ivan Goncharov Date: Tue, 29 Jan 2019 11:31:44 +0200 Subject: [PATCH] Fix missing schema's astNode when schema was defined inside extension --- src/utilities/__tests__/extendSchema-test.js | 9 +++++---- src/utilities/extendSchema.js | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utilities/__tests__/extendSchema-test.js b/src/utilities/__tests__/extendSchema-test.js index 67d691c533..044f427b34 100644 --- a/src/utilities/__tests__/extendSchema-test.js +++ b/src/utilities/__tests__/extendSchema-test.js @@ -1165,14 +1165,15 @@ describe('extendSchema', () => { }); expect(schema.getQueryType()).to.equal(undefined); - const ast = parse(` + const extensionSDL = dedent` schema @foo { query: Foo - } - `); - schema = extendSchema(schema, ast); + }`; + schema = extendSchema(schema, parse(extensionSDL)); + const queryType = schema.getQueryType(); expect(queryType).to.include({ name: 'Foo' }); + expect(print(schema.astNode)).to.equal(extensionSDL); }); it('adds new root types via schema extension', () => { diff --git a/src/utilities/extendSchema.js b/src/utilities/extendSchema.js index 06b4cf28be..b09b802864 100644 --- a/src/utilities/extendSchema.js +++ b/src/utilities/extendSchema.js @@ -206,7 +206,7 @@ export function extendSchema( types: objectValues(typeMap), directives: getMergedDirectives(), - astNode: schemaConfig.astNode, + astNode: schemaDef || schemaConfig.astNode, extensionASTNodes: schemaConfig.extensionASTNodes.concat(schemaExts), allowedLegacyNames, });