@@ -6,7 +6,6 @@ import { describe, it } from 'mocha';
6
6
import dedent from '../../jsutils/dedent' ;
7
7
import invariant from '../../jsutils/invariant' ;
8
8
9
- import { Kind } from '../../language/kinds' ;
10
9
import { parse } from '../../language/parser' ;
11
10
import { print } from '../../language/printer' ;
12
11
@@ -101,7 +100,7 @@ const testSchemaDefinitions = testSchemaAST.definitions.map(print);
101
100
function printTestSchemaChanges ( extendedSchema ) {
102
101
const ast = parse ( printSchema ( extendedSchema ) ) ;
103
102
return print ( {
104
- kind : Kind . DOCUMENT ,
103
+ ... ast ,
105
104
definitions : ast . definitions . filter (
106
105
node => ! testSchemaDefinitions . includes ( print ( node ) ) ,
107
106
) ,
@@ -333,7 +332,7 @@ describe('extendSchema', () => {
333
332
} ) ;
334
333
335
334
it ( 'correctly assign AST nodes to new and extended types' , ( ) => {
336
- const extendedSchema = extendTestSchema ( `
335
+ const firstExtensionAST = parse ( `
337
336
extend type Query {
338
337
newField(testArg: TestInput): TestEnum
339
338
}
@@ -362,7 +361,9 @@ describe('extendSchema', () => {
362
361
testInputField: TestEnum
363
362
}
364
363
` ) ;
365
- const ast = parse ( `
364
+ const extendedSchema = extendSchema ( testSchema , firstExtensionAST ) ;
365
+
366
+ const secondExtensionAST = parse ( `
366
367
extend type Query {
367
368
oneMoreNewField: TestUnion
368
369
}
@@ -395,7 +396,10 @@ describe('extendSchema', () => {
395
396
396
397
directive @test(arg: Int) repeatable on FIELD | SCALAR
397
398
` ) ;
398
- const extendedTwiceSchema = extendSchema ( extendedSchema , ast ) ;
399
+ const extendedTwiceSchema = extendSchema (
400
+ extendedSchema ,
401
+ secondExtensionAST ,
402
+ ) ;
399
403
400
404
const query = assertObjectType ( extendedTwiceSchema . getType ( 'Query' ) ) ;
401
405
const someEnum = assertEnumType ( extendedTwiceSchema . getType ( 'SomeEnum' ) ) ;
@@ -429,41 +433,30 @@ describe('extendSchema', () => {
429
433
expect ( testInput ) . to . include ( { extensionASTNodes : undefined } ) ;
430
434
expect ( testInterface ) . to . include ( { extensionASTNodes : undefined } ) ;
431
435
432
- expect ( query . extensionASTNodes ) . to . have . lengthOf ( 2 ) ;
433
- expect ( someScalar . extensionASTNodes ) . to . have . lengthOf ( 2 ) ;
434
- expect ( someEnum . extensionASTNodes ) . to . have . lengthOf ( 2 ) ;
435
- expect ( someUnion . extensionASTNodes ) . to . have . lengthOf ( 2 ) ;
436
- expect ( someInput . extensionASTNodes ) . to . have . lengthOf ( 2 ) ;
437
- expect ( someInterface . extensionASTNodes ) . to . have . lengthOf ( 2 ) ;
438
-
439
- invariant ( testInput . astNode ) ;
440
- invariant ( testEnum . astNode ) ;
441
- invariant ( testUnion . astNode ) ;
442
- invariant ( testInterface . astNode ) ;
443
- invariant ( testType . astNode ) ;
444
- invariant ( testDirective . astNode ) ;
445
-
446
- const restoredExtensionAST = {
447
- kind : Kind . DOCUMENT ,
448
- definitions : [
449
- testInput . astNode ,
450
- testEnum . astNode ,
451
- testUnion . astNode ,
452
- testInterface . astNode ,
453
- testType . astNode ,
454
- testDirective . astNode ,
455
- ] . concat (
456
- query . extensionASTNodes || [ ] ,
457
- someScalar . extensionASTNodes || [ ] ,
458
- someEnum . extensionASTNodes || [ ] ,
459
- someUnion . extensionASTNodes || [ ] ,
460
- someInput . extensionASTNodes || [ ] ,
461
- someInterface . extensionASTNodes || [ ] ,
462
- ) ,
463
- } ;
464
- expect (
465
- printSchema ( extendSchema ( testSchema , restoredExtensionAST ) ) ,
466
- ) . to . be . equal ( printSchema ( extendedTwiceSchema ) ) ;
436
+ invariant ( query . extensionASTNodes ) ;
437
+ invariant ( someScalar . extensionASTNodes ) ;
438
+ invariant ( someEnum . extensionASTNodes ) ;
439
+ invariant ( someUnion . extensionASTNodes ) ;
440
+ invariant ( someInput . extensionASTNodes ) ;
441
+ invariant ( someInterface . extensionASTNodes ) ;
442
+
443
+ expect ( [
444
+ testInput . astNode ,
445
+ testEnum . astNode ,
446
+ testUnion . astNode ,
447
+ testInterface . astNode ,
448
+ testType . astNode ,
449
+ testDirective . astNode ,
450
+ ...query . extensionASTNodes ,
451
+ ...someScalar . extensionASTNodes ,
452
+ ...someEnum . extensionASTNodes ,
453
+ ...someUnion . extensionASTNodes ,
454
+ ...someInput . extensionASTNodes ,
455
+ ...someInterface . extensionASTNodes ,
456
+ ] ) . to . have . members ( [
457
+ ...firstExtensionAST . definitions ,
458
+ ...secondExtensionAST . definitions ,
459
+ ] ) ;
467
460
468
461
const newField = query . getFields ( ) . newField ;
469
462
expect ( printASTNode ( newField ) ) . to . equal (
0 commit comments