diff --git a/src/execution/__tests__/lists-test.js b/src/execution/__tests__/lists-test.js index 5e996efbdfd..c5f1b393a09 100644 --- a/src/execution/__tests__/lists-test.js +++ b/src/execution/__tests__/lists-test.js @@ -40,8 +40,8 @@ describe('Execute: Accepts any iterable as list value', () => { }); it('Accepts function arguments as a List value', () => { - function getArgs(...args: Array) { - return args; + function getArgs(..._args: Array) { + return arguments; } const listField = getArgs('one', 'two'); diff --git a/src/utilities/__tests__/astFromValue-test.js b/src/utilities/__tests__/astFromValue-test.js index 81c551441e7..3641f00227e 100644 --- a/src/utilities/__tests__/astFromValue-test.js +++ b/src/utilities/__tests__/astFromValue-test.js @@ -293,6 +293,23 @@ describe('astFromValue', () => { { kind: 'EnumValue', value: 'GOODBYE' }, ], }); + + function* listGenerator() { + yield 1; + yield 2; + yield 3; + } + + expect( + astFromValue(listGenerator(), new GraphQLList(GraphQLInt)), + ).to.deep.equal({ + kind: 'ListValue', + values: [ + { kind: 'IntValue', value: '1' }, + { kind: 'IntValue', value: '2' }, + { kind: 'IntValue', value: '3' }, + ], + }); }); it('converts list singletons', () => { diff --git a/src/utilities/__tests__/coerceInputValue-test.js b/src/utilities/__tests__/coerceInputValue-test.js index 4da5636769c..05f7ca12c2a 100644 --- a/src/utilities/__tests__/coerceInputValue-test.js +++ b/src/utilities/__tests__/coerceInputValue-test.js @@ -303,6 +303,17 @@ describe('coerceInputValue', () => { expectValue(result).to.deep.equal([1, 2, 3]); }); + it('returns no error for a valid iterable input', () => { + function* listGenerator() { + yield 1; + yield 2; + yield 3; + } + + const result = coerceValue(listGenerator(), TestList); + expectValue(result).to.deep.equal([1, 2, 3]); + }); + it('returns an error for an invalid input', () => { const result = coerceValue([1, 'b', true, 4], TestList); expectErrors(result).to.deep.equal([