Skip to content

Commit e497731

Browse files
tests: simplify 'astNode' and 'extensionASTNodes' tests (#2302)
1 parent 5ae523c commit e497731

File tree

2 files changed

+44
-57
lines changed

2 files changed

+44
-57
lines changed

src/utilities/__tests__/buildASTSchema-test.js

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { describe, it } from 'mocha';
66
import dedent from '../../jsutils/dedent';
77
import invariant from '../../jsutils/invariant';
88

9-
import { Kind } from '../../language/kinds';
109
import { parse } from '../../language/parser';
1110
import { print } from '../../language/printer';
1211

@@ -786,22 +785,17 @@ describe('Schema Builder', () => {
786785
const testScalar = assertScalarType(schema.getType('TestScalar'));
787786
const testDirective = assertDirective(schema.getDirective('test'));
788787

789-
const restoredSchemaAST = {
790-
kind: Kind.DOCUMENT,
791-
definitions: [
792-
schema.astNode,
793-
query.astNode,
794-
testInput.astNode,
795-
testEnum.astNode,
796-
testUnion.astNode,
797-
testInterface.astNode,
798-
testType.astNode,
799-
testScalar.astNode,
800-
testDirective.astNode,
801-
],
802-
loc: undefined,
803-
};
804-
expect(restoredSchemaAST).to.be.deep.equal(ast);
788+
expect([
789+
schema.astNode,
790+
query.astNode,
791+
testInput.astNode,
792+
testEnum.astNode,
793+
testUnion.astNode,
794+
testInterface.astNode,
795+
testType.astNode,
796+
testScalar.astNode,
797+
testDirective.astNode,
798+
]).to.be.deep.equal(ast.definitions);
805799

806800
const testField = query.getFields().testField;
807801
expect(printASTNode(testField)).to.equal(

src/utilities/__tests__/extendSchema-test.js

Lines changed: 33 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { describe, it } from 'mocha';
66
import dedent from '../../jsutils/dedent';
77
import invariant from '../../jsutils/invariant';
88

9-
import { Kind } from '../../language/kinds';
109
import { parse } from '../../language/parser';
1110
import { print } from '../../language/printer';
1211

@@ -101,7 +100,7 @@ const testSchemaDefinitions = testSchemaAST.definitions.map(print);
101100
function printTestSchemaChanges(extendedSchema) {
102101
const ast = parse(printSchema(extendedSchema));
103102
return print({
104-
kind: Kind.DOCUMENT,
103+
...ast,
105104
definitions: ast.definitions.filter(
106105
node => !testSchemaDefinitions.includes(print(node)),
107106
),
@@ -333,7 +332,7 @@ describe('extendSchema', () => {
333332
});
334333

335334
it('correctly assign AST nodes to new and extended types', () => {
336-
const extendedSchema = extendTestSchema(`
335+
const firstExtensionAST = parse(`
337336
extend type Query {
338337
newField(testArg: TestInput): TestEnum
339338
}
@@ -362,7 +361,9 @@ describe('extendSchema', () => {
362361
testInputField: TestEnum
363362
}
364363
`);
365-
const ast = parse(`
364+
const extendedSchema = extendSchema(testSchema, firstExtensionAST);
365+
366+
const secondExtensionAST = parse(`
366367
extend type Query {
367368
oneMoreNewField: TestUnion
368369
}
@@ -395,7 +396,10 @@ describe('extendSchema', () => {
395396
396397
directive @test(arg: Int) repeatable on FIELD | SCALAR
397398
`);
398-
const extendedTwiceSchema = extendSchema(extendedSchema, ast);
399+
const extendedTwiceSchema = extendSchema(
400+
extendedSchema,
401+
secondExtensionAST,
402+
);
399403

400404
const query = assertObjectType(extendedTwiceSchema.getType('Query'));
401405
const someEnum = assertEnumType(extendedTwiceSchema.getType('SomeEnum'));
@@ -429,41 +433,30 @@ describe('extendSchema', () => {
429433
expect(testInput).to.include({ extensionASTNodes: undefined });
430434
expect(testInterface).to.include({ extensionASTNodes: undefined });
431435

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+
]);
467460

468461
const newField = query.getFields().newField;
469462
expect(printASTNode(newField)).to.equal(

0 commit comments

Comments
 (0)