diff --git a/packages/apollo-server-express/src/__tests__/ApolloServer.test.ts b/packages/apollo-server-express/src/__tests__/ApolloServer.test.ts index aa3a39baa11..e9db26e4461 100644 --- a/packages/apollo-server-express/src/__tests__/ApolloServer.test.ts +++ b/packages/apollo-server-express/src/__tests__/ApolloServer.test.ts @@ -427,48 +427,47 @@ describe('apollo-server-express', () => { }); }); }); - // NODE: Intentionally skip file upload tests on Node.js 10. - // Also skip Node.js 6, but only because `graphql-upload` + // NODE: Skip Node.js 6, but only because `graphql-upload` // doesn't support it. - (NODE_MAJOR_VERSION === 10 || NODE_MAJOR_VERSION === 6 - ? describe.skip - : describe)('file uploads', () => { - it('enabled uploads', async () => { - const { port } = await createServer({ - typeDefs: gql` - type File { - filename: String! - mimetype: String! - encoding: String! - } + (NODE_MAJOR_VERSION === 6 ? describe.skip : describe)( + 'file uploads', + () => { + it('enabled uploads', async () => { + const { port } = await createServer({ + typeDefs: gql` + type File { + filename: String! + mimetype: String! + encoding: String! + } - type Query { - uploads: [File] - } + type Query { + uploads: [File] + } - type Mutation { - singleUpload(file: Upload!): File! - } - `, - resolvers: { - Query: { - uploads: () => {}, - }, - Mutation: { - singleUpload: async (_, args) => { - expect((await args.file).stream).toBeDefined(); - return args.file; + type Mutation { + singleUpload(file: Upload!): File! + } + `, + resolvers: { + Query: { + uploads: () => {}, + }, + Mutation: { + singleUpload: async (_, args) => { + expect((await args.file).stream).toBeDefined(); + return args.file; + }, }, }, - }, - }); + }); - const body = new FormData(); + const body = new FormData(); - body.append( - 'operations', - JSON.stringify({ - query: ` + body.append( + 'operations', + JSON.stringify({ + query: ` mutation($file: Upload!) { singleUpload(file: $file) { filename @@ -477,35 +476,36 @@ describe('apollo-server-express', () => { } } `, - variables: { - file: null, - }, - }), - ); - - body.append('map', JSON.stringify({ 1: ['variables.file'] })); - body.append('1', fs.createReadStream('package.json')); - - try { - const resolved = await fetch(`http://localhost:${port}/graphql`, { - method: 'POST', - body: body as any, - }); - const text = await resolved.text(); - const response = JSON.parse(text); + variables: { + file: null, + }, + }), + ); - expect(response.data.singleUpload).toEqual({ - filename: 'package.json', - encoding: '7bit', - mimetype: 'application/json', - }); - } catch (error) { - // This error began appearing randomly and seems to be a dev dependency bug. - // https://github.com/jaydenseric/apollo-upload-server/blob/18ecdbc7a1f8b69ad51b4affbd986400033303d4/test.js#L39-L42 - if (error.code !== 'EPIPE') throw error; - } - }); - }); + body.append('map', JSON.stringify({ 1: ['variables.file'] })); + body.append('1', fs.createReadStream('package.json')); + + try { + const resolved = await fetch(`http://localhost:${port}/graphql`, { + method: 'POST', + body: body as any, + }); + const text = await resolved.text(); + const response = JSON.parse(text); + + expect(response.data.singleUpload).toEqual({ + filename: 'package.json', + encoding: '7bit', + mimetype: 'application/json', + }); + } catch (error) { + // This error began appearing randomly and seems to be a dev dependency bug. + // https://github.com/jaydenseric/apollo-upload-server/blob/18ecdbc7a1f8b69ad51b4affbd986400033303d4/test.js#L39-L42 + if (error.code !== 'EPIPE') throw error; + } + }); + }, + ); describe('errors', () => { it('returns thrown context error as a valid graphql result', async () => { diff --git a/packages/apollo-server-koa/src/__tests__/ApolloServer.test.ts b/packages/apollo-server-koa/src/__tests__/ApolloServer.test.ts index 127a6a9f93e..9318be58c96 100644 --- a/packages/apollo-server-koa/src/__tests__/ApolloServer.test.ts +++ b/packages/apollo-server-koa/src/__tests__/ApolloServer.test.ts @@ -323,48 +323,47 @@ describe('apollo-server-koa', () => { }); }); }); - // NODE: Intentionally skip file upload tests on Node.js 10. - // Also skip Node.js 6, but only because `graphql-upload` + // NODE: Skip Node.js 6, but only because `graphql-upload` // doesn't support it anymore. - (NODE_MAJOR_VERSION === 10 || NODE_MAJOR_VERSION === 6 - ? describe.skip - : describe)('file uploads', () => { - it('enabled uploads', async () => { - const { port } = await createServer({ - typeDefs: gql` - type File { - filename: String! - mimetype: String! - encoding: String! - } + (NODE_MAJOR_VERSION === 6 ? describe.skip : describe)( + 'file uploads', + () => { + it('enabled uploads', async () => { + const { port } = await createServer({ + typeDefs: gql` + type File { + filename: String! + mimetype: String! + encoding: String! + } - type Query { - uploads: [File] - } + type Query { + uploads: [File] + } - type Mutation { - singleUpload(file: Upload!): File! - } - `, - resolvers: { - Query: { - uploads: () => {}, - }, - Mutation: { - singleUpload: async (_, args) => { - expect((await args.file).stream).toBeDefined(); - return args.file; + type Mutation { + singleUpload(file: Upload!): File! + } + `, + resolvers: { + Query: { + uploads: () => {}, + }, + Mutation: { + singleUpload: async (_, args) => { + expect((await args.file).stream).toBeDefined(); + return args.file; + }, }, }, - }, - }); + }); - const body = new FormData(); + const body = new FormData(); - body.append( - 'operations', - JSON.stringify({ - query: ` + body.append( + 'operations', + JSON.stringify({ + query: ` mutation($file: Upload!) { singleUpload(file: $file) { filename @@ -373,35 +372,36 @@ describe('apollo-server-koa', () => { } } `, - variables: { - file: null, - }, - }), - ); - - body.append('map', JSON.stringify({ 1: ['variables.file'] })); - body.append('1', fs.createReadStream('package.json')); - - try { - const resolved = await fetch(`http://localhost:${port}/graphql`, { - method: 'POST', - body: body as any, - }); - const text = await resolved.text(); - const response = JSON.parse(text); + variables: { + file: null, + }, + }), + ); - expect(response.data.singleUpload).toEqual({ - filename: 'package.json', - encoding: '7bit', - mimetype: 'application/json', - }); - } catch (error) { - // This error began appearing randomly and seems to be a dev dependency bug. - // https://github.com/jaydenseric/apollo-upload-server/blob/18ecdbc7a1f8b69ad51b4affbd986400033303d4/test.js#L39-L42 - if (error.code !== 'EPIPE') throw error; - } - }); - }); + body.append('map', JSON.stringify({ 1: ['variables.file'] })); + body.append('1', fs.createReadStream('package.json')); + + try { + const resolved = await fetch(`http://localhost:${port}/graphql`, { + method: 'POST', + body: body as any, + }); + const text = await resolved.text(); + const response = JSON.parse(text); + + expect(response.data.singleUpload).toEqual({ + filename: 'package.json', + encoding: '7bit', + mimetype: 'application/json', + }); + } catch (error) { + // This error began appearing randomly and seems to be a dev dependency bug. + // https://github.com/jaydenseric/apollo-upload-server/blob/18ecdbc7a1f8b69ad51b4affbd986400033303d4/test.js#L39-L42 + if (error.code !== 'EPIPE') throw error; + } + }); + }, + ); describe('errors', () => { it('returns thrown context error as a valid graphql result', async () => { diff --git a/packages/apollo-server-micro/src/__tests__/ApolloServer.test.ts b/packages/apollo-server-micro/src/__tests__/ApolloServer.test.ts index 941b7b25a36..89742ae4da1 100644 --- a/packages/apollo-server-micro/src/__tests__/ApolloServer.test.ts +++ b/packages/apollo-server-micro/src/__tests__/ApolloServer.test.ts @@ -149,46 +149,46 @@ describe('apollo-server-micro', function() { // NODE: Intentionally skip file upload tests on Node.js 10. // Also skip Node.js 6, but only because `graphql-upload` // doesn't support it. - (NODE_MAJOR_VERSION === 10 || NODE_MAJOR_VERSION === 6 - ? describe.skip - : describe)('file uploads', function() { - it('should handle file uploads', async function() { - const apolloServer = new ApolloServer({ - typeDefs: gql` - type File { - filename: String! - mimetype: String! - encoding: String! - } - - type Query { - uploads: [File] - } - - type Mutation { - singleUpload(file: Upload!): File! - } - `, - resolvers: { - Query: { - uploads: () => {}, - }, - Mutation: { - singleUpload: async (_, args) => { - expect((await args.file).stream).toBeDefined(); - return args.file; + (NODE_MAJOR_VERSION === 6 ? describe.skip : describe)( + 'file uploads', + function() { + it('should handle file uploads', async function() { + const apolloServer = new ApolloServer({ + typeDefs: gql` + type File { + filename: String! + mimetype: String! + encoding: String! + } + + type Query { + uploads: [File] + } + + type Mutation { + singleUpload(file: Upload!): File! + } + `, + resolvers: { + Query: { + uploads: () => {}, + }, + Mutation: { + singleUpload: async (_, args) => { + expect((await args.file).stream).toBeDefined(); + return args.file; + }, }, }, - }, - }); - const service = micro(apolloServer.createHandler()); - const url = await listen(service); - - const body = new FormData(); - body.append( - 'operations', - JSON.stringify({ - query: ` + }); + const service = micro(apolloServer.createHandler()); + const url = await listen(service); + + const body = new FormData(); + body.append( + 'operations', + JSON.stringify({ + query: ` mutation($file: Upload!) { singleUpload(file: $file) { filename @@ -197,36 +197,37 @@ describe('apollo-server-micro', function() { } } `, - variables: { - file: null, - }, - }), - ); - body.append('map', JSON.stringify({ 1: ['variables.file'] })); - body.append('1', fs.createReadStream('package.json')); - - try { - const resolved = await fetch(`${url}/graphql`, { - method: 'POST', - body: body as any, - }); - const text = await resolved.text(); - const response = JSON.parse(text); + variables: { + file: null, + }, + }), + ); + body.append('map', JSON.stringify({ 1: ['variables.file'] })); + body.append('1', fs.createReadStream('package.json')); - expect(response.data.singleUpload).toEqual({ - filename: 'package.json', - encoding: '7bit', - mimetype: 'application/json', - }); - } catch (error) { - // This error began appearing randomly and seems to be a dev - // dependency bug. - // https://github.com/jaydenseric/apollo-upload-server/blob/18ecdbc7a1f8b69ad51b4affbd986400033303d4/test.js#L39-L42 - if (error.code !== 'EPIPE') throw error; - } + try { + const resolved = await fetch(`${url}/graphql`, { + method: 'POST', + body: body as any, + }); + const text = await resolved.text(); + const response = JSON.parse(text); + + expect(response.data.singleUpload).toEqual({ + filename: 'package.json', + encoding: '7bit', + mimetype: 'application/json', + }); + } catch (error) { + // This error began appearing randomly and seems to be a dev + // dependency bug. + // https://github.com/jaydenseric/apollo-upload-server/blob/18ecdbc7a1f8b69ad51b4affbd986400033303d4/test.js#L39-L42 + if (error.code !== 'EPIPE') throw error; + } - service.close(); - }); - }); + service.close(); + }); + }, + ); }); });