UNPKG

react-relay-network-modern

Version:

Network Layer for React Relay and Express (Batch Queries, AuthToken, Logging, Retry)

31 lines 1.87 kB
import fetchMock from 'fetch-mock'; import RelayNetworkLayer from '../../RelayNetworkLayer'; import { mockReq } from '../../__mocks__/mockReq'; import errorMiddleware from '../error'; describe('middlewares/error', () => { beforeEach(() => { fetchMock.restore(); }); it('should display graphql errors', async () => { fetchMock.mock({ matcher: '/graphql', response: { status: 200, body: { errors: [{ message: 'Wow!', stack: ['Error: Wow!', ' at resolve (/Volumes/npm_ram_disk/build/development/webpack:/src/schema/cabinet/cabinet.js:492:1)', ' at resolveFieldValueOrError (/Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:498:12)', ' at resolveField (/Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:462:16)', ' at /Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:311:18', ' at Array.reduce (<anonymous>)', ' at executeFields (/Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:308:42)', ' at collectAndExecuteSubfields (/Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:746:10)', ' at completeObjectValue (/Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:728:10)', ' at completeValue (/Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:625:12)', ' at /Volumes/npm_ram_disk/node_modules/graphql/execution/execute.js:582:14', ' at <anonymous>', ' at process._tickDomainCallback (internal/process/next_tick.js:228:7)'] }] } }, method: 'POST' }); const logger = jest.fn(); const rnl = new RelayNetworkLayer([errorMiddleware({ logger })]); await mockReq('MyRequest').execute(rnl).catch(() => {}); expect(logger).toHaveBeenCalledTimes(1); expect(logger.mock.calls[0][0]).toMatchSnapshot(); }); });